\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 r39619 = 1.0;
double r39620 = 2.0;
double r39621 = t;
double r39622 = r39620 * r39621;
double r39623 = r39619 + r39621;
double r39624 = r39622 / r39623;
double r39625 = r39624 * r39624;
double r39626 = r39619 + r39625;
double r39627 = r39620 + r39625;
double r39628 = r39626 / r39627;
return r39628;
}
double f(double t) {
double r39629 = 1.0;
double r39630 = 2.0;
double r39631 = t;
double r39632 = r39630 * r39631;
double r39633 = r39629 + r39631;
double r39634 = r39632 / r39633;
double r39635 = r39634 * r39634;
double r39636 = r39629 + r39635;
double r39637 = r39630 + r39635;
double r39638 = r39636 / r39637;
return r39638;
}



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