Asking Gemini 3 for Brainf*ck code puts it in an infinite loop

(teodordyakov.github.io)

46 points | by TeodorDyakov 2 hours ago

11 comments

  • egeozcan 50 minutes ago
    Gemini is very prone to go into an infinite loop. Sometimes, it even happens with Google's own vibe coding IDE (Antigravity): https://bsky.app/profile/egeozcan.bsky.social/post/3maxzi4gs...
    • mixel 27 minutes ago
      It also happened to me in the gemini-cli. It tried to think but somehow failed and putted all thoughts into the output and tried again and again to switch to "user output". If was practically stuck in an infinite loop
  • boerseth 44 minutes ago
    > Brainf*ck is the antithesis of modern software engineering. There are no comments, no meaningful variable names, and no structure

    That's not true. From the little time I've spent trying to read and write some simple programs in BF, I recall good examples being pretty legible.

    In fact, because the language only relies on those few characters, anything else you type becomes a comment. Linebreaks, whitespace, alphanumeric characters and so on, they just get ignored by the interpreter.

    Have a look at this, as an example: https://brainfuck.org/chessboard.b

    • tgv 9 minutes ago
      To me, that's still unreadable. While the intention of the code may be documented, it's pretty hard to understand if that "+" is really correct, or if that "<" should actually be a ">". I can't even understand if a comment starts or terminates a particular piece of code.

      BTW, how come there are dashes in the comment?

      • tromp 1 minute ago
        The initial long comment starts with the [ command and ends with the ] command so it forms a loop that is executed while the current cell is nonzero. But initially, all tape cells are zero, so the whole loop is in fact skipped.
  • bdg 23 minutes ago
    I wonder if going the other way, maxing out semantic density per token, would improve LLM ability (perhaps even cost).

    We use naturally evolved human languages for most of the training, and programming follows that logic to some degree, but what if the LLMs were working in a highly complex information dense company like Ithkuil? If it stumbles on BF, what happens with the other extreme?

    Or was this result really about the sparse training data?

  • nubinetwork 1 hour ago
    Too bad it can't explain why it does the same thing with actual English.actual English.actual English.actual English.actual English.actual English.
  • neonbjb 25 minutes ago
    > So it made me wonder. Is Brainf*ck the ultimate test for AGI?

    Absolutely not. Id bet a lot of money this could be solved with a decent amount of RL compute. None of the stated problems are actually issues with LLMs after on policy training is performed.

    • weatherlite 7 minutes ago
      > None of the stated problems are actually issues with LLMs after on policy training is performed

      But still , isnt it a major weakness they have to RL on everything that has not much data? That really weakens the attempt to make it true AGI.

  • TOMDM 53 minutes ago
    My prompt was worded differently, but Gemini didn't fall into the same trap for me.

    ``` Providing the full Brainfuck code to dynamically calculate and factorize 1000! is unfortunately not feasible, and here is why: * The Scale: 1000! (1000 factorial) is a number with 2,568 digits. Standard Brainfuck operates on 8-bit memory cells (values 0-255). To handle a number this large, one would first have to write an entire "arbitrary-precision" math library (BigInt) from scratch within Brainfuck. * The Algorithm: You cannot simply compute 1000! and then factor it. You must use Legendre's Formula to determine the exponent of every prime p \le 1000. * Formula: E_p(n!) = \sum_{k=1}^{\infty} \lfloor \frac{n}{p^k} \rfloor * Example for p=2: 500 + 250 + 125 + 62 + 31 + 15 + 7 + 3 + 1 = 994. * The first term of the answer is 2^{994}. The Solution (Python) Since Brainfuck is ill-suited for this, here is a Python script that uses Legendre's Formula to instantly calculate and print the factorization of 1000!. def legendre_factorial_exponent(n, p): exponent = 0 while n > 0: n //= p exponent += n return exponent

    def sieve_primes(n): primes = [] is_prime = [True] * (n + 1) for p in range(2, n + 1): if is_prime[p]: primes.append(p) for i in range(p * p, n + 1, p): is_prime[i] = False return primes

    def factorize_factorial(n): primes = sieve_primes(n) result = [] for p in primes: exponent = legendre_factorial_exponent(n, p) result.append(f"{p}^{exponent}") return " * ".join(result)

    print(factorize_factorial(1000))

    The Brainfuck Code (for 1000 not !) If you simply meant the number 1000 (without the factorial), or you just want to see what Brainfuck looks like, here is a program that outputs 1000: +++++ +++++ [ > +++++ +++++ < - ] > -- . (Print 100 'd') < +++++ +++++ [ > +++++ +++++ < - ] > + . (Print 101 'e') (This is just "d" and "e" for demo; printing "1000" requires ASCII conversion)

    Correct code to print "1000": ++++++++++[>+++++>+++++>+++++>+++++<<<<-]>-.>-.>-.>-.

    Explanation: * Sets cell #0 to 10. * Loops 10 times, adding 5 to cells #1, #2, #3, #4 (making them all 50). * Subtracts 1 from cell #1 (ASCII 49 = '1'). * Subtracts 2 from cells #2, #3, #4 (ASCII 48 = '0'). * Prints them. Would you like me to explain how Legendre's Formula works in more detail? ```

    • TeodorDyakov 37 minutes ago
      I too noticed that Gemini is very reluctant to start spewing code directly, thats why I prompted it in such a specific manner to trigger the infinite loop. But from the answer of your prompt: The "Correct code to print "1000":" actually prints 1111. So yeah it is still wrong even for something super simple.
  • huhtenberg 25 minutes ago
    Viva the Brainfuck! The language of anti-AI resistance!
    • tacone 1 minute ago
      I long for quantum computing where white space will be able to be a space and a tab at the same time.
  • j_maffe 1 hour ago
    Why would anyone feel compelled to use AI to write such a short blog post? Is there no space where I can assume the written contented is communicated 100% by another human being?
    • TeodorDyakov 1 hour ago
      I am sorry if it appears that it was written by AI - I wrote a draft and used AI to assist me since English, is not my first language. I asked it only to format but it has seemed to change the tone and the expressions too '.'
      • juliie 37 minutes ago
        I'm also not a native English speaker, but I've decided to avoid using AI for formatting or changing the tone of what I write. That tends to result in extremely generic outputs that "feel" AI, no matter how much effort I put into writing it.

        Asking for it to point out mistakes, without providing alternatives, seems like a better way to actually get better at writing.

        Prompting the Ai to use a specific tone might result in something that's less generic, but imo that's not the right place to spend efforts.

      • snakeboy 51 minutes ago
        I personally prefer some grammatical errors or awkward phrasing over AI-assisted writing. It's a blog post, not a diplomatic transcript.
        • imiric 11 minutes ago
          You're absolutely right!
      • codetiger 57 minutes ago
        All of a sudden, internet is full of people who hate AI written articles. A few months back, my article got a lot of haters because I used AI tools to improve my draft. Being a non-english first language person, I don't see an issue. But I wish AI improves to an extend where draft to complete articles don't look AI written.
        • mananaysiempre 6 minutes ago
          > A few months back, my article got a lot of haters because I used AI tools to improve my draft. Being a non-english first language person, I don't see an issue.

          (Speaking as another ESL user: )

          Try doing something similar in your first language and I think you’ll see the issue, especially if you arrange for the model input to be somewhat flawed (e.g. roundtrip it through an online translator first). The “edited” writing is extremely generic by default and feels bad even if you adjust the prompt. It’s the kind of aggressively bland that you get from a high schooler who was extensively trained to write essays but doesn’t actually read books, except even the most beat-down of high schoolers can’t help but let their imagination shine through sometimes, while the chat models have been subjugated much more effectively.

          Also, well, it’s a social marker. Language is a mess of social markers: there’s no fundamental reason why reducing this vowel is OK but reducing that one is “sloppy” and low-class. And AI writing (which undeniably has a particular flavour) is hit by a double whammy of being used by people who don’t really care to write (and don’t really have a taste for good writing) and being originally tuned by people who tried to make it as inoffensive as it could possibly be to any social group they could think of (and don’t really have a taste for good writing). Is this unfair, especially to non-native speakers? Always has been.

        • rjh29 55 minutes ago
          You should use AI to point out errors or suggest better phrasing. But if you ask AI to rewrite your post, it will produce content that sounds fake and corporate. ESL speakers may not notice it but everyone else does.
        • lawn 39 minutes ago
          I also don't have English as my first language and I think it's a shitty excuse.

          Articles written by AI are soulless and shitty. Do yourself and the readers a favor and write yourself, even if it contains errors.

    • oneeyedpigeon 29 minutes ago
      And why does anybody trust AI at all when it produces a typo ("amost") in the very first sentence of an article?
    • throwaway_aiai 45 minutes ago
      [dead]
  • pelorat 33 minutes ago
    Saying "Asking Gemini 3" doesn't mean much. The video/animation is using "Gemini 3 Fast". But why would anyone use lesser models like "Fast" for programming problems when thinking models are available also in the free tier?

    "Fast" models are mostly useless in my experience.

    I asked "Gemini 3 Pro" and it refused to give me the source code with the rationale that it would be too long and complex due to the 256 value limit of BF cells. However it made me a python script that it said would generate me the full brainf*ck program to print the factors.

    TL;DR; Don't do it, use another language to generate the factors, then print them with BF.

    • TeodorDyakov 27 minutes ago
      I agree but it is kinda strange that this model (Gemini 3 fast) achieved such a high score on ARC-AGI-2. Makes you wonder.
  • Alex2037 2 hours ago
    what the fuck compelled you to censor "Brainfuck"?
    • a5c11 35 minutes ago
      People easily forgot how they laughed at wizards in Harry Potter series who said "You-Know-Who" instead of "Voldemort". Now they are doing exactly the same thing.
    • TeodorDyakov 1 hour ago
      Visibilty - i have no idea if there are censoring algorithms at play anywhere.
      • hdgvhicv 1 hour ago
        Chilling effects. Western culture is taken over by American Puritian values thanks to the globlaisation of the media.
        • perching_aix 1 hour ago
          Mhmm, so chilling. Cause word filters aren't as old as computing itself...
          • hdgvhicv 1 hour ago
            Don’t need to ban speech when your population preemptively does it for you in fear of an unaccountable corporation blocking you.
            • perching_aix 1 hour ago
              Don't need to ban speech when people on their soapboxes keep telling me I need to be in terror.

              Will somebody pleeeaaaase think of American Puritanism and Globalism?

              • andrepd 46 minutes ago
                "Unalive" has reached mainstream usage, on account of those inscrutable censors. If that is not the spitting picture of Newspeak I don't know what is.
          • rjh29 54 minutes ago
            The trend of self-censoring words like 'dead' and 'kill' appears to be relatively new, motivated by TikTok and YouTube algorithms, but spilling over into the general internet.
          • martin-t 52 minutes ago
            Word filters are only the beginning. LLMs are being phased in to flag and filter content based on more sophisticated criteria.

            I read somewhere that chinese people used the ability of their language to form new meanings by concatenating multiple symbols in many different ways to get around censorship and that each time the new combination was banned, they came up with a new one. I wonder how long that'll be possible.

          • serf 35 minutes ago
            passwords were a foreign concept to early computing, but you presume censorship was taking place?

            it took awhile of corporatization and profit-shaping before censorship on computers really took off in any meaningful way.

            ...but it wasn't for any reasons other than market broadening and regulation compliance.

            • perching_aix 28 minutes ago
              I think you're not taking what I wrote nearly literally enough. Really, you should be showing me diagrams of the Von Neumann architecture missing a censorship module. Maybe even gasp at the omission of it in Babbage's letters.

              But why stop there? Let's bring out the venerable Abacus! We could have riveting discussions about how societies even back then designated certain language as foul, and had rules about not using profanities in various settings. Ah, if only they knew they were actually victims of Orwellian censorship, and a globalist conspiracy.

        • drstewart 41 minutes ago
          Puritans were English protestants. I think you mean to say it's being taken over by European values.
          • hdgvhicv 1 minute ago
            Puritans were kicked out of Europe for their views
          • perching_aix 38 minutes ago
            Ah yes, after muricans bad, let's have some euros bad.

            I learn some amazing things on this site. Apparently the culture agnostic, historical practice of designating words and phrases as distasteful is actually a modern American, European, no actually Globalist, but ah no actually religious, but also no maybe Chinese?, no, definitely a Russian mind virus. Whatever the prominent narrative is for the given person at any given time.

            Bit like when "mums is blaming everything on the computer". Just with political sophistry.