\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 r57605 = 1.0;
double r57606 = 2.0;
double r57607 = t;
double r57608 = r57606 / r57607;
double r57609 = r57605 / r57607;
double r57610 = r57605 + r57609;
double r57611 = r57608 / r57610;
double r57612 = r57606 - r57611;
double r57613 = r57612 * r57612;
double r57614 = r57605 + r57613;
double r57615 = r57606 + r57613;
double r57616 = r57614 / r57615;
return r57616;
}
double f(double t) {
double r57617 = 1.0;
double r57618 = 2.0;
double r57619 = t;
double r57620 = r57618 / r57619;
double r57621 = r57617 / r57619;
double r57622 = r57617 + r57621;
double r57623 = r57620 / r57622;
double r57624 = r57618 - r57623;
double r57625 = r57624 * r57624;
double r57626 = r57617 + r57625;
double r57627 = r57618 + r57625;
double r57628 = r57626 / r57627;
return r57628;
}



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