\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 r41972 = 1.0;
double r41973 = 2.0;
double r41974 = t;
double r41975 = r41973 / r41974;
double r41976 = r41972 / r41974;
double r41977 = r41972 + r41976;
double r41978 = r41975 / r41977;
double r41979 = r41973 - r41978;
double r41980 = r41979 * r41979;
double r41981 = r41972 + r41980;
double r41982 = r41973 + r41980;
double r41983 = r41981 / r41982;
return r41983;
}
double f(double t) {
double r41984 = 1.0;
double r41985 = 2.0;
double r41986 = t;
double r41987 = r41985 / r41986;
double r41988 = r41984 / r41986;
double r41989 = r41984 + r41988;
double r41990 = r41987 / r41989;
double r41991 = r41985 - r41990;
double r41992 = r41991 * r41991;
double r41993 = r41984 + r41992;
double r41994 = r41985 + r41992;
double r41995 = r41993 / r41994;
return r41995;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020047 +o rules:numerics
(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))))))))