\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 r54274 = 1.0;
double r54275 = 2.0;
double r54276 = t;
double r54277 = r54275 / r54276;
double r54278 = r54274 / r54276;
double r54279 = r54274 + r54278;
double r54280 = r54277 / r54279;
double r54281 = r54275 - r54280;
double r54282 = r54281 * r54281;
double r54283 = r54274 + r54282;
double r54284 = r54275 + r54282;
double r54285 = r54283 / r54284;
return r54285;
}
double f(double t) {
double r54286 = 1.0;
double r54287 = 2.0;
double r54288 = t;
double r54289 = r54287 / r54288;
double r54290 = r54286 / r54288;
double r54291 = r54286 + r54290;
double r54292 = r54289 / r54291;
double r54293 = r54287 - r54292;
double r54294 = r54293 * r54293;
double r54295 = r54286 + r54294;
double r54296 = r54287 + r54294;
double r54297 = r54295 / r54296;
return r54297;
}



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