\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 r71264 = 1.0;
double r71265 = 2.0;
double r71266 = t;
double r71267 = r71265 / r71266;
double r71268 = r71264 / r71266;
double r71269 = r71264 + r71268;
double r71270 = r71267 / r71269;
double r71271 = r71265 - r71270;
double r71272 = r71271 * r71271;
double r71273 = r71264 + r71272;
double r71274 = r71265 + r71272;
double r71275 = r71273 / r71274;
return r71275;
}
double f(double t) {
double r71276 = 1.0;
double r71277 = 2.0;
double r71278 = t;
double r71279 = r71277 / r71278;
double r71280 = r71276 / r71278;
double r71281 = r71276 + r71280;
double r71282 = r71279 / r71281;
double r71283 = r71277 - r71282;
double r71284 = r71283 * r71283;
double r71285 = r71276 + r71284;
double r71286 = r71277 + r71284;
double r71287 = r71285 / r71286;
return r71287;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020033 +o rules:numerics
(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))))))))