1 - \frac{1}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}1 - \frac{1}{2 + \frac{\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}}}double f(double t) {
double r57188 = 1.0;
double r57189 = 2.0;
double r57190 = t;
double r57191 = r57189 / r57190;
double r57192 = r57188 / r57190;
double r57193 = r57188 + r57192;
double r57194 = r57191 / r57193;
double r57195 = r57189 - r57194;
double r57196 = r57195 * r57195;
double r57197 = r57189 + r57196;
double r57198 = r57188 / r57197;
double r57199 = r57188 - r57198;
return r57199;
}
double f(double t) {
double r57200 = 1.0;
double r57201 = 2.0;
double r57202 = t;
double r57203 = r57201 / r57202;
double r57204 = r57200 / r57202;
double r57205 = r57200 + r57204;
double r57206 = r57203 / r57205;
double r57207 = r57201 - r57206;
double r57208 = r57201 * r57201;
double r57209 = r57206 * r57206;
double r57210 = r57208 - r57209;
double r57211 = r57207 * r57210;
double r57212 = r57201 + r57206;
double r57213 = r57211 / r57212;
double r57214 = r57201 + r57213;
double r57215 = r57200 / r57214;
double r57216 = r57200 - r57215;
return r57216;
}



Bits error versus t
Results
Initial program 0.0
rmApplied flip--0.0
Applied associate-*r/0.0
Final simplification0.0
herbie shell --seed 2020081 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 3"
:precision binary64
(- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))