\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}{\frac{1}{t} + 1}}{t}\right) \cdot \left(2 - \frac{\frac{2}{\frac{1}{t} + 1}}{t}\right)}{2 + \left(2 - \frac{\frac{2}{\frac{1}{t} + 1}}{t}\right) \cdot \left(2 - \frac{\frac{2}{\frac{1}{t} + 1}}{t}\right)}double f(double t) {
double r34795 = 1.0;
double r34796 = 2.0;
double r34797 = t;
double r34798 = r34796 / r34797;
double r34799 = r34795 / r34797;
double r34800 = r34795 + r34799;
double r34801 = r34798 / r34800;
double r34802 = r34796 - r34801;
double r34803 = r34802 * r34802;
double r34804 = r34795 + r34803;
double r34805 = r34796 + r34803;
double r34806 = r34804 / r34805;
return r34806;
}
double f(double t) {
double r34807 = 1.0;
double r34808 = 2.0;
double r34809 = t;
double r34810 = r34807 / r34809;
double r34811 = r34810 + r34807;
double r34812 = r34808 / r34811;
double r34813 = r34812 / r34809;
double r34814 = r34808 - r34813;
double r34815 = r34814 * r34814;
double r34816 = r34807 + r34815;
double r34817 = r34808 + r34815;
double r34818 = r34816 / r34817;
return r34818;
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019195
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 1.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))) (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t))))))))