\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)}{2 + \left(2 - \frac{2}{1 \cdot \left(t + 1\right)}\right) \cdot \left(2 - \frac{2}{1 \cdot \left(t + 1\right)}\right)}double f(double t) {
double r29335 = 1.0;
double r29336 = 2.0;
double r29337 = t;
double r29338 = r29336 / r29337;
double r29339 = r29335 / r29337;
double r29340 = r29335 + r29339;
double r29341 = r29338 / r29340;
double r29342 = r29336 - r29341;
double r29343 = r29342 * r29342;
double r29344 = r29335 + r29343;
double r29345 = r29336 + r29343;
double r29346 = r29344 / r29345;
return r29346;
}
double f(double t) {
double r29347 = 1.0;
double r29348 = 2.0;
double r29349 = t;
double r29350 = 1.0;
double r29351 = r29349 + r29350;
double r29352 = r29347 * r29351;
double r29353 = r29348 / r29352;
double r29354 = r29348 - r29353;
double r29355 = r29354 * r29354;
double r29356 = r29347 + r29355;
double r29357 = r29348 + r29355;
double r29358 = r29356 / r29357;
return r29358;
}



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))))))))