\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 r30898 = 1.0;
double r30899 = 2.0;
double r30900 = t;
double r30901 = r30899 * r30900;
double r30902 = r30898 + r30900;
double r30903 = r30901 / r30902;
double r30904 = r30903 * r30903;
double r30905 = r30898 + r30904;
double r30906 = r30899 + r30904;
double r30907 = r30905 / r30906;
return r30907;
}
double f(double t) {
double r30908 = 1.0;
double r30909 = 2.0;
double r30910 = t;
double r30911 = r30909 * r30910;
double r30912 = r30908 + r30910;
double r30913 = r30911 / r30912;
double r30914 = r30913 * r30913;
double r30915 = r30908 + r30914;
double r30916 = r30909 + r30914;
double r30917 = r30915 / r30916;
return r30917;
}



Bits error versus t
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019198
(FPCore (t)
:name "Kahan p13 Example 1"
(/ (+ 1.0 (* (/ (* 2.0 t) (+ 1.0 t)) (/ (* 2.0 t) (+ 1.0 t)))) (+ 2.0 (* (/ (* 2.0 t) (+ 1.0 t)) (/ (* 2.0 t) (+ 1.0 t))))))