\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 r36716 = 1.0;
double r36717 = 2.0;
double r36718 = t;
double r36719 = r36717 / r36718;
double r36720 = r36716 / r36718;
double r36721 = r36716 + r36720;
double r36722 = r36719 / r36721;
double r36723 = r36717 - r36722;
double r36724 = r36723 * r36723;
double r36725 = r36716 + r36724;
double r36726 = r36717 + r36724;
double r36727 = r36725 / r36726;
return r36727;
}
double f(double t) {
double r36728 = 1.0;
double r36729 = 2.0;
double r36730 = t;
double r36731 = r36729 / r36730;
double r36732 = r36728 / r36730;
double r36733 = r36728 + r36732;
double r36734 = r36731 / r36733;
double r36735 = r36729 - r36734;
double r36736 = r36735 * r36735;
double r36737 = r36728 + r36736;
double r36738 = r36729 + r36736;
double r36739 = r36737 / r36738;
return r36739;
}



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