diff options
| author | Rich Felker <dalias@aerifal.cx> | 2012-03-19 23:08:49 -0400 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2012-03-19 23:08:49 -0400 | 
| commit | 804fbf0b8c00fd4e2f37ef0769a610614d06138f (patch) | |
| tree | b2179b38c3588def9b27c5fcd3c650043af15b3d | |
| parent | 97721a5508415a2f10eb068e022093811c9ff8be (diff) | |
| download | musl-804fbf0b8c00fd4e2f37ef0769a610614d06138f.tar.gz | |
use alternate formula for acos asm to avoid loss of precision
| -rw-r--r-- | src/math/i386/acos.s | 14 | 
1 files changed, 11 insertions, 3 deletions
| diff --git a/src/math/i386/acos.s b/src/math/i386/acos.s index 6f9ef7f0..4f0168f6 100644 --- a/src/math/i386/acos.s +++ b/src/math/i386/acos.s @@ -14,11 +14,19 @@ acosl:  .type acos,@function  acos:  	fldl 4(%esp) -1:	fld %st(0) -	fmul %st(0) +1:	fld1 +	fld %st(1)  	fld1 -	fsubp %st(1) +	fsubp +	fxch %st(2) +	faddp +	fdivp  	fsqrt +	fld1  	fxch %st(1)  	fpatan +	fld1 +	fld1 +	faddp +	fmulp  	ret | 
