\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 r39958 = 1.0;
double r39959 = 2.0;
double r39960 = t;
double r39961 = r39959 / r39960;
double r39962 = r39958 / r39960;
double r39963 = r39958 + r39962;
double r39964 = r39961 / r39963;
double r39965 = r39959 - r39964;
double r39966 = r39965 * r39965;
double r39967 = r39958 + r39966;
double r39968 = r39959 + r39966;
double r39969 = r39967 / r39968;
return r39969;
}
double f(double t) {
double r39970 = 1.0;
double r39971 = 2.0;
double r39972 = t;
double r39973 = r39971 / r39972;
double r39974 = r39970 / r39972;
double r39975 = r39970 + r39974;
double r39976 = r39973 / r39975;
double r39977 = r39971 - r39976;
double r39978 = r39977 * r39977;
double r39979 = r39970 + r39978;
double r39980 = r39971 + r39978;
double r39981 = r39979 / r39980;
return r39981;
}



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