\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(\frac{-2}{1 + t} - -2\right) \cdot \left(\frac{-2}{1 + t} - -2\right)}{\left(\frac{-2}{1 + t} - -2\right) \cdot \left(\frac{-2}{1 + t} - -2\right) - -2}double f(double t) {
double r1043959 = 1.0;
double r1043960 = 2.0;
double r1043961 = t;
double r1043962 = r1043960 / r1043961;
double r1043963 = r1043959 / r1043961;
double r1043964 = r1043959 + r1043963;
double r1043965 = r1043962 / r1043964;
double r1043966 = r1043960 - r1043965;
double r1043967 = r1043966 * r1043966;
double r1043968 = r1043959 + r1043967;
double r1043969 = r1043960 + r1043967;
double r1043970 = r1043968 / r1043969;
return r1043970;
}
double f(double t) {
double r1043971 = 1.0;
double r1043972 = -2.0;
double r1043973 = t;
double r1043974 = r1043971 + r1043973;
double r1043975 = r1043972 / r1043974;
double r1043976 = r1043975 - r1043972;
double r1043977 = r1043976 * r1043976;
double r1043978 = r1043971 + r1043977;
double r1043979 = r1043977 - r1043972;
double r1043980 = r1043978 / r1043979;
return r1043980;
}



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