1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
.global atan2f .type atan2f,@function atan2f: flds 4(%esp) flds 8(%esp) fpatan fsts 4(%esp) mov 4(%esp),%eax add %eax,%eax cmp $0x01000000,%eax jae 1f # subnormal x, return x with underflow fnstsw %ax and $16,%ax jnz 1f fld %st(0) fmul %st(1) fstps 4(%esp) 1: ret