Comment Comment by piadodjanho Weirdly, those two codes behaves differently: $ gcc hn.c -O0 -o hn for (size_t i; i < (1ul<<46); i++) { printf ("%zd\n",i); acc += x; break; } Without break: $ gcc hn.c -O0 -o hn for (size_t i; i < (1ul<<46); i++) { printf ("%zd\n",i); acc += x; } parent piadodjanho 6 years ago