\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 r29823 = 1.0;
double r29824 = 2.0;
double r29825 = t;
double r29826 = r29824 / r29825;
double r29827 = r29823 / r29825;
double r29828 = r29823 + r29827;
double r29829 = r29826 / r29828;
double r29830 = r29824 - r29829;
double r29831 = r29830 * r29830;
double r29832 = r29823 + r29831;
double r29833 = r29824 + r29831;
double r29834 = r29832 / r29833;
return r29834;
}
double f(double t) {
double r29835 = 2.0;
double r29836 = 1.0;
double r29837 = t;
double r29838 = fma(r29836, r29837, r29836);
double r29839 = r29835 / r29838;
double r29840 = r29835 - r29839;
double r29841 = fma(r29840, r29840, r29836);
double r29842 = fma(r29840, r29840, r29835);
double r29843 = r29841 / r29842;
return r29843;
}



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