\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}}\log \left(e^{\frac{\mathsf{fma}\left(\frac{2 \cdot t}{1 + t}, \frac{2 \cdot t}{1 + t}, 1\right)}{\mathsf{fma}\left(\frac{2 \cdot t}{1 + t}, \frac{2 \cdot t}{1 + t}, 2\right)}}\right)double f(double t) {
double r35697 = 1.0;
double r35698 = 2.0;
double r35699 = t;
double r35700 = r35698 * r35699;
double r35701 = r35697 + r35699;
double r35702 = r35700 / r35701;
double r35703 = r35702 * r35702;
double r35704 = r35697 + r35703;
double r35705 = r35698 + r35703;
double r35706 = r35704 / r35705;
return r35706;
}
double f(double t) {
double r35707 = 2.0;
double r35708 = t;
double r35709 = r35707 * r35708;
double r35710 = 1.0;
double r35711 = r35710 + r35708;
double r35712 = r35709 / r35711;
double r35713 = fma(r35712, r35712, r35710);
double r35714 = fma(r35712, r35712, r35707);
double r35715 = r35713 / r35714;
double r35716 = exp(r35715);
double r35717 = log(r35716);
return r35717;
}



Bits error versus t
Initial program 0.1
Simplified0.1
rmApplied add-log-exp0.1
Final simplification0.1
herbie shell --seed 2019199 +o rules:numerics
(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))))))