\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 r35467 = 1.0;
double r35468 = 2.0;
double r35469 = t;
double r35470 = r35468 / r35469;
double r35471 = r35467 / r35469;
double r35472 = r35467 + r35471;
double r35473 = r35470 / r35472;
double r35474 = r35468 - r35473;
double r35475 = r35474 * r35474;
double r35476 = r35467 + r35475;
double r35477 = r35468 + r35475;
double r35478 = r35476 / r35477;
return r35478;
}
double f(double t) {
double r35479 = 1.0;
double r35480 = 2.0;
double r35481 = t;
double r35482 = r35480 / r35481;
double r35483 = r35479 / r35481;
double r35484 = r35479 + r35483;
double r35485 = r35482 / r35484;
double r35486 = r35480 - r35485;
double r35487 = r35486 * r35486;
double r35488 = r35479 + r35487;
double r35489 = r35480 + r35487;
double r35490 = r35488 / r35489;
return r35490;
}



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