Fix dbl-64 atan2 in non-default rounding modes (bug 18210, bug 18211).
[glibc.git] / sysdeps / i386 / fpu / e_acosf.S
blob54930af8b2a66e3df87a0c936dafb8c179fef71a
1 /*
2  * Written by J.T. Conklin <jtc@netbsd.org>.
3  * Public domain.
4  * Adapted for float type by Ulrich Drepper <drepper@cygnus.com>.
5  */
7 #include <machine/asm.h>
9 RCSID("$NetBSD: $")
11 /* acos = atan (sqrt(1 - x^2) / x) */
12 ENTRY(__ieee754_acosf)
13         flds    4(%esp)                 /* x */
14         fld     %st
15         fmul    %st(0)                  /* x^2 */
16         fld1
17         fsubp                           /* 1 - x^2 */
18         fsqrt                           /* sqrt (1 - x^2) */
19         fabs
20         fxch    %st(1)
21         fpatan
22         ret
23 END (__ieee754_acosf)
24 strong_alias (__ieee754_acosf, __acosf_finite)