\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 r1808612 = 1.0;
double r1808613 = 2.0;
double r1808614 = t;
double r1808615 = r1808613 / r1808614;
double r1808616 = r1808612 / r1808614;
double r1808617 = r1808612 + r1808616;
double r1808618 = r1808615 / r1808617;
double r1808619 = r1808613 - r1808618;
double r1808620 = r1808619 * r1808619;
double r1808621 = r1808612 + r1808620;
double r1808622 = r1808613 + r1808620;
double r1808623 = r1808621 / r1808622;
return r1808623;
}
double f(double t) {
double r1808624 = 2.0;
double r1808625 = 1.0;
double r1808626 = t;
double r1808627 = fma(r1808625, r1808626, r1808625);
double r1808628 = r1808624 / r1808627;
double r1808629 = r1808624 - r1808628;
double r1808630 = fma(r1808629, r1808629, r1808625);
double r1808631 = fma(r1808629, r1808629, r1808624);
double r1808632 = r1808630 / r1808631;
return r1808632;
}



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