What toe_cutter says is correct.
Are you talking about the Assembly code for it ??
Where essentialy it is using two instructions more than nessessary ??
ie:
Code:
main:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
andl $-16, %esp
movl $0, %eax
subl %eax, %esp
leal -4(%ebp), %eax
movl %eax, 4(%esp)
movl $.LC0, (%esp)
call scanf
movl $0, %eax
leave
ret
As oppose to:
Code:
main:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
andl $-16, %esp
leal -4(%ebp), %edx
movl %edx, 4(%esp)
movl $.LC0, (%esp)
call scanf
movl %ebp, %esp
xorl %eax, %eax
popl %ebp
ret
Because, then it's just a matter of compiler optimization..
Else you can write your own compiler, if you'd think it can be done even smarter.