\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 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right)}{\left(2 - \frac{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right) + 2}double f(double t) {
double r2085041 = 1.0;
double r2085042 = 2.0;
double r2085043 = t;
double r2085044 = r2085042 / r2085043;
double r2085045 = r2085041 / r2085043;
double r2085046 = r2085041 + r2085045;
double r2085047 = r2085044 / r2085046;
double r2085048 = r2085042 - r2085047;
double r2085049 = r2085048 * r2085048;
double r2085050 = r2085041 + r2085049;
double r2085051 = r2085042 + r2085049;
double r2085052 = r2085050 / r2085051;
return r2085052;
}
double f(double t) {
double r2085053 = 1.0;
double r2085054 = 2.0;
double r2085055 = t;
double r2085056 = r2085053 * r2085055;
double r2085057 = r2085056 + r2085053;
double r2085058 = r2085054 / r2085057;
double r2085059 = r2085054 - r2085058;
double r2085060 = r2085059 * r2085059;
double r2085061 = r2085053 + r2085060;
double r2085062 = r2085060 + r2085054;
double r2085063 = r2085061 / r2085062;
return r2085063;
}



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