diff options
Diffstat (limited to 'libc-top-half/musl/src/math/i386/acos.s')
-rw-r--r-- | libc-top-half/musl/src/math/i386/acos.s | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libc-top-half/musl/src/math/i386/acos.s b/libc-top-half/musl/src/math/i386/acos.s new file mode 100644 index 0000000..af423a2 --- /dev/null +++ b/libc-top-half/musl/src/math/i386/acos.s @@ -0,0 +1,18 @@ +# use acos(x) = atan2(fabs(sqrt((1-x)*(1+x))), x) + +.global acos +.type acos,@function +acos: + fldl 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 + fstpl 4(%esp) + fldl 4(%esp) + ret |