\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(\frac{2}{\frac{1 + t}{t}}, \frac{2}{\frac{1 + t}{t}}, 1\right)}{\mathsf{fma}\left(\frac{2}{\frac{1 + t}{t}}, \frac{2}{\frac{1 + t}{t}}, 2\right)}double f(double t) {
double r2040002 = 1.0;
double r2040003 = 2.0;
double r2040004 = t;
double r2040005 = r2040003 * r2040004;
double r2040006 = r2040002 + r2040004;
double r2040007 = r2040005 / r2040006;
double r2040008 = r2040007 * r2040007;
double r2040009 = r2040002 + r2040008;
double r2040010 = r2040003 + r2040008;
double r2040011 = r2040009 / r2040010;
return r2040011;
}
double f(double t) {
double r2040012 = 2.0;
double r2040013 = 1.0;
double r2040014 = t;
double r2040015 = r2040013 + r2040014;
double r2040016 = r2040015 / r2040014;
double r2040017 = r2040012 / r2040016;
double r2040018 = fma(r2040017, r2040017, r2040013);
double r2040019 = fma(r2040017, r2040017, r2040012);
double r2040020 = r2040018 / r2040019;
return r2040020;
}



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