\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 r24460 = 1.0;
double r24461 = 2.0;
double r24462 = t;
double r24463 = r24461 / r24462;
double r24464 = r24460 / r24462;
double r24465 = r24460 + r24464;
double r24466 = r24463 / r24465;
double r24467 = r24461 - r24466;
double r24468 = r24467 * r24467;
double r24469 = r24460 + r24468;
double r24470 = r24461 + r24468;
double r24471 = r24469 / r24470;
return r24471;
}
double f(double t) {
double r24472 = 2.0;
double r24473 = 1.0;
double r24474 = t;
double r24475 = fma(r24473, r24474, r24473);
double r24476 = r24472 / r24475;
double r24477 = r24472 - r24476;
double r24478 = fma(r24477, r24477, r24473);
double r24479 = fma(r24477, r24477, r24472);
double r24480 = r24478 / r24479;
return r24480;
}



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