\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{\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)}double f(double t) {
double r46961 = 1.0;
double r46962 = 2.0;
double r46963 = t;
double r46964 = r46962 / r46963;
double r46965 = r46961 / r46963;
double r46966 = r46961 + r46965;
double r46967 = r46964 / r46966;
double r46968 = r46962 - r46967;
double r46969 = r46968 * r46968;
double r46970 = r46961 + r46969;
double r46971 = r46962 + r46969;
double r46972 = r46970 / r46971;
return r46972;
}
double f(double t) {
double r46973 = 1.0;
double r46974 = 2.0;
double r46975 = t;
double r46976 = r46974 / r46975;
double r46977 = r46973 / r46975;
double r46978 = r46973 + r46977;
double r46979 = r46976 / r46978;
double r46980 = r46974 - r46979;
double r46981 = r46980 * r46980;
double r46982 = r46973 + r46981;
double r46983 = r46974 + r46981;
double r46984 = r46982 / r46983;
return r46984;
}



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