\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 r52478 = 1.0;
double r52479 = 2.0;
double r52480 = t;
double r52481 = r52479 / r52480;
double r52482 = r52478 / r52480;
double r52483 = r52478 + r52482;
double r52484 = r52481 / r52483;
double r52485 = r52479 - r52484;
double r52486 = r52485 * r52485;
double r52487 = r52478 + r52486;
double r52488 = r52479 + r52486;
double r52489 = r52487 / r52488;
return r52489;
}
double f(double t) {
double r52490 = 1.0;
double r52491 = 2.0;
double r52492 = t;
double r52493 = r52491 / r52492;
double r52494 = r52490 / r52492;
double r52495 = r52490 + r52494;
double r52496 = r52493 / r52495;
double r52497 = r52491 - r52496;
double r52498 = r52497 * r52497;
double r52499 = r52490 + r52498;
double r52500 = r52491 + r52498;
double r52501 = r52499 / r52500;
return r52501;
}



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