\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 r45467 = 1.0;
double r45468 = 2.0;
double r45469 = t;
double r45470 = r45468 / r45469;
double r45471 = r45467 / r45469;
double r45472 = r45467 + r45471;
double r45473 = r45470 / r45472;
double r45474 = r45468 - r45473;
double r45475 = r45474 * r45474;
double r45476 = r45467 + r45475;
double r45477 = r45468 + r45475;
double r45478 = r45476 / r45477;
return r45478;
}
double f(double t) {
double r45479 = 1.0;
double r45480 = 2.0;
double r45481 = t;
double r45482 = r45480 / r45481;
double r45483 = r45479 / r45481;
double r45484 = r45479 + r45483;
double r45485 = r45482 / r45484;
double r45486 = r45480 - r45485;
double r45487 = r45486 * r45486;
double r45488 = r45479 + r45487;
double r45489 = r45480 + r45487;
double r45490 = r45488 / r45489;
return r45490;
}



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