\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\frac{1 + \left(2 - \frac{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}{2 + \left(2 - \frac{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}double f(double t) {
double r1834521 = 1.0;
double r1834522 = 2.0;
double r1834523 = t;
double r1834524 = r1834522 / r1834523;
double r1834525 = r1834521 / r1834523;
double r1834526 = r1834521 + r1834525;
double r1834527 = r1834524 / r1834526;
double r1834528 = r1834522 - r1834527;
double r1834529 = r1834528 * r1834528;
double r1834530 = r1834521 + r1834529;
double r1834531 = r1834522 + r1834529;
double r1834532 = r1834530 / r1834531;
return r1834532;
}
double f(double t) {
double r1834533 = 1.0;
double r1834534 = 2.0;
double r1834535 = t;
double r1834536 = r1834533 + r1834535;
double r1834537 = r1834534 / r1834536;
double r1834538 = r1834534 - r1834537;
double r1834539 = r1834538 * r1834538;
double r1834540 = r1834533 + r1834539;
double r1834541 = r1834534 + r1834539;
double r1834542 = r1834540 / r1834541;
return r1834542;
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019164
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 1 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))) (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t))))))))