modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/ieee/pr28634.c (about) 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 }