1# use acos(x) = atan2(fabs(sqrt((1-x)*(1+x))), x)
2
3.global acosf
4.type acosf,@function
5acosf:
6	flds 4(%esp)
7	jmp 1f
8
9.global acosl
10.type acosl,@function
11acosl:
12	fldt 4(%esp)
13	jmp 1f
14
15.global acos
16.type acos,@function
17acos:
18	fldl 4(%esp)
191:	fld %st(0)
20	fld1
21	fsub %st(0),%st(1)
22	fadd %st(2)
23	fmulp
24	fsqrt
25	fabs         # fix sign of zero (matters in downward rounding mode)
26	fxch %st(1)
27	fpatan
28	ret
29