\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 r71096 = 1.0;
double r71097 = 2.0;
double r71098 = t;
double r71099 = r71097 * r71098;
double r71100 = r71096 + r71098;
double r71101 = r71099 / r71100;
double r71102 = r71101 * r71101;
double r71103 = r71096 + r71102;
double r71104 = r71097 + r71102;
double r71105 = r71103 / r71104;
return r71105;
}
double f(double t) {
double r71106 = 1.0;
double r71107 = 2.0;
double r71108 = t;
double r71109 = r71107 * r71108;
double r71110 = r71106 + r71108;
double r71111 = r71109 / r71110;
double r71112 = r71111 * r71111;
double r71113 = r71106 + r71112;
double r71114 = r71107 + r71112;
double r71115 = r71113 / r71114;
return r71115;
}



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