\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{\left(2 \cdot t\right) \cdot \frac{2 \cdot t}{1 + t}}{1 + t}}{2 + \frac{2 \cdot t}{1 + t} \cdot \frac{2 \cdot t}{1 + t}}double f(double t) {
double r59859 = 1.0;
double r59860 = 2.0;
double r59861 = t;
double r59862 = r59860 * r59861;
double r59863 = r59859 + r59861;
double r59864 = r59862 / r59863;
double r59865 = r59864 * r59864;
double r59866 = r59859 + r59865;
double r59867 = r59860 + r59865;
double r59868 = r59866 / r59867;
return r59868;
}
double f(double t) {
double r59869 = 1.0;
double r59870 = 2.0;
double r59871 = t;
double r59872 = r59870 * r59871;
double r59873 = r59869 + r59871;
double r59874 = r59872 / r59873;
double r59875 = r59872 * r59874;
double r59876 = r59875 / r59873;
double r59877 = r59869 + r59876;
double r59878 = r59874 * r59874;
double r59879 = r59870 + r59878;
double r59880 = r59877 / r59879;
return r59880;
}



Bits error versus t
Results
Initial program 0.0
rmApplied associate-*r/0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019325 +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))))))