\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 r37303 = 1.0;
double r37304 = 2.0;
double r37305 = t;
double r37306 = r37304 / r37305;
double r37307 = r37303 / r37305;
double r37308 = r37303 + r37307;
double r37309 = r37306 / r37308;
double r37310 = r37304 - r37309;
double r37311 = r37310 * r37310;
double r37312 = r37303 + r37311;
double r37313 = r37304 + r37311;
double r37314 = r37312 / r37313;
return r37314;
}
double f(double t) {
double r37315 = 1.0;
double r37316 = 2.0;
double r37317 = t;
double r37318 = r37316 / r37317;
double r37319 = r37315 / r37317;
double r37320 = r37315 + r37319;
double r37321 = r37318 / r37320;
double r37322 = r37316 - r37321;
double r37323 = r37322 * r37322;
double r37324 = r37315 + r37323;
double r37325 = r37316 + r37323;
double r37326 = r37324 / r37325;
return r37326;
}



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