\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 \cdot 1}\right) \cdot \left(2 - \frac{2}{1 + t \cdot 1}\right)}{2 + \left(2 - \frac{2}{1 + t \cdot 1}\right) \cdot \left(2 - \frac{2}{1 + t \cdot 1}\right)}double f(double t) {
double r53304 = 1.0;
double r53305 = 2.0;
double r53306 = t;
double r53307 = r53305 / r53306;
double r53308 = r53304 / r53306;
double r53309 = r53304 + r53308;
double r53310 = r53307 / r53309;
double r53311 = r53305 - r53310;
double r53312 = r53311 * r53311;
double r53313 = r53304 + r53312;
double r53314 = r53305 + r53312;
double r53315 = r53313 / r53314;
return r53315;
}
double f(double t) {
double r53316 = 1.0;
double r53317 = 2.0;
double r53318 = t;
double r53319 = r53318 * r53316;
double r53320 = r53316 + r53319;
double r53321 = r53317 / r53320;
double r53322 = r53317 - r53321;
double r53323 = r53322 * r53322;
double r53324 = r53316 + r53323;
double r53325 = r53317 + r53323;
double r53326 = r53324 / r53325;
return r53326;
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019350
(FPCore (t)
:name "Kahan p13 Example 2"
:precision binary64
(/ (+ 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))))))))