\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 r51394 = 1.0;
double r51395 = 2.0;
double r51396 = t;
double r51397 = r51395 * r51396;
double r51398 = r51394 + r51396;
double r51399 = r51397 / r51398;
double r51400 = r51399 * r51399;
double r51401 = r51394 + r51400;
double r51402 = r51395 + r51400;
double r51403 = r51401 / r51402;
return r51403;
}
double f(double t) {
double r51404 = 1.0;
double r51405 = 2.0;
double r51406 = t;
double r51407 = r51405 * r51406;
double r51408 = r51404 + r51406;
double r51409 = r51407 / r51408;
double r51410 = r51409 * r51409;
double r51411 = r51404 + r51410;
double r51412 = r51405 + r51410;
double r51413 = r51411 / r51412;
return r51413;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020021 +o rules:numerics
(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))))))