\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 r54790 = 1.0;
double r54791 = 2.0;
double r54792 = t;
double r54793 = r54791 * r54792;
double r54794 = r54790 + r54792;
double r54795 = r54793 / r54794;
double r54796 = r54795 * r54795;
double r54797 = r54790 + r54796;
double r54798 = r54791 + r54796;
double r54799 = r54797 / r54798;
return r54799;
}
double f(double t) {
double r54800 = 1.0;
double r54801 = 2.0;
double r54802 = t;
double r54803 = r54801 * r54802;
double r54804 = r54800 + r54802;
double r54805 = r54803 / r54804;
double r54806 = r54805 * r54805;
double r54807 = r54800 + r54806;
double r54808 = r54801 + r54806;
double r54809 = r54807 / r54808;
return r54809;
}



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