\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 r1810582 = 1.0;
double r1810583 = 2.0;
double r1810584 = t;
double r1810585 = r1810583 / r1810584;
double r1810586 = r1810582 / r1810584;
double r1810587 = r1810582 + r1810586;
double r1810588 = r1810585 / r1810587;
double r1810589 = r1810583 - r1810588;
double r1810590 = r1810589 * r1810589;
double r1810591 = r1810582 + r1810590;
double r1810592 = r1810583 + r1810590;
double r1810593 = r1810591 / r1810592;
return r1810593;
}
double f(double t) {
double r1810594 = 1.0;
double r1810595 = 2.0;
double r1810596 = t;
double r1810597 = r1810594 + r1810596;
double r1810598 = r1810595 / r1810597;
double r1810599 = r1810595 - r1810598;
double r1810600 = r1810599 * r1810599;
double r1810601 = r1810594 + r1810600;
double r1810602 = r1810595 + r1810600;
double r1810603 = r1810601 / r1810602;
return r1810603;
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019151
(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))))))))