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.  */
       5  double x = -0x1.0p53;
       6  double y = 1;
       7  int
       8  main (void)
       9  {
      10    while (y > 0)
      11      y += x;
      12    if (y != x + 1)
      13      abort ();
      14    exit (0);
      15  }