\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 r82578 = 1.0;
double r82579 = 2.0;
double r82580 = t;
double r82581 = r82579 / r82580;
double r82582 = r82578 / r82580;
double r82583 = r82578 + r82582;
double r82584 = r82581 / r82583;
double r82585 = r82579 - r82584;
double r82586 = r82585 * r82585;
double r82587 = r82578 + r82586;
double r82588 = r82579 + r82586;
double r82589 = r82587 / r82588;
return r82589;
}
double f(double t) {
double r82590 = 1.0;
double r82591 = 2.0;
double r82592 = t;
double r82593 = r82591 / r82592;
double r82594 = r82590 / r82592;
double r82595 = r82590 + r82594;
double r82596 = r82593 / r82595;
double r82597 = r82591 - r82596;
double r82598 = r82597 * r82597;
double r82599 = r82590 + r82598;
double r82600 = r82591 + r82598;
double r82601 = r82599 / r82600;
return r82601;
}



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