\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 r36238 = 1.0;
double r36239 = 2.0;
double r36240 = t;
double r36241 = r36239 * r36240;
double r36242 = r36238 + r36240;
double r36243 = r36241 / r36242;
double r36244 = r36243 * r36243;
double r36245 = r36238 + r36244;
double r36246 = r36239 + r36244;
double r36247 = r36245 / r36246;
return r36247;
}
double f(double t) {
double r36248 = 1.0;
double r36249 = 2.0;
double r36250 = t;
double r36251 = r36249 * r36250;
double r36252 = r36248 + r36250;
double r36253 = r36251 / r36252;
double r36254 = r36253 * r36253;
double r36255 = r36248 + r36254;
double r36256 = r36249 + r36254;
double r36257 = r36255 / r36256;
return r36257;
}



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