\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 r1021376 = 1.0;
double r1021377 = 2.0;
double r1021378 = t;
double r1021379 = r1021377 / r1021378;
double r1021380 = r1021376 / r1021378;
double r1021381 = r1021376 + r1021380;
double r1021382 = r1021379 / r1021381;
double r1021383 = r1021377 - r1021382;
double r1021384 = r1021383 * r1021383;
double r1021385 = r1021376 + r1021384;
double r1021386 = r1021377 + r1021384;
double r1021387 = r1021385 / r1021386;
return r1021387;
}
double f(double t) {
double r1021388 = 1.0;
double r1021389 = 2.0;
double r1021390 = t;
double r1021391 = r1021388 + r1021390;
double r1021392 = r1021389 / r1021391;
double r1021393 = r1021389 - r1021392;
double r1021394 = r1021393 * r1021393;
double r1021395 = r1021388 + r1021394;
double r1021396 = r1021389 + r1021394;
double r1021397 = r1021395 / r1021396;
return r1021397;
}



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