\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}}
\begin{array}{l}
t_1 := \frac{2 \cdot t}{1 + t}\\
\frac{1 + {t_1}^{2}}{2 + \log \left(e^{t_1 \cdot t_1}\right)}
\end{array}
(FPCore (t) :precision binary64 (/ (+ 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))))))
(FPCore (t) :precision binary64 (let* ((t_1 (/ (* 2.0 t) (+ 1.0 t)))) (/ (+ 1.0 (pow t_1 2.0)) (+ 2.0 (log (exp (* t_1 t_1)))))))
double code(double t) {
return (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))));
}
double code(double t) {
double t_1 = (2.0 * t) / (1.0 + t);
return (1.0 + pow(t_1, 2.0)) / (2.0 + log(exp(t_1 * t_1)));
}



Bits error versus t
Results
Initial program 0.0
Applied add-log-exp_binary640.0
Applied pow2_binary640.0
Final simplification0.0
herbie shell --seed 2022024
(FPCore (t)
:name "Kahan p13 Example 1"
:precision binary64
(/ (+ 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))))))