\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 r31288 = 1.0;
double r31289 = 2.0;
double r31290 = t;
double r31291 = r31289 * r31290;
double r31292 = r31288 + r31290;
double r31293 = r31291 / r31292;
double r31294 = r31293 * r31293;
double r31295 = r31288 + r31294;
double r31296 = r31289 + r31294;
double r31297 = r31295 / r31296;
return r31297;
}
double f(double t) {
double r31298 = 1.0;
double r31299 = 2.0;
double r31300 = t;
double r31301 = r31299 * r31300;
double r31302 = r31298 + r31300;
double r31303 = r31301 / r31302;
double r31304 = r31303 * r31303;
double r31305 = r31298 + r31304;
double r31306 = r31299 + r31304;
double r31307 = r31305 / r31306;
return r31307;
}



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