\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{\mathsf{fma}\left(\left(\frac{t \cdot 2}{1 + t}\right), \left(\frac{t \cdot 2}{1 + t}\right), 1\right)}{\mathsf{fma}\left(\left(\frac{t \cdot 2}{1 + t}\right), \left(\frac{t \cdot 2}{1 + t}\right), 2\right)}double f(double t) {
double r3907187 = 1.0;
double r3907188 = 2.0;
double r3907189 = t;
double r3907190 = r3907188 * r3907189;
double r3907191 = r3907187 + r3907189;
double r3907192 = r3907190 / r3907191;
double r3907193 = r3907192 * r3907192;
double r3907194 = r3907187 + r3907193;
double r3907195 = r3907188 + r3907193;
double r3907196 = r3907194 / r3907195;
return r3907196;
}
double f(double t) {
double r3907197 = t;
double r3907198 = 2.0;
double r3907199 = r3907197 * r3907198;
double r3907200 = 1.0;
double r3907201 = r3907200 + r3907197;
double r3907202 = r3907199 / r3907201;
double r3907203 = fma(r3907202, r3907202, r3907200);
double r3907204 = fma(r3907202, r3907202, r3907198);
double r3907205 = r3907203 / r3907204;
return r3907205;
}



Bits error versus t
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019121 +o rules:numerics
(FPCore (t)
:name "Kahan p13 Example 1"
(/ (+ 1 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t)))) (+ 2 (* (/ (* 2 t) (+ 1 t)) (/ (* 2 t) (+ 1 t))))))