.section .rodata
.LC0:
.string "%d\n"
.text
.globl main
.type main, @function
main:
pushl %ebp
movl %esp, %ebp
andl $-16, %esp
subl $32, %esp
movl $0, 28(%esp)
movl $0, 24(%esp)
jmp .L2
.L5:
movl 24(%esp), %ecx
movl $1431655766, %edx
movl %ecx, %eax
imull %edx
movl %ecx, %eax
sarl $31, %eax
subl %eax, %edx
movl %edx, %eax
addl %eax, %eax
addl %edx, %eax
movl %ecx, %edx
subl %eax, %edx
testl %edx, %edx
je .L3
movl 24(%esp), %ecx
movl $1717986919, %edx
movl %ecx, %eax
imull %edx
sarl %edx
movl %ecx, %eax
sarl $31, %eax
subl %eax, %edx
movl %edx, %eax
sall $2, %eax
addl %edx, %eax
movl %ecx, %edx
subl %eax, %edx
testl %edx, %edx
jne .L4
.L3:
movl 24(%esp), %eax
addl %eax, 28(%esp)
.L4:
addl $1, 24(%esp)
.L2:
cmpl $1000, 24(%esp)
jle .L5
movl $.LC0, %eax
movl 28(%esp), %edx
movl %edx, 4(%esp)
movl %eax, (%esp)
call printf
movl $0, %eax
leave
ret