\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 r90349 = 1.0;
double r90350 = 2.0;
double r90351 = t;
double r90352 = r90350 * r90351;
double r90353 = r90349 + r90351;
double r90354 = r90352 / r90353;
double r90355 = r90354 * r90354;
double r90356 = r90349 + r90355;
double r90357 = r90350 + r90355;
double r90358 = r90356 / r90357;
return r90358;
}
double f(double t) {
double r90359 = 1.0;
double r90360 = 2.0;
double r90361 = t;
double r90362 = r90360 * r90361;
double r90363 = r90359 + r90361;
double r90364 = r90362 / r90363;
double r90365 = r90364 * r90364;
double r90366 = r90359 + r90365;
double r90367 = r90360 + r90365;
double r90368 = r90366 / r90367;
return r90368;
}



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