\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 r1393787 = 1.0;
double r1393788 = 2.0;
double r1393789 = t;
double r1393790 = r1393788 / r1393789;
double r1393791 = r1393787 / r1393789;
double r1393792 = r1393787 + r1393791;
double r1393793 = r1393790 / r1393792;
double r1393794 = r1393788 - r1393793;
double r1393795 = r1393794 * r1393794;
double r1393796 = r1393787 + r1393795;
double r1393797 = r1393788 + r1393795;
double r1393798 = r1393796 / r1393797;
return r1393798;
}
double f(double t) {
double r1393799 = 1.0;
double r1393800 = 2.0;
double r1393801 = t;
double r1393802 = r1393799 + r1393801;
double r1393803 = r1393800 / r1393802;
double r1393804 = r1393800 - r1393803;
double r1393805 = r1393804 * r1393804;
double r1393806 = r1393799 + r1393805;
double r1393807 = r1393800 + r1393805;
double r1393808 = r1393806 / r1393807;
return r1393808;
}



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