\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 r2662004 = 1.0;
double r2662005 = 2.0;
double r2662006 = t;
double r2662007 = r2662005 * r2662006;
double r2662008 = r2662004 + r2662006;
double r2662009 = r2662007 / r2662008;
double r2662010 = r2662009 * r2662009;
double r2662011 = r2662004 + r2662010;
double r2662012 = r2662005 + r2662010;
double r2662013 = r2662011 / r2662012;
return r2662013;
}
double f(double t) {
double r2662014 = 1.0;
double r2662015 = 2.0;
double r2662016 = t;
double r2662017 = r2662015 * r2662016;
double r2662018 = r2662014 + r2662016;
double r2662019 = r2662017 / r2662018;
double r2662020 = r2662019 * r2662019;
double r2662021 = r2662014 + r2662020;
double r2662022 = r2662015 + r2662020;
double r2662023 = r2662021 / r2662022;
return r2662023;
}



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