https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70235
--- Comment #17 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- Created attachment 38092 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38092&action=edit Updated patch "hiding" the problem reported in 16 With the attached patch I get -8pf18.2 y= 0.00 -7pf18.2 y= 0.00 -6pf18.2 y= 0.00 -5pf18.2 y= 0.00 -4pf18.2 y= 0.06 -3pf18.2 y= 0.64 -2pf18.2 y= 6.43 ... Note that -5pf18.2 y= 0.00 should be -5pf18.2 y= 0.01 if correctly rounded. Note that the patch includes some cleaning by removing a useless block and moving nzero = d; where it belongs. I agree that digits[1] = '0'; is just a working hack.