\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{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}{2 + \frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}double f(double t) {
double r40417 = 1.0;
double r40418 = 2.0;
double r40419 = t;
double r40420 = r40418 * r40419;
double r40421 = r40417 + r40419;
double r40422 = r40420 / r40421;
double r40423 = r40422 * r40422;
double r40424 = r40417 + r40423;
double r40425 = r40418 + r40423;
double r40426 = r40424 / r40425;
return r40426;
}
double f(double t) {
double r40427 = 1.0;
double r40428 = t;
double r40429 = 2.0;
double r40430 = r40428 * r40429;
double r40431 = r40427 + r40428;
double r40432 = r40430 / r40431;
double r40433 = r40432 * r40432;
double r40434 = r40427 + r40433;
double r40435 = r40429 + r40433;
double r40436 = r40434 / r40435;
return r40436;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019194 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 1"
(/ (+ 1.0 (* (/ (* 2.0 t) (+ 1.0 t)) (/ (* 2.0 t) (+ 1.0 t)))) (+ 2.0 (* (/ (* 2.0 t) (+ 1.0 t)) (/ (* 2.0 t) (+ 1.0 t))))))