\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 r1331017 = 1.0;
double r1331018 = 2.0;
double r1331019 = t;
double r1331020 = r1331018 / r1331019;
double r1331021 = r1331017 / r1331019;
double r1331022 = r1331017 + r1331021;
double r1331023 = r1331020 / r1331022;
double r1331024 = r1331018 - r1331023;
double r1331025 = r1331024 * r1331024;
double r1331026 = r1331017 + r1331025;
double r1331027 = r1331018 + r1331025;
double r1331028 = r1331026 / r1331027;
return r1331028;
}
double f(double t) {
double r1331029 = 1.0;
double r1331030 = 2.0;
double r1331031 = t;
double r1331032 = r1331029 + r1331031;
double r1331033 = r1331030 / r1331032;
double r1331034 = r1331030 - r1331033;
double r1331035 = r1331034 * r1331034;
double r1331036 = r1331029 + r1331035;
double r1331037 = r1331030 + r1331035;
double r1331038 = r1331036 / r1331037;
return r1331038;
}



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