\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 r59097 = 1.0;
double r59098 = 2.0;
double r59099 = t;
double r59100 = r59098 * r59099;
double r59101 = r59097 + r59099;
double r59102 = r59100 / r59101;
double r59103 = r59102 * r59102;
double r59104 = r59097 + r59103;
double r59105 = r59098 + r59103;
double r59106 = r59104 / r59105;
return r59106;
}
double f(double t) {
double r59107 = 1.0;
double r59108 = 2.0;
double r59109 = t;
double r59110 = r59108 * r59109;
double r59111 = r59107 + r59109;
double r59112 = r59110 / r59111;
double r59113 = r59112 * r59112;
double r59114 = r59107 + r59113;
double r59115 = r59108 + r59113;
double r59116 = r59114 / r59115;
return r59116;
}



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