------- Comment #11 from dominiq at lps dot ens dot fr 2008-03-05 15:29 ------- (In reply to comment #10)
[ibook-dhum] f90/bug% cat nist_827_red_2.f program fm827 double precision avd, bvd, cvd, dvd, dvcorr cvd = 10.0d0 dvd = 6.0d0 dvd = dlog10(cvd) - 2.0d0 / 1 (dexp(dvd) + 1.0d0) avd = dvd - dtanh(3.0d0) if (abs(avd) > 0.5000000000d-09) then print *, "fails" print *, "avd=",avd," should be: ", 0.0_8 print *, dlog10(cvd), dexp(dvd) else print *, "passes" end if end [ibook-dhum] f90/bug% gfc -m64 nist_827_red_2.f [ibook-dhum] f90/bug% a.out fails avd= -1.00000000000000000 should be: 0.0000000000000000 0.0000000000000000 0.99506696128579508 The first real of the last line is dlog10(cvd) with cvd = 10.0d0, so it should be 1.0 and not 0.0. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35285