We leave aside for the moment the fact that it is spending 12 instructions and 45 bytes to accomplish what otherwise takes 3 instructions and 9 bytes. The point is that it's compatible with the C ABI, runs without the CPU crashing with bus errors, and it even produces the correct answers. As a further bonus beyond correct answers, gdb appears to know what to do with it.