\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{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}}double f(double t) {
double r41309 = 1.0;
double r41310 = 2.0;
double r41311 = t;
double r41312 = r41310 * r41311;
double r41313 = r41309 + r41311;
double r41314 = r41312 / r41313;
double r41315 = r41314 * r41314;
double r41316 = r41309 + r41315;
double r41317 = r41310 + r41315;
double r41318 = r41316 / r41317;
return r41318;
}
double f(double t) {
double r41319 = 1.0;
double r41320 = 2.0;
double r41321 = t;
double r41322 = r41320 * r41321;
double r41323 = r41319 + r41321;
double r41324 = r41322 / r41323;
double r41325 = r41324 * r41324;
double r41326 = r41319 + r41325;
double r41327 = r41320 + r41325;
double r41328 = r41326 / r41327;
return r41328;
}



Bits error versus t
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019322
(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))))))