\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{\frac{\mathsf{fma}\left(\frac{t \cdot 2}{1 + t}, \frac{t \cdot 2}{1 + t}, 2\right)}{\sqrt{\mathsf{fma}\left(\frac{2 \cdot t}{1 + t}, \frac{2 \cdot t}{1 + t}, 1\right)}}}{\sqrt{\mathsf{fma}\left(\frac{2 \cdot t}{1 + t}, \frac{2 \cdot t}{1 + t}, 1\right)}}}double f(double t) {
double r51298 = 1.0;
double r51299 = 2.0;
double r51300 = t;
double r51301 = r51299 * r51300;
double r51302 = r51298 + r51300;
double r51303 = r51301 / r51302;
double r51304 = r51303 * r51303;
double r51305 = r51298 + r51304;
double r51306 = r51299 + r51304;
double r51307 = r51305 / r51306;
return r51307;
}
double f(double t) {
double r51308 = 1.0;
double r51309 = t;
double r51310 = 2.0;
double r51311 = r51309 * r51310;
double r51312 = 1.0;
double r51313 = r51312 + r51309;
double r51314 = r51311 / r51313;
double r51315 = fma(r51314, r51314, r51310);
double r51316 = r51310 * r51309;
double r51317 = r51316 / r51313;
double r51318 = fma(r51317, r51317, r51312);
double r51319 = sqrt(r51318);
double r51320 = r51315 / r51319;
double r51321 = r51320 / r51319;
double r51322 = r51308 / r51321;
return r51322;
}



Bits error versus t
Initial program 0.0
rmApplied clear-num0.0
Simplified0.0
rmApplied add-sqr-sqrt0.5
Applied associate-/r*0.1
Final simplification0.1
herbie shell --seed 2020043 +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))))))