\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{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}{2 + \left(2 - \frac{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}double f(double t) {
double r567603 = 1.0;
double r567604 = 2.0;
double r567605 = t;
double r567606 = r567604 / r567605;
double r567607 = r567603 / r567605;
double r567608 = r567603 + r567607;
double r567609 = r567606 / r567608;
double r567610 = r567604 - r567609;
double r567611 = r567610 * r567610;
double r567612 = r567603 + r567611;
double r567613 = r567604 + r567611;
double r567614 = r567612 / r567613;
return r567614;
}
double f(double t) {
double r567615 = 1.0;
double r567616 = 2.0;
double r567617 = t;
double r567618 = r567615 + r567617;
double r567619 = r567616 / r567618;
double r567620 = r567616 - r567619;
double r567621 = r567620 * r567620;
double r567622 = r567615 + r567621;
double r567623 = r567616 + r567621;
double r567624 = r567622 / r567623;
return r567624;
}



Bits error versus t
Results
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019151
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 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))))))))