\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 r1668892 = 1.0;
double r1668893 = 2.0;
double r1668894 = t;
double r1668895 = r1668893 / r1668894;
double r1668896 = r1668892 / r1668894;
double r1668897 = r1668892 + r1668896;
double r1668898 = r1668895 / r1668897;
double r1668899 = r1668893 - r1668898;
double r1668900 = r1668899 * r1668899;
double r1668901 = r1668892 + r1668900;
double r1668902 = r1668893 + r1668900;
double r1668903 = r1668901 / r1668902;
return r1668903;
}
double f(double t) {
double r1668904 = 2.0;
double r1668905 = 1.0;
double r1668906 = t;
double r1668907 = r1668905 + r1668906;
double r1668908 = r1668904 / r1668907;
double r1668909 = r1668904 - r1668908;
double r1668910 = fma(r1668909, r1668909, r1668905);
double r1668911 = fma(r1668909, r1668909, r1668904);
double r1668912 = r1668910 / r1668911;
return r1668912;
}



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