https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82004

Wilco <wilco at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wilco at gcc dot gnu.org

--- Comment #10 from Wilco <wilco at gcc dot gnu.org> ---
Using latest GLIBC, exp(log(10),-3) is only 3ULP different from 0.001. Since
(double)0.001 is rounded up, any <1ULP POW implementation could round down and
fail the test. So yes the first element in chlcnc really needs to be fixed to
0.00099999999999999 to allow for a few ULP of error in POW.

> As a last resort we can always choose to not touch 10**x

Unfortunately almost all useful cases are 10**x... So it would be great if we
can allow use of exp10 and exp2 to get more accurate results. This requires a
real implementation in GLIBC, and a way to disable it. Would it be feasible to
add a exp10 symbol to libgcc/libgfortran in case the math libraries don't
support it?

Reply via email to