https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82004
--- Comment #17 from Wilco <wilco at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #15)
> Created attachment 43464 [details]
> gcc8-pr82004.patch
>
> Thus, does this fix the miscompare? I'll bootstrap/regtest it on
> x86_64-linux and i686-linux, but don't have SPEC2k17 around.
It can't since the pow is in a loop:
do n=0,nsub
logchl = logchl + dlogchl
chlamnt = 10**(logchl)
As noted above the code is very badly written, it expects pow(10,log10(x)) to
be bit-identical for any x. Even perfect rounding cannot avoid 0.5ULP
worst-case error.