\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 r46353 = 1.0;
double r46354 = 2.0;
double r46355 = t;
double r46356 = r46354 / r46355;
double r46357 = r46353 / r46355;
double r46358 = r46353 + r46357;
double r46359 = r46356 / r46358;
double r46360 = r46354 - r46359;
double r46361 = r46360 * r46360;
double r46362 = r46353 + r46361;
double r46363 = r46354 + r46361;
double r46364 = r46362 / r46363;
return r46364;
}
double f(double t) {
double r46365 = 1.0;
double r46366 = 2.0;
double r46367 = t;
double r46368 = r46366 / r46367;
double r46369 = r46365 / r46367;
double r46370 = r46365 + r46369;
double r46371 = r46368 / r46370;
double r46372 = r46366 - r46371;
double r46373 = r46372 * r46372;
double r46374 = r46365 + r46373;
double r46375 = r46366 + r46373;
double r46376 = r46374 / r46375;
return r46376;
}



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