1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
.global atan2 .type atan2,@function atan2: fldl 4(%esp) fldl 12(%esp) fpatan fstl 4(%esp) mov 8(%esp),%eax add %eax,%eax cmp $0x00200000,%eax jae 1f # subnormal x, return x with underflow fnstsw %ax and $16,%ax jnz 1f fsts 4(%esp) 1: ret