\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 r35028 = 1.0;
double r35029 = 2.0;
double r35030 = t;
double r35031 = r35029 * r35030;
double r35032 = r35028 + r35030;
double r35033 = r35031 / r35032;
double r35034 = r35033 * r35033;
double r35035 = r35028 + r35034;
double r35036 = r35029 + r35034;
double r35037 = r35035 / r35036;
return r35037;
}
double f(double t) {
double r35038 = 1.0;
double r35039 = 2.0;
double r35040 = t;
double r35041 = r35039 * r35040;
double r35042 = r35038 + r35040;
double r35043 = r35041 / r35042;
double r35044 = r35043 * r35043;
double r35045 = r35038 + r35044;
double r35046 = r35039 + r35044;
double r35047 = r35045 / r35046;
return r35047;
}



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