\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 r31093 = 1.0;
double r31094 = 2.0;
double r31095 = t;
double r31096 = r31094 * r31095;
double r31097 = r31093 + r31095;
double r31098 = r31096 / r31097;
double r31099 = r31098 * r31098;
double r31100 = r31093 + r31099;
double r31101 = r31094 + r31099;
double r31102 = r31100 / r31101;
return r31102;
}
double f(double t) {
double r31103 = 1.0;
double r31104 = 2.0;
double r31105 = t;
double r31106 = r31104 * r31105;
double r31107 = r31103 + r31105;
double r31108 = r31106 / r31107;
double r31109 = r31108 * r31108;
double r31110 = r31103 + r31109;
double r31111 = r31104 + r31109;
double r31112 = r31110 / r31111;
return r31112;
}



Bits error versus t
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019304 +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))))))