\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 r1538099 = 1.0;
double r1538100 = 2.0;
double r1538101 = t;
double r1538102 = r1538100 / r1538101;
double r1538103 = r1538099 / r1538101;
double r1538104 = r1538099 + r1538103;
double r1538105 = r1538102 / r1538104;
double r1538106 = r1538100 - r1538105;
double r1538107 = r1538106 * r1538106;
double r1538108 = r1538099 + r1538107;
double r1538109 = r1538100 + r1538107;
double r1538110 = r1538108 / r1538109;
return r1538110;
}
double f(double t) {
double r1538111 = 2.0;
double r1538112 = 1.0;
double r1538113 = t;
double r1538114 = fma(r1538112, r1538113, r1538112);
double r1538115 = r1538111 / r1538114;
double r1538116 = r1538111 - r1538115;
double r1538117 = fma(r1538116, r1538116, r1538112);
double r1538118 = fma(r1538116, r1538116, r1538111);
double r1538119 = r1538117 / r1538118;
return r1538119;
}



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