\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}{1 + t}, 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}double f(double t) {
double r1801826 = 1.0;
double r1801827 = 2.0;
double r1801828 = t;
double r1801829 = r1801827 / r1801828;
double r1801830 = r1801826 / r1801828;
double r1801831 = r1801826 + r1801830;
double r1801832 = r1801829 / r1801831;
double r1801833 = r1801827 - r1801832;
double r1801834 = r1801833 * r1801833;
double r1801835 = r1801826 + r1801834;
double r1801836 = r1801827 + r1801834;
double r1801837 = r1801835 / r1801836;
return r1801837;
}
double f(double t) {
double r1801838 = 2.0;
double r1801839 = 1.0;
double r1801840 = t;
double r1801841 = r1801839 + r1801840;
double r1801842 = r1801838 / r1801841;
double r1801843 = r1801838 - r1801842;
double r1801844 = fma(r1801843, r1801843, r1801839);
double r1801845 = fma(r1801843, r1801843, r1801838);
double r1801846 = r1801844 / r1801845;
return r1801846;
}



Bits error versus t
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019164 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 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))))))))