\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 r2019037 = 1.0;
double r2019038 = 2.0;
double r2019039 = t;
double r2019040 = r2019038 / r2019039;
double r2019041 = r2019037 / r2019039;
double r2019042 = r2019037 + r2019041;
double r2019043 = r2019040 / r2019042;
double r2019044 = r2019038 - r2019043;
double r2019045 = r2019044 * r2019044;
double r2019046 = r2019037 + r2019045;
double r2019047 = r2019038 + r2019045;
double r2019048 = r2019046 / r2019047;
return r2019048;
}
double f(double t) {
double r2019049 = 2.0;
double r2019050 = 1.0;
double r2019051 = t;
double r2019052 = fma(r2019050, r2019051, r2019050);
double r2019053 = r2019049 / r2019052;
double r2019054 = r2019049 - r2019053;
double r2019055 = fma(r2019054, r2019054, r2019050);
double r2019056 = fma(r2019054, r2019054, r2019049);
double r2019057 = r2019055 / r2019056;
return r2019057;
}



Bits error versus t
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019174 +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))))))))