\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{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}{\log \left(e^{\frac{t \cdot 2}{1 + t} \cdot \frac{t \cdot 2}{1 + t}}\right) + 2}double f(double t) {
double r2691863 = 1.0;
double r2691864 = 2.0;
double r2691865 = t;
double r2691866 = r2691864 * r2691865;
double r2691867 = r2691863 + r2691865;
double r2691868 = r2691866 / r2691867;
double r2691869 = r2691868 * r2691868;
double r2691870 = r2691863 + r2691869;
double r2691871 = r2691864 + r2691869;
double r2691872 = r2691870 / r2691871;
return r2691872;
}
double f(double t) {
double r2691873 = 1.0;
double r2691874 = t;
double r2691875 = 2.0;
double r2691876 = r2691874 * r2691875;
double r2691877 = r2691873 + r2691874;
double r2691878 = r2691876 / r2691877;
double r2691879 = r2691878 * r2691878;
double r2691880 = r2691873 + r2691879;
double r2691881 = exp(r2691879);
double r2691882 = log(r2691881);
double r2691883 = r2691882 + r2691875;
double r2691884 = r2691880 / r2691883;
return r2691884;
}



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