\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 r61862 = 1.0;
double r61863 = 2.0;
double r61864 = t;
double r61865 = r61863 * r61864;
double r61866 = r61862 + r61864;
double r61867 = r61865 / r61866;
double r61868 = r61867 * r61867;
double r61869 = r61862 + r61868;
double r61870 = r61863 + r61868;
double r61871 = r61869 / r61870;
return r61871;
}
double f(double t) {
double r61872 = 1.0;
double r61873 = 2.0;
double r61874 = t;
double r61875 = r61873 * r61874;
double r61876 = r61872 + r61874;
double r61877 = r61875 / r61876;
double r61878 = r61877 * r61877;
double r61879 = r61872 + r61878;
double r61880 = r61873 + r61878;
double r61881 = r61879 / r61880;
return r61881;
}



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