\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}
\mathbf{if}\;t \le -0.9868159492179903180542055451951455324888 \lor \neg \left(t \le -3.313528188510913480099885108561084898092 \cdot 10^{-310}\right):\\
\;\;\;\;\log \left(e^{\frac{1 + {\left(\sqrt{\frac{t}{1 + t} \cdot 2}\right)}^{\left(3 + 1\right)}}{2 + {\left(\sqrt{\frac{t}{1 + t} \cdot 2}\right)}^{\left(3 + 1\right)}}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(1 \cdot {t}^{2} + 0.5\right) - 2 \cdot {t}^{3}\\
\end{array}double f(double t) {
double r64924 = 1.0;
double r64925 = 2.0;
double r64926 = t;
double r64927 = r64925 * r64926;
double r64928 = r64924 + r64926;
double r64929 = r64927 / r64928;
double r64930 = r64929 * r64929;
double r64931 = r64924 + r64930;
double r64932 = r64925 + r64930;
double r64933 = r64931 / r64932;
return r64933;
}
double f(double t) {
double r64934 = t;
double r64935 = -0.9868159492179903;
bool r64936 = r64934 <= r64935;
double r64937 = -3.3135281885109e-310;
bool r64938 = r64934 <= r64937;
double r64939 = !r64938;
bool r64940 = r64936 || r64939;
double r64941 = 1.0;
double r64942 = r64941 + r64934;
double r64943 = r64934 / r64942;
double r64944 = 2.0;
double r64945 = r64943 * r64944;
double r64946 = sqrt(r64945);
double r64947 = 3.0;
double r64948 = 1.0;
double r64949 = r64947 + r64948;
double r64950 = pow(r64946, r64949);
double r64951 = r64941 + r64950;
double r64952 = r64944 + r64950;
double r64953 = r64951 / r64952;
double r64954 = exp(r64953);
double r64955 = log(r64954);
double r64956 = 2.0;
double r64957 = pow(r64934, r64956);
double r64958 = r64941 * r64957;
double r64959 = 0.5;
double r64960 = r64958 + r64959;
double r64961 = pow(r64934, r64947);
double r64962 = r64944 * r64961;
double r64963 = r64960 - r64962;
double r64964 = r64940 ? r64955 : r64963;
return r64964;
}



Bits error versus t
Results
if t < -0.9868159492179903 or -3.3135281885109e-310 < t Initial program 0.0
rmApplied add-log-exp0.0
Simplified0.0
if -0.9868159492179903 < t < -3.3135281885109e-310Initial program 0.0
Taylor expanded around 0 0.3
Final simplification0.1
herbie shell --seed 2019351
(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))))))