\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 r32532 = 1.0;
double r32533 = 2.0;
double r32534 = t;
double r32535 = r32533 * r32534;
double r32536 = r32532 + r32534;
double r32537 = r32535 / r32536;
double r32538 = r32537 * r32537;
double r32539 = r32532 + r32538;
double r32540 = r32533 + r32538;
double r32541 = r32539 / r32540;
return r32541;
}
double f(double t) {
double r32542 = 1.0;
double r32543 = 2.0;
double r32544 = t;
double r32545 = r32543 * r32544;
double r32546 = r32542 + r32544;
double r32547 = r32545 / r32546;
double r32548 = r32547 * r32547;
double r32549 = r32542 + r32548;
double r32550 = r32543 + r32548;
double r32551 = r32549 / r32550;
return r32551;
}



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