\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 r27805 = 1.0;
double r27806 = 2.0;
double r27807 = t;
double r27808 = r27806 / r27807;
double r27809 = r27805 / r27807;
double r27810 = r27805 + r27809;
double r27811 = r27808 / r27810;
double r27812 = r27806 - r27811;
double r27813 = r27812 * r27812;
double r27814 = r27805 + r27813;
double r27815 = r27806 + r27813;
double r27816 = r27814 / r27815;
return r27816;
}
double f(double t) {
double r27817 = 2.0;
double r27818 = 1.0;
double r27819 = t;
double r27820 = fma(r27818, r27819, r27818);
double r27821 = r27817 / r27820;
double r27822 = r27817 - r27821;
double r27823 = fma(r27822, r27822, r27818);
double r27824 = fma(r27822, r27822, r27817);
double r27825 = r27823 / r27824;
return r27825;
}



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