\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{\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)}double f(double t) {
double r1736723 = 1.0;
double r1736724 = 2.0;
double r1736725 = t;
double r1736726 = r1736724 / r1736725;
double r1736727 = r1736723 / r1736725;
double r1736728 = r1736723 + r1736727;
double r1736729 = r1736726 / r1736728;
double r1736730 = r1736724 - r1736729;
double r1736731 = r1736730 * r1736730;
double r1736732 = r1736723 + r1736731;
double r1736733 = r1736724 + r1736731;
double r1736734 = r1736732 / r1736733;
return r1736734;
}
double f(double t) {
double r1736735 = 2.0;
double r1736736 = 1.0;
double r1736737 = t;
double r1736738 = fma(r1736736, r1736737, r1736736);
double r1736739 = r1736735 / r1736738;
double r1736740 = r1736735 - r1736739;
double r1736741 = fma(r1736740, r1736740, r1736736);
double r1736742 = fma(r1736740, r1736740, r1736735);
double r1736743 = r1736741 / r1736742;
return r1736743;
}



Bits error versus t
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019200 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 1.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))) (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t))))))))