\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{\left(2 - \frac{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right) + 1}{2 + \left(2 - \frac{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right)}double f(double t) {
double r1470072 = 1.0;
double r1470073 = 2.0;
double r1470074 = t;
double r1470075 = r1470073 / r1470074;
double r1470076 = r1470072 / r1470074;
double r1470077 = r1470072 + r1470076;
double r1470078 = r1470075 / r1470077;
double r1470079 = r1470073 - r1470078;
double r1470080 = r1470079 * r1470079;
double r1470081 = r1470072 + r1470080;
double r1470082 = r1470073 + r1470080;
double r1470083 = r1470081 / r1470082;
return r1470083;
}
double f(double t) {
double r1470084 = 2.0;
double r1470085 = 1.0;
double r1470086 = t;
double r1470087 = r1470085 * r1470086;
double r1470088 = r1470087 + r1470085;
double r1470089 = r1470084 / r1470088;
double r1470090 = r1470084 - r1470089;
double r1470091 = r1470090 * r1470090;
double r1470092 = r1470091 + r1470085;
double r1470093 = r1470084 + r1470091;
double r1470094 = r1470092 / r1470093;
return r1470094;
}



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