\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{2}{1 \cdot \left(t + 1\right)}\right) \cdot \left(2 - \frac{2}{1 \cdot \left(t + 1\right)}\right)}{\left(2 - \frac{2}{1 \cdot \left(t + 1\right)}\right) \cdot \left(2 - \frac{2}{1 \cdot \left(t + 1\right)}\right) + 2}double f(double t) {
double r29523 = 1.0;
double r29524 = 2.0;
double r29525 = t;
double r29526 = r29524 / r29525;
double r29527 = r29523 / r29525;
double r29528 = r29523 + r29527;
double r29529 = r29526 / r29528;
double r29530 = r29524 - r29529;
double r29531 = r29530 * r29530;
double r29532 = r29523 + r29531;
double r29533 = r29524 + r29531;
double r29534 = r29532 / r29533;
return r29534;
}
double f(double t) {
double r29535 = 1.0;
double r29536 = 2.0;
double r29537 = t;
double r29538 = 1.0;
double r29539 = r29537 + r29538;
double r29540 = r29535 * r29539;
double r29541 = r29536 / r29540;
double r29542 = r29536 - r29541;
double r29543 = r29542 * r29542;
double r29544 = r29535 + r29543;
double r29545 = r29543 + r29536;
double r29546 = r29544 / r29545;
return r29546;
}



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