\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 r64774 = 1.0;
double r64775 = 2.0;
double r64776 = t;
double r64777 = r64775 / r64776;
double r64778 = r64774 / r64776;
double r64779 = r64774 + r64778;
double r64780 = r64777 / r64779;
double r64781 = r64775 - r64780;
double r64782 = r64781 * r64781;
double r64783 = r64774 + r64782;
double r64784 = r64775 + r64782;
double r64785 = r64783 / r64784;
return r64785;
}
double f(double t) {
double r64786 = 1.0;
double r64787 = 2.0;
double r64788 = t;
double r64789 = r64787 / r64788;
double r64790 = r64786 / r64788;
double r64791 = r64786 + r64790;
double r64792 = r64789 / r64791;
double r64793 = r64787 - r64792;
double r64794 = r64793 * r64793;
double r64795 = r64786 + r64794;
double r64796 = r64787 + r64794;
double r64797 = r64795 / r64796;
return r64797;
}



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