\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{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right)}{\left(2 - \frac{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right) + 2}double f(double t) {
double r1400940 = 1.0;
double r1400941 = 2.0;
double r1400942 = t;
double r1400943 = r1400941 / r1400942;
double r1400944 = r1400940 / r1400942;
double r1400945 = r1400940 + r1400944;
double r1400946 = r1400943 / r1400945;
double r1400947 = r1400941 - r1400946;
double r1400948 = r1400947 * r1400947;
double r1400949 = r1400940 + r1400948;
double r1400950 = r1400941 + r1400948;
double r1400951 = r1400949 / r1400950;
return r1400951;
}
double f(double t) {
double r1400952 = 1.0;
double r1400953 = 2.0;
double r1400954 = t;
double r1400955 = r1400952 * r1400954;
double r1400956 = r1400955 + r1400952;
double r1400957 = r1400953 / r1400956;
double r1400958 = r1400953 - r1400957;
double r1400959 = r1400958 * r1400958;
double r1400960 = r1400952 + r1400959;
double r1400961 = r1400959 + r1400953;
double r1400962 = r1400960 / r1400961;
return r1400962;
}



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