\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(\frac{\left(\left(-1 + t\right) + \left(1 - t\right)\right) \cdot 2}{1 - t \cdot t} + \mathsf{fma}\left(\frac{-2}{1 - t \cdot t}, 1 - t, 2\right), 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 r1346394 = 1.0;
double r1346395 = 2.0;
double r1346396 = t;
double r1346397 = r1346395 / r1346396;
double r1346398 = r1346394 / r1346396;
double r1346399 = r1346394 + r1346398;
double r1346400 = r1346397 / r1346399;
double r1346401 = r1346395 - r1346400;
double r1346402 = r1346401 * r1346401;
double r1346403 = r1346394 + r1346402;
double r1346404 = r1346395 + r1346402;
double r1346405 = r1346403 / r1346404;
return r1346405;
}
double f(double t) {
double r1346406 = -1.0;
double r1346407 = t;
double r1346408 = r1346406 + r1346407;
double r1346409 = 1.0;
double r1346410 = r1346409 - r1346407;
double r1346411 = r1346408 + r1346410;
double r1346412 = 2.0;
double r1346413 = r1346411 * r1346412;
double r1346414 = r1346407 * r1346407;
double r1346415 = r1346409 - r1346414;
double r1346416 = r1346413 / r1346415;
double r1346417 = -2.0;
double r1346418 = r1346417 / r1346415;
double r1346419 = fma(r1346418, r1346410, r1346412);
double r1346420 = r1346416 + r1346419;
double r1346421 = r1346409 + r1346407;
double r1346422 = r1346412 / r1346421;
double r1346423 = r1346412 - r1346422;
double r1346424 = fma(r1346420, r1346423, r1346409);
double r1346425 = fma(r1346423, r1346423, r1346412);
double r1346426 = r1346424 / r1346425;
return r1346426;
}



Bits error versus t
Initial program 0.0
Simplified0.0
rmApplied flip-+0.0
Applied associate-/r/0.0
Applied add-cube-cbrt0.8
Applied prod-diff0.8
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019152 +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))))))))