about summary refs log tree commit diff
path: root/src/math/i386/exp.s
diff options
context:
space:
mode:
authorSzabolcs Nagy <nsz@port70.net>2012-12-14 18:29:56 +0100
committerSzabolcs Nagy <nsz@port70.net>2012-12-14 18:29:56 +0100
commita8f73bb1a685dd7d67669c6f6ceb255cfa967790 (patch)
tree6b6a17fee9e78b45247971b839d9ea9566765005 /src/math/i386/exp.s
parent934609442339edb21a33532ccefac8b78e6305f2 (diff)
downloadmusl-a8f73bb1a685dd7d67669c6f6ceb255cfa967790.tar.gz
musl-a8f73bb1a685dd7d67669c6f6ceb255cfa967790.tar.xz
musl-a8f73bb1a685dd7d67669c6f6ceb255cfa967790.zip
math: fix i386/expl.s with more precise x*log2e
with naive exp2l(x*log2e) the last 12bits of the result was incorrect
for x with large absolute value

with hi + lo = x*log2e is caluclated to 128 bits precision and then
  expl(x) = exp2l(hi) + exp2l(hi) * f2xm1(lo)
this gives <1.5ulp measured error everywhere in nearest rounding mode
Diffstat (limited to 'src/math/i386/exp.s')
-rw-r--r--src/math/i386/exp.s6
1 files changed, 0 insertions, 6 deletions
diff --git a/src/math/i386/exp.s b/src/math/i386/exp.s
index c7f5ad0f..e3b42af5 100644
--- a/src/math/i386/exp.s
+++ b/src/math/i386/exp.s
@@ -50,12 +50,6 @@ expf:
 	flds 4(%esp)
 	jmp 2f
 
-.global expl
-.type expl,@function
-expl:
-	fldt 4(%esp)
-	jmp 2f
-
 .global exp
 .type exp,@function
 exp: