\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}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}{2 + \left(2 - \frac{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}double f(double t) {
double r1432020 = 1.0;
double r1432021 = 2.0;
double r1432022 = t;
double r1432023 = r1432021 / r1432022;
double r1432024 = r1432020 / r1432022;
double r1432025 = r1432020 + r1432024;
double r1432026 = r1432023 / r1432025;
double r1432027 = r1432021 - r1432026;
double r1432028 = r1432027 * r1432027;
double r1432029 = r1432020 + r1432028;
double r1432030 = r1432021 + r1432028;
double r1432031 = r1432029 / r1432030;
return r1432031;
}
double f(double t) {
double r1432032 = 1.0;
double r1432033 = 2.0;
double r1432034 = t;
double r1432035 = r1432032 + r1432034;
double r1432036 = r1432033 / r1432035;
double r1432037 = r1432033 - r1432036;
double r1432038 = r1432037 * r1432037;
double r1432039 = r1432032 + r1432038;
double r1432040 = r1432033 + r1432038;
double r1432041 = r1432039 / r1432040;
return r1432041;
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019138
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 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))))))))