\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 r2159598 = 1.0;
double r2159599 = 2.0;
double r2159600 = t;
double r2159601 = r2159599 / r2159600;
double r2159602 = r2159598 / r2159600;
double r2159603 = r2159598 + r2159602;
double r2159604 = r2159601 / r2159603;
double r2159605 = r2159599 - r2159604;
double r2159606 = r2159605 * r2159605;
double r2159607 = r2159598 + r2159606;
double r2159608 = r2159599 + r2159606;
double r2159609 = r2159607 / r2159608;
return r2159609;
}
double f(double t) {
double r2159610 = 1.0;
double r2159611 = 2.0;
double r2159612 = t;
double r2159613 = r2159610 + r2159612;
double r2159614 = r2159611 / r2159613;
double r2159615 = r2159611 - r2159614;
double r2159616 = r2159615 * r2159615;
double r2159617 = r2159610 + r2159616;
double r2159618 = r2159611 + r2159616;
double r2159619 = r2159617 / r2159618;
return r2159619;
}



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