about summary refs log tree commit diff
path: root/src/math/i386/expm1f.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/expm1f.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/expm1f.s')
0 files changed, 0 insertions, 0 deletions