\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 r3860649 = 1.0;
double r3860650 = 2.0;
double r3860651 = t;
double r3860652 = r3860650 / r3860651;
double r3860653 = r3860649 / r3860651;
double r3860654 = r3860649 + r3860653;
double r3860655 = r3860652 / r3860654;
double r3860656 = r3860650 - r3860655;
double r3860657 = r3860656 * r3860656;
double r3860658 = r3860649 + r3860657;
double r3860659 = r3860650 + r3860657;
double r3860660 = r3860658 / r3860659;
return r3860660;
}
double f(double t) {
double r3860661 = 2.0;
double r3860662 = 1.0;
double r3860663 = t;
double r3860664 = fma(r3860662, r3860663, r3860662);
double r3860665 = r3860661 / r3860664;
double r3860666 = r3860661 - r3860665;
double r3860667 = fma(r3860666, r3860666, r3860662);
double r3860668 = fma(r3860666, r3860666, r3860661);
double r3860669 = r3860667 / r3860668;
return r3860669;
}



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