.file "rkw.c" .intel_syntax .section .rodata .LC0: .string "%lf" .LC3: .string "%1d\n" .LC4: .string "%1.16e\n" .align 8 .LC2: .long 0 .long 1074790400 .text .globl main .type main,@function main: push %ebp mov %ebp, %esp sub %esp, 88 and %esp, -16 mov %eax, 0 sub %esp, %eax lea %eax, [%ebp-8] mov DWORD PTR [%esp+4], %eax mov DWORD PTR [%esp], OFFSET FLAT:.LC0 call scanf lea %eax, [%ebp-16] mov DWORD PTR [%esp+4], %eax mov DWORD PTR [%esp], OFFSET FLAT:.LC0 call scanf lea %eax, [%ebp-24] mov DWORD PTR [%esp+4], %eax mov DWORD PTR [%esp], OFFSET FLAT:.LC0 call scanf fld QWORD PTR [%ebp-8] fldz fxch %st(1) fucompp fnstsw %ax sahf jne .L3 jp .L3 jmp .L2 .L3: fld QWORD PTR [%ebp-16] fmul QWORD PTR [%ebp-16] fld QWORD PTR [%ebp-8] fld QWORD PTR .LC2 fmulp %st(1), %st fmul QWORD PTR [%ebp-24] fsubp %st(1), %st fstp QWORD PTR [%ebp-56] fld QWORD PTR [%ebp-56] fldz fxch %st(1) fucompp fnstsw %ax sahf jae .L5 jmp .L4 .L5: mov %eax, DWORD PTR [%ebp-56] mov %edx, DWORD PTR [%ebp-52] mov DWORD PTR [%esp], %eax mov DWORD PTR [%esp+4], %edx call sqrt fstp QWORD PTR [%ebp-56] mov DWORD PTR [%ebp-44], 2 fld QWORD PTR [%ebp-56] fsub QWORD PTR [%ebp-16] fld QWORD PTR [%ebp-8] fadd %st, %st(0) fdivp %st(1), %st fstp QWORD PTR [%ebp-32] mov %eax, DWORD PTR [%ebp-16] mov %edx, DWORD PTR [%ebp-12] mov DWORD PTR [%ebp-64], %eax mov DWORD PTR [%ebp-60], %edx fld QWORD PTR [%ebp-64] fchs fsub QWORD PTR [%ebp-56] fld QWORD PTR [%ebp-8] fadd %st, %st(0) fdivp %st(1), %st fstp QWORD PTR [%ebp-40] jmp .L7 .L4: mov DWORD PTR [%ebp-44], 0 jmp .L7 .L2: fld QWORD PTR [%ebp-16] fldz fxch %st(1) fucompp fnstsw %ax sahf jne .L9 jp .L9 jmp .L8 .L9: mov DWORD PTR [%ebp-44], 1 mov %eax, DWORD PTR [%ebp-24] mov %edx, DWORD PTR [%ebp-20] mov DWORD PTR [%ebp-64], %eax mov DWORD PTR [%ebp-60], %edx fld QWORD PTR [%ebp-64] fchs fdiv QWORD PTR [%ebp-16] fstp QWORD PTR [%ebp-32] jmp .L7 .L8: fld QWORD PTR [%ebp-24] fldz fxch %st(1) fucompp fnstsw %ax sahf jne .L12 jp .L12 jmp .L11 .L12: mov DWORD PTR [%ebp-44], 0 jmp .L7 .L11: mov DWORD PTR [%ebp-44], -1 .L7: mov %eax, DWORD PTR [%ebp-44] mov DWORD PTR [%esp+4], %eax mov DWORD PTR [%esp], OFFSET FLAT:.LC3 call printf cmp DWORD PTR [%ebp-44], 0 jle .L14 mov %eax, DWORD PTR [%ebp-32] mov %edx, DWORD PTR [%ebp-28] mov DWORD PTR [%esp+4], %eax mov DWORD PTR [%esp+8], %edx mov DWORD PTR [%esp], OFFSET FLAT:.LC4 call printf cmp DWORD PTR [%ebp-44], 1 jle .L14 mov %eax, DWORD PTR [%ebp-40] mov %edx, DWORD PTR [%ebp-36] mov DWORD PTR [%esp+4], %eax mov DWORD PTR [%esp+8], %edx mov DWORD PTR [%esp], OFFSET FLAT:.LC4 call printf .L14: mov %eax, 0 leave ret .Lfe1: .size main,.Lfe1-main .ident "GCC: (GNU) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)"