\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 r67355 = 1.0;
double r67356 = 2.0;
double r67357 = t;
double r67358 = r67356 * r67357;
double r67359 = r67355 + r67357;
double r67360 = r67358 / r67359;
double r67361 = r67360 * r67360;
double r67362 = r67355 + r67361;
double r67363 = r67356 + r67361;
double r67364 = r67362 / r67363;
return r67364;
}
double f(double t) {
double r67365 = 1.0;
double r67366 = 2.0;
double r67367 = t;
double r67368 = r67366 * r67367;
double r67369 = r67365 + r67367;
double r67370 = r67368 / r67369;
double r67371 = r67370 * r67370;
double r67372 = r67365 + r67371;
double r67373 = r67366 + r67371;
double r67374 = r67372 / r67373;
return r67374;
}



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