1/* $OpenBSD: e_acos.S,v 1.4 2016/09/12 19:47:02 guenther Exp $ */ 2/* 3 * Written by J.T. Conklin <jtc@netbsd.org>. 4 * Public domain. 5 */ 6 7#include <machine/asm.h> 8 9/* acos = atan (sqrt(1 - x^2) / x) */ 10ENTRY(acos) 11 fldl 4(%esp) /* x */ 12 fst %st(1) 13 fmul %st(0) /* x^2 */ 14 fld1 15 fsubp /* 1 - x^2 */ 16 fsqrt /* sqrt (1 - x^2) */ 17 fxch %st(1) 18 fpatan 19 ret 20END(acos) 21