\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 r42265 = 1.0;
double r42266 = 2.0;
double r42267 = t;
double r42268 = r42266 / r42267;
double r42269 = r42265 / r42267;
double r42270 = r42265 + r42269;
double r42271 = r42268 / r42270;
double r42272 = r42266 - r42271;
double r42273 = r42272 * r42272;
double r42274 = r42265 + r42273;
double r42275 = r42266 + r42273;
double r42276 = r42274 / r42275;
return r42276;
}
double f(double t) {
double r42277 = 1.0;
double r42278 = 2.0;
double r42279 = t;
double r42280 = r42279 * r42277;
double r42281 = r42277 + r42280;
double r42282 = r42278 / r42281;
double r42283 = r42278 - r42282;
double r42284 = r42283 * r42283;
double r42285 = r42277 + r42284;
double r42286 = r42278 + r42284;
double r42287 = r42285 / r42286;
return r42287;
}



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