\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 r56053 = 1.0;
double r56054 = 2.0;
double r56055 = t;
double r56056 = r56054 * r56055;
double r56057 = r56053 + r56055;
double r56058 = r56056 / r56057;
double r56059 = r56058 * r56058;
double r56060 = r56053 + r56059;
double r56061 = r56054 + r56059;
double r56062 = r56060 / r56061;
return r56062;
}
double f(double t) {
double r56063 = 1.0;
double r56064 = 2.0;
double r56065 = t;
double r56066 = r56064 * r56065;
double r56067 = r56063 + r56065;
double r56068 = r56066 / r56067;
double r56069 = r56068 * r56068;
double r56070 = r56063 + r56069;
double r56071 = r56064 + r56069;
double r56072 = r56070 / r56071;
return r56072;
}



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