\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 r57199 = 1.0;
double r57200 = 2.0;
double r57201 = t;
double r57202 = r57200 * r57201;
double r57203 = r57199 + r57201;
double r57204 = r57202 / r57203;
double r57205 = r57204 * r57204;
double r57206 = r57199 + r57205;
double r57207 = r57200 + r57205;
double r57208 = r57206 / r57207;
return r57208;
}
double f(double t) {
double r57209 = 1.0;
double r57210 = 2.0;
double r57211 = t;
double r57212 = r57210 * r57211;
double r57213 = r57209 + r57211;
double r57214 = r57212 / r57213;
double r57215 = r57214 * r57214;
double r57216 = r57209 + r57215;
double r57217 = r57210 + r57215;
double r57218 = r57216 / r57217;
return r57218;
}



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