\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 r29437 = 1.0;
double r29438 = 2.0;
double r29439 = t;
double r29440 = r29438 / r29439;
double r29441 = r29437 / r29439;
double r29442 = r29437 + r29441;
double r29443 = r29440 / r29442;
double r29444 = r29438 - r29443;
double r29445 = r29444 * r29444;
double r29446 = r29437 + r29445;
double r29447 = r29438 + r29445;
double r29448 = r29446 / r29447;
return r29448;
}
double f(double t) {
double r29449 = 2.0;
double r29450 = 1.0;
double r29451 = t;
double r29452 = fma(r29450, r29451, r29450);
double r29453 = r29449 / r29452;
double r29454 = r29449 - r29453;
double r29455 = fma(r29454, r29454, r29450);
double r29456 = fma(r29454, r29454, r29449);
double r29457 = r29455 / r29456;
return r29457;
}



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