\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 r27309 = 1.0;
double r27310 = 2.0;
double r27311 = t;
double r27312 = r27310 / r27311;
double r27313 = r27309 / r27311;
double r27314 = r27309 + r27313;
double r27315 = r27312 / r27314;
double r27316 = r27310 - r27315;
double r27317 = r27316 * r27316;
double r27318 = r27309 + r27317;
double r27319 = r27310 + r27317;
double r27320 = r27318 / r27319;
return r27320;
}
double f(double t) {
double r27321 = 1.0;
double r27322 = 2.0;
double r27323 = t;
double r27324 = r27322 / r27323;
double r27325 = r27321 / r27323;
double r27326 = r27321 + r27325;
double r27327 = r27324 / r27326;
double r27328 = r27322 - r27327;
double r27329 = r27328 * r27328;
double r27330 = r27321 + r27329;
double r27331 = r27322 + r27329;
double r27332 = r27330 / r27331;
return r27332;
}



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