\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 r57062 = 1.0;
double r57063 = 2.0;
double r57064 = t;
double r57065 = r57063 * r57064;
double r57066 = r57062 + r57064;
double r57067 = r57065 / r57066;
double r57068 = r57067 * r57067;
double r57069 = r57062 + r57068;
double r57070 = r57063 + r57068;
double r57071 = r57069 / r57070;
return r57071;
}
double f(double t) {
double r57072 = 1.0;
double r57073 = 2.0;
double r57074 = t;
double r57075 = r57073 * r57074;
double r57076 = r57072 + r57074;
double r57077 = r57075 / r57076;
double r57078 = r57077 * r57077;
double r57079 = r57072 + r57078;
double r57080 = r57073 + r57078;
double r57081 = r57079 / r57080;
return r57081;
}



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