math: fix i386/expl.s with more precise x*log2e
authorSzabolcs Nagy <nsz@port70.net>
Fri, 14 Dec 2012 17:29:56 +0000 (18:29 +0100)
committerSzabolcs Nagy <nsz@port70.net>
Fri, 14 Dec 2012 17:29:56 +0000 (18:29 +0100)
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


No differences found