If anything, it is closer to code golf, the main obfuscation is often a result of all the trickery needed to do something impressive in a small amount of code. Of course, minification techniques are used, like renaming variables to single character and messing with the formatting, but that's the boring part, no one is going to win because of that.
Another aspect is being clever and unique, and abusing the rules is often rewarded... once. LLMs are not good at that. The judges are human, the code needs to a appeal to a human, not just be hard to understand.
They also lack the creativity needed for those entries. Obfuscation is only one part of it. Coming up with the idea is another. Many entries also have special qualities that make them true works of art.
Have you tried it or are you guessing this?
For example:
if (x == 1 || x == 2) { ...
can be transformed into: if (!(2+x*x-3*x)) { ...
An LLM will do this if you explicitly ask it to, but not on its own.[0] https://github.com/ioccc-src/winner/blob/master/2024/macke/p...
if (!(x/2-1)) { ...
EDIT: Oops, confused the original with x==2 || x==3. Instead, we can use !(x-1>>1), which precedence rules parse as !((x-1)>>1).this statement is equivalent to x==2 | x==3.
For example, x=3, 3/2 = 1 then 1-1 = 0 so that !(0) is 1 or true. Also for x=1, 1/2 = 0 then 0-1 = -1 and !(-1) = 0 or false.
I agree with your point in general though about size constraints.
if(x-1<2&&x)...
if((1<<x)&6)...
if(x<3&x)...
if(3%x&&x<3)...
if(!((x-1)*(x-2)))
if(!(x^1|x^2))...
if(!(x*x-3*x+2))Are you sure they still can't do it?
That human art is worth the humanity in the art.
As soon as anything is automated, it's worth nothing.
School ? /s