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
> 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.
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?
> 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.
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?
```
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.
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?
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 '.'
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.
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.
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.
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.
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.
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.
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.
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.
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.
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...
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
> 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
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?
> 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.
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.
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? ```
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.
Viva the Brainfuck! The language of anti-AI resistance!
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?
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 '.'
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.
I personally prefer some grammatical errors or awkward phrasing over AI-assisted writing. It's a blog post, not a diplomatic transcript.
You're absolutely right!
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.
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.
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.
And why does anybody trust AI at all when it produces a typo ("amost") in the very first sentence of an article?
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.
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.
what the fuck compelled you to censor "Brainfuck"?
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.
Visibilty - i have no idea if there are censoring algorithms at play anywhere.
Chilling effects. Western culture is taken over by American Puritian values thanks to the globlaisation of the media.
Mhmm, so chilling. Cause word filters aren't as old as computing itself...
Don’t need to ban speech when your population preemptively does it for you in fear of an unaccountable corporation blocking you.
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?
"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.
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.
Correlation is not causation but I challenge anyone to come up with a different cause:
https://trends.google.com/trends/explore?date=all&q=tiktok,u...
https://trends.google.com/trends/explore?date=all&q=unalive&...
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.
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.
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.
Puritans were English protestants. I think you mean to say it's being taken over by European values.
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.