fix excess precision in return value of i386 acos[f] and asin[f]
[musl] / src / math / i386 / acosf.s
index 6c95509..d2cdfdb 100644 (file)
@@ -1 +1,16 @@
-# see acos.s
+.global acosf
+.type acosf,@function
+acosf:
+       flds 4(%esp)
+       fld %st(0)
+       fld1
+       fsub %st(0),%st(1)
+       fadd %st(2)
+       fmulp
+       fsqrt
+       fabs         # fix sign of zero (matters in downward rounding mode)
+       fxch %st(1)
+       fpatan
+       fstps 4(%esp)
+       flds 4(%esp)
+       ret