math: fix x86 asin, atan, exp, log1p to raise underflow
[musl] / src / math / i386 / atanf.s
1 .global atanf
2 .type atanf,@function
3 atanf:
4         flds 4(%esp)
5         mov 4(%esp),%eax
6         add %eax,%eax
7         cmp $0x01000000,%eax
8         jb 1f
9         fld1
10         fpatan
11         ret
12                 # subnormal x, return x with underflow
13 1:      fnstsw %ax
14         and $16,%ax
15         jnz 2f
16         fld %st(0)
17         fmul %st(1)
18         fstps 4(%esp)
19 2:      ret