https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116299
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> --- It is not optimized away. There is contraction happening and producing an 2 FMAs (or in this case FMS: fused multiply subtract). Use -ffp-contract=standard or =off if you don't want that. x_double_14 = (const double) x_13(D); _1 = .FMS (x_double_14, 3.4359738369e+10, x_double_14); xhi_double_16 = .FMS (x_double_14, 3.4359738369e+10, _1);