\frac{1 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}{2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}\frac{\mathsf{fma}\left(2 \cdot t, \frac{\frac{2 \cdot t}{1 + t}}{1 + t}, 1\right)}{\mathsf{fma}\left(\frac{\frac{2 \cdot t}{1 + t}}{1 + t}, 2 \cdot t, 2\right)}double f(double t) {
double r60204 = 1.0;
double r60205 = 2.0;
double r60206 = t;
double r60207 = r60205 * r60206;
double r60208 = r60204 + r60206;
double r60209 = r60207 / r60208;
double r60210 = r60209 * r60209;
double r60211 = r60204 + r60210;
double r60212 = r60205 + r60210;
double r60213 = r60211 / r60212;
return r60213;
}
double f(double t) {
double r60214 = 2.0;
double r60215 = t;
double r60216 = r60214 * r60215;
double r60217 = 1.0;
double r60218 = r60217 + r60215;
double r60219 = r60216 / r60218;
double r60220 = r60219 / r60218;
double r60221 = fma(r60216, r60220, r60217);
double r60222 = fma(r60220, r60216, r60214);
double r60223 = r60221 / r60222;
return r60223;
}



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