\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 r29281 = 1.0;
double r29282 = 2.0;
double r29283 = t;
double r29284 = r29282 * r29283;
double r29285 = r29281 + r29283;
double r29286 = r29284 / r29285;
double r29287 = r29286 * r29286;
double r29288 = r29281 + r29287;
double r29289 = r29282 + r29287;
double r29290 = r29288 / r29289;
return r29290;
}
double f(double t) {
double r29291 = 1.0;
double r29292 = t;
double r29293 = 2.0;
double r29294 = r29292 * r29293;
double r29295 = r29291 + r29292;
double r29296 = r29294 / r29295;
double r29297 = r29296 * r29296;
double r29298 = r29291 + r29297;
double r29299 = r29293 + r29297;
double r29300 = r29298 / r29299;
return r29300;
}



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