\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 r56842 = 1.0;
double r56843 = 2.0;
double r56844 = t;
double r56845 = r56843 / r56844;
double r56846 = r56842 / r56844;
double r56847 = r56842 + r56846;
double r56848 = r56845 / r56847;
double r56849 = r56843 - r56848;
double r56850 = r56849 * r56849;
double r56851 = r56842 + r56850;
double r56852 = r56843 + r56850;
double r56853 = r56851 / r56852;
return r56853;
}
double f(double t) {
double r56854 = 1.0;
double r56855 = 2.0;
double r56856 = t;
double r56857 = r56855 / r56856;
double r56858 = r56854 / r56856;
double r56859 = r56854 + r56858;
double r56860 = r56857 / r56859;
double r56861 = r56855 - r56860;
double r56862 = r56861 * r56861;
double r56863 = r56854 + r56862;
double r56864 = r56855 + r56862;
double r56865 = r56863 / r56864;
return r56865;
}



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