\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 r76567 = 1.0;
double r76568 = 2.0;
double r76569 = t;
double r76570 = r76568 / r76569;
double r76571 = r76567 / r76569;
double r76572 = r76567 + r76571;
double r76573 = r76570 / r76572;
double r76574 = r76568 - r76573;
double r76575 = r76574 * r76574;
double r76576 = r76567 + r76575;
double r76577 = r76568 + r76575;
double r76578 = r76576 / r76577;
return r76578;
}
double f(double t) {
double r76579 = 1.0;
double r76580 = 2.0;
double r76581 = t;
double r76582 = r76580 / r76581;
double r76583 = r76579 / r76581;
double r76584 = r76579 + r76583;
double r76585 = r76582 / r76584;
double r76586 = r76580 - r76585;
double r76587 = r76586 * r76586;
double r76588 = r76579 + r76587;
double r76589 = r76580 + r76587;
double r76590 = r76588 / r76589;
return r76590;
}



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