diff options
author | Szabolcs Nagy <nsz@port70.net> | 2012-12-14 18:29:56 +0100 |
---|---|---|
committer | Szabolcs Nagy <nsz@port70.net> | 2012-12-14 18:29:56 +0100 |
commit | a8f73bb1a685dd7d67669c6f6ceb255cfa967790 (patch) | |
tree | 6b6a17fee9e78b45247971b839d9ea9566765005 /src/complex/cabs.c | |
parent | 934609442339edb21a33532ccefac8b78e6305f2 (diff) | |
download | musl-a8f73bb1a685dd7d67669c6f6ceb255cfa967790.tar.gz |
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/complex/cabs.c')
0 files changed, 0 insertions, 0 deletions