fix excess precision in return value of i386 acos[f] and asin[f]
[oweals/musl.git] / src / math / i386 / asin.s
1 .global asin
2 .type asin,@function
3 asin:
4         fldl 4(%esp)
5         mov 8(%esp),%eax
6         add %eax,%eax
7         cmp $0x00200000,%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         fstpl 4(%esp)
17         fldl 4(%esp)
18         ret
19                 # subnormal x, return x with underflow
20 1:      fsts 4(%esp)
21         ret