\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 r34566 = 1.0;
double r34567 = 2.0;
double r34568 = t;
double r34569 = r34567 / r34568;
double r34570 = r34566 / r34568;
double r34571 = r34566 + r34570;
double r34572 = r34569 / r34571;
double r34573 = r34567 - r34572;
double r34574 = r34573 * r34573;
double r34575 = r34566 + r34574;
double r34576 = r34567 + r34574;
double r34577 = r34575 / r34576;
return r34577;
}
double f(double t) {
double r34578 = 1.0;
double r34579 = 2.0;
double r34580 = t;
double r34581 = r34579 / r34580;
double r34582 = r34578 / r34580;
double r34583 = r34578 + r34582;
double r34584 = r34581 / r34583;
double r34585 = r34579 - r34584;
double r34586 = r34585 * r34585;
double r34587 = r34578 + r34586;
double r34588 = r34579 + r34586;
double r34589 = r34587 / r34588;
return r34589;
}



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