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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
So it boils down to us optimizing

 d = 1. + eps;
 if (d == 1.)
   return eps;

to return 0. which is of course wrong.

double eps_or_zero (double eps)
{
  double d = 1. + eps;
  if (d == 1.)
    return eps;
  return 0.0;
}

Reply via email to