\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 r31587 = 1.0;
double r31588 = 2.0;
double r31589 = t;
double r31590 = r31588 / r31589;
double r31591 = r31587 / r31589;
double r31592 = r31587 + r31591;
double r31593 = r31590 / r31592;
double r31594 = r31588 - r31593;
double r31595 = r31594 * r31594;
double r31596 = r31587 + r31595;
double r31597 = r31588 + r31595;
double r31598 = r31596 / r31597;
return r31598;
}
double f(double t) {
double r31599 = 2.0;
double r31600 = 1.0;
double r31601 = t;
double r31602 = fma(r31600, r31601, r31600);
double r31603 = r31599 / r31602;
double r31604 = r31599 - r31603;
double r31605 = fma(r31604, r31604, r31600);
double r31606 = fma(r31604, r31604, r31599);
double r31607 = r31605 / r31606;
return r31607;
}



Bits error versus t
Initial program 0.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2019323 +o rules:numerics
(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))))))))