\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 r67406 = 1.0;
double r67407 = 2.0;
double r67408 = t;
double r67409 = r67407 * r67408;
double r67410 = r67406 + r67408;
double r67411 = r67409 / r67410;
double r67412 = r67411 * r67411;
double r67413 = r67406 + r67412;
double r67414 = r67407 + r67412;
double r67415 = r67413 / r67414;
return r67415;
}
double f(double t) {
double r67416 = 1.0;
double r67417 = 2.0;
double r67418 = t;
double r67419 = r67417 * r67418;
double r67420 = r67416 + r67418;
double r67421 = r67419 / r67420;
double r67422 = r67421 * r67421;
double r67423 = r67416 + r67422;
double r67424 = r67417 + r67422;
double r67425 = r67423 / r67424;
return r67425;
}



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