\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 r21330 = 1.0;
double r21331 = 2.0;
double r21332 = t;
double r21333 = r21331 / r21332;
double r21334 = r21330 / r21332;
double r21335 = r21330 + r21334;
double r21336 = r21333 / r21335;
double r21337 = r21331 - r21336;
double r21338 = r21337 * r21337;
double r21339 = r21330 + r21338;
double r21340 = r21331 + r21338;
double r21341 = r21339 / r21340;
return r21341;
}
double f(double t) {
double r21342 = 1.0;
double r21343 = 2.0;
double r21344 = t;
double r21345 = r21343 / r21344;
double r21346 = r21342 / r21344;
double r21347 = r21342 + r21346;
double r21348 = r21345 / r21347;
double r21349 = r21343 - r21348;
double r21350 = r21349 * r21349;
double r21351 = r21342 + r21350;
double r21352 = r21343 + r21350;
double r21353 = r21351 / r21352;
return r21353;
}



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