\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{\left(2 \cdot t\right) \cdot \frac{2 \cdot t}{1 + t}}{1 + t}}{2 + \frac{\left(2 \cdot t\right) \cdot \frac{2 \cdot t}{1 + t}}{1 + t}}double f(double t) {
double r62486 = 1.0;
double r62487 = 2.0;
double r62488 = t;
double r62489 = r62487 * r62488;
double r62490 = r62486 + r62488;
double r62491 = r62489 / r62490;
double r62492 = r62491 * r62491;
double r62493 = r62486 + r62492;
double r62494 = r62487 + r62492;
double r62495 = r62493 / r62494;
return r62495;
}
double f(double t) {
double r62496 = 1.0;
double r62497 = 2.0;
double r62498 = t;
double r62499 = r62497 * r62498;
double r62500 = r62496 + r62498;
double r62501 = r62499 / r62500;
double r62502 = r62499 * r62501;
double r62503 = r62502 / r62500;
double r62504 = r62496 + r62503;
double r62505 = r62497 + r62503;
double r62506 = r62504 / r62505;
return r62506;
}



Bits error versus t
Results
Initial program 0.0
rmApplied associate-*r/0.1
Simplified0.1
rmApplied associate-*r/0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019325
(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))))))