\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 r28784 = 1.0;
double r28785 = 2.0;
double r28786 = t;
double r28787 = r28785 / r28786;
double r28788 = r28784 / r28786;
double r28789 = r28784 + r28788;
double r28790 = r28787 / r28789;
double r28791 = r28785 - r28790;
double r28792 = r28791 * r28791;
double r28793 = r28784 + r28792;
double r28794 = r28785 + r28792;
double r28795 = r28793 / r28794;
return r28795;
}
double f(double t) {
double r28796 = 2.0;
double r28797 = 1.0;
double r28798 = t;
double r28799 = fma(r28797, r28798, r28797);
double r28800 = r28796 / r28799;
double r28801 = r28796 - r28800;
double r28802 = fma(r28801, r28801, r28797);
double r28803 = fma(r28801, r28801, r28796);
double r28804 = r28802 / r28803;
return r28804;
}



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