1/*
2 * Public domain.
3 */
4
5#include <machine/asm.h>
6#include <libm-alias-finite.h>
7
8RCSID("$NetBSD: $")
9
10/* acos = atan (sqrt(1 - x^2) / x) */
11ENTRY(__ieee754_acosf)
12 flds 4(%esp) /* x */
13 fld %st
14 fmul %st(0) /* x^2 */
15 fld1
16 fsubp /* 1 - x^2 */
17 fsqrt /* sqrt (1 - x^2) */
18 fabs
19 fxch %st(1)
20 fpatan
21 ret
22END (__ieee754_acosf)
23libm_alias_finite (__ieee754_acosf, __acosf)
24

source code of glibc/sysdeps/i386/fpu/e_acosf.S