\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{\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)}double f(double t) {
double r38294 = 1.0;
double r38295 = 2.0;
double r38296 = t;
double r38297 = r38295 / r38296;
double r38298 = r38294 / r38296;
double r38299 = r38294 + r38298;
double r38300 = r38297 / r38299;
double r38301 = r38295 - r38300;
double r38302 = r38301 * r38301;
double r38303 = r38294 + r38302;
double r38304 = r38295 + r38302;
double r38305 = r38303 / r38304;
return r38305;
}
double f(double t) {
double r38306 = 1.0;
double r38307 = 2.0;
double r38308 = t;
double r38309 = r38307 / r38308;
double r38310 = r38306 / r38308;
double r38311 = r38306 + r38310;
double r38312 = r38309 / r38311;
double r38313 = r38307 - r38312;
double r38314 = r38313 * r38313;
double r38315 = r38306 + r38314;
double r38316 = r38307 + r38314;
double r38317 = r38315 / r38316;
return r38317;
}



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