\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 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right)}{\left(2 - \frac{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right) + 2}double f(double t) {
double r1815532 = 1.0;
double r1815533 = 2.0;
double r1815534 = t;
double r1815535 = r1815533 / r1815534;
double r1815536 = r1815532 / r1815534;
double r1815537 = r1815532 + r1815536;
double r1815538 = r1815535 / r1815537;
double r1815539 = r1815533 - r1815538;
double r1815540 = r1815539 * r1815539;
double r1815541 = r1815532 + r1815540;
double r1815542 = r1815533 + r1815540;
double r1815543 = r1815541 / r1815542;
return r1815543;
}
double f(double t) {
double r1815544 = 1.0;
double r1815545 = 2.0;
double r1815546 = t;
double r1815547 = r1815544 * r1815546;
double r1815548 = r1815547 + r1815544;
double r1815549 = r1815545 / r1815548;
double r1815550 = r1815545 - r1815549;
double r1815551 = r1815550 * r1815550;
double r1815552 = r1815544 + r1815551;
double r1815553 = r1815551 + r1815545;
double r1815554 = r1815552 / r1815553;
return r1815554;
}



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