\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 r45446 = 1.0;
double r45447 = 2.0;
double r45448 = t;
double r45449 = r45447 / r45448;
double r45450 = r45446 / r45448;
double r45451 = r45446 + r45450;
double r45452 = r45449 / r45451;
double r45453 = r45447 - r45452;
double r45454 = r45453 * r45453;
double r45455 = r45446 + r45454;
double r45456 = r45447 + r45454;
double r45457 = r45455 / r45456;
return r45457;
}
double f(double t) {
double r45458 = 1.0;
double r45459 = 2.0;
double r45460 = t;
double r45461 = r45459 / r45460;
double r45462 = r45458 / r45460;
double r45463 = r45458 + r45462;
double r45464 = r45461 / r45463;
double r45465 = r45459 - r45464;
double r45466 = r45465 * r45465;
double r45467 = r45458 + r45466;
double r45468 = r45459 + r45466;
double r45469 = r45467 / r45468;
return r45469;
}



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