\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 r1489427 = 1.0;
double r1489428 = 2.0;
double r1489429 = t;
double r1489430 = r1489428 / r1489429;
double r1489431 = r1489427 / r1489429;
double r1489432 = r1489427 + r1489431;
double r1489433 = r1489430 / r1489432;
double r1489434 = r1489428 - r1489433;
double r1489435 = r1489434 * r1489434;
double r1489436 = r1489427 + r1489435;
double r1489437 = r1489428 + r1489435;
double r1489438 = r1489436 / r1489437;
return r1489438;
}
double f(double t) {
double r1489439 = 2.0;
double r1489440 = 1.0;
double r1489441 = t;
double r1489442 = fma(r1489440, r1489441, r1489440);
double r1489443 = r1489439 / r1489442;
double r1489444 = r1489439 - r1489443;
double r1489445 = fma(r1489444, r1489444, r1489440);
double r1489446 = fma(r1489444, r1489444, r1489439);
double r1489447 = r1489445 / r1489446;
return r1489447;
}



Bits error versus t
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019172 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 2"
(/ (+ 1.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))) (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t))))))))