fix excess precision in return value of i386 acos[f] and asin[f]
[oweals/musl.git] / src / math / i386 / asinf.s
1 .global asinf
2 .type asinf,@function
3 asinf:
4         flds 4(%esp)
5         mov 4(%esp),%eax
6         add %eax,%eax
7         cmp $0x01000000,%eax
8         jb 1f
9         fld %st(0)
10         fld1
11         fsub %st(0),%st(1)
12         fadd %st(2)
13         fmulp
14         fsqrt
15         fpatan
16         fstps 4(%esp)
17         flds 4(%esp)
18         ret
19                 # subnormal x, return x with underflow
20 1:      fld %st(0)
21         fmul %st(1)
22         fstps 4(%esp)
23         ret