1/* PR rtl-optimization/28634.  On targets with delayed branches,
2   dbr_schedule could do the next iteration's addition in the
3   branch delay slot, then subtract the value again if the branch
4   wasn't taken.  This can lead to rounding errors.  */
5double x = -0x1.0p53;
6double y = 1;
7int
8main (void)
9{
10  while (y > 0)
11    y += x;
12  if (y != x + 1)
13    abort ();
14  exit (0);
15}
16