\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 r26295 = 1.0;
double r26296 = 2.0;
double r26297 = t;
double r26298 = r26296 / r26297;
double r26299 = r26295 / r26297;
double r26300 = r26295 + r26299;
double r26301 = r26298 / r26300;
double r26302 = r26296 - r26301;
double r26303 = r26302 * r26302;
double r26304 = r26295 + r26303;
double r26305 = r26296 + r26303;
double r26306 = r26304 / r26305;
return r26306;
}
double f(double t) {
double r26307 = 1.0;
double r26308 = 2.0;
double r26309 = t;
double r26310 = r26309 * r26307;
double r26311 = r26307 + r26310;
double r26312 = r26308 / r26311;
double r26313 = r26308 - r26312;
double r26314 = r26313 * r26313;
double r26315 = r26307 + r26314;
double r26316 = r26308 + r26314;
double r26317 = r26315 / r26316;
return r26317;
}



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