\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{2}{1 + t \cdot 1}\right) \cdot \left(2 - \frac{2}{1 + t \cdot 1}\right)}{2 + \left(2 - \frac{2}{1 + t \cdot 1}\right) \cdot \left(2 - \frac{2}{1 + t \cdot 1}\right)}double f(double t) {
double r28832 = 1.0;
double r28833 = 2.0;
double r28834 = t;
double r28835 = r28833 / r28834;
double r28836 = r28832 / r28834;
double r28837 = r28832 + r28836;
double r28838 = r28835 / r28837;
double r28839 = r28833 - r28838;
double r28840 = r28839 * r28839;
double r28841 = r28832 + r28840;
double r28842 = r28833 + r28840;
double r28843 = r28841 / r28842;
return r28843;
}
double f(double t) {
double r28844 = 1.0;
double r28845 = 2.0;
double r28846 = t;
double r28847 = r28846 * r28844;
double r28848 = r28844 + r28847;
double r28849 = r28845 / r28848;
double r28850 = r28845 - r28849;
double r28851 = r28850 * r28850;
double r28852 = r28844 + r28851;
double r28853 = r28845 + r28851;
double r28854 = r28852 / r28853;
return r28854;
}



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