\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 r29946 = 1.0;
double r29947 = 2.0;
double r29948 = t;
double r29949 = r29947 / r29948;
double r29950 = r29946 / r29948;
double r29951 = r29946 + r29950;
double r29952 = r29949 / r29951;
double r29953 = r29947 - r29952;
double r29954 = r29953 * r29953;
double r29955 = r29946 + r29954;
double r29956 = r29947 + r29954;
double r29957 = r29955 / r29956;
return r29957;
}
double f(double t) {
double r29958 = 1.0;
double r29959 = 2.0;
double r29960 = t;
double r29961 = r29959 / r29960;
double r29962 = r29958 / r29960;
double r29963 = r29958 + r29962;
double r29964 = r29961 / r29963;
double r29965 = r29959 - r29964;
double r29966 = r29965 * r29965;
double r29967 = r29958 + r29966;
double r29968 = r29959 + r29966;
double r29969 = r29967 / r29968;
return r29969;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019196 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 1.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))) (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t))))))))