\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 r54586 = 1.0;
double r54587 = 2.0;
double r54588 = t;
double r54589 = r54587 / r54588;
double r54590 = r54586 / r54588;
double r54591 = r54586 + r54590;
double r54592 = r54589 / r54591;
double r54593 = r54587 - r54592;
double r54594 = r54593 * r54593;
double r54595 = r54586 + r54594;
double r54596 = r54587 + r54594;
double r54597 = r54595 / r54596;
return r54597;
}
double f(double t) {
double r54598 = 1.0;
double r54599 = 2.0;
double r54600 = t;
double r54601 = r54599 / r54600;
double r54602 = r54598 / r54600;
double r54603 = r54598 + r54602;
double r54604 = r54601 / r54603;
double r54605 = r54599 - r54604;
double r54606 = r54605 * r54605;
double r54607 = r54598 + r54606;
double r54608 = r54599 + r54606;
double r54609 = r54607 / r54608;
return r54609;
}



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