Re: I wonder why?
As the late, great Eric Morecambe once said: I'm playing all the right notes, just not necessarily in the right order ...
The following simple technique can be used to address that. Decide how big your program needs to be. If you get that right then the technique is absolutely guaranteed to produce the desired bug-free program.
Allocate a block of memory of the necessary size and initialize it to all zeroes. Then:
1. Execute it as a program. If it does what you want, then job done.
2. Otherwise, treat it as one single very wide multibyte binary number and increment it. (first time round 000...000b->000...001b, second time round 000...001b->000...010b etc)
3. Go to step 1