\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 11629067263522.379:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0\right)\right)}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\beta \cdot \frac{1}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{2.0}{\alpha} + \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right)\right)}{2.0}\\
\end{array}double f(double alpha, double beta) {
double r3323716 = beta;
double r3323717 = alpha;
double r3323718 = r3323716 - r3323717;
double r3323719 = r3323717 + r3323716;
double r3323720 = 2.0;
double r3323721 = r3323719 + r3323720;
double r3323722 = r3323718 / r3323721;
double r3323723 = 1.0;
double r3323724 = r3323722 + r3323723;
double r3323725 = r3323724 / r3323720;
return r3323725;
}
double f(double alpha, double beta) {
double r3323726 = alpha;
double r3323727 = 11629067263522.379;
bool r3323728 = r3323726 <= r3323727;
double r3323729 = beta;
double r3323730 = 2.0;
double r3323731 = r3323729 + r3323726;
double r3323732 = r3323730 + r3323731;
double r3323733 = r3323729 / r3323732;
double r3323734 = r3323726 / r3323732;
double r3323735 = 1.0;
double r3323736 = r3323734 - r3323735;
double r3323737 = r3323733 - r3323736;
double r3323738 = log(r3323737);
double r3323739 = exp(r3323738);
double r3323740 = r3323739 / r3323730;
double r3323741 = 1.0;
double r3323742 = r3323741 / r3323732;
double r3323743 = r3323729 * r3323742;
double r3323744 = 4.0;
double r3323745 = r3323726 * r3323726;
double r3323746 = r3323744 / r3323745;
double r3323747 = r3323730 / r3323726;
double r3323748 = 8.0;
double r3323749 = r3323726 * r3323745;
double r3323750 = r3323748 / r3323749;
double r3323751 = r3323747 + r3323750;
double r3323752 = r3323746 - r3323751;
double r3323753 = r3323743 - r3323752;
double r3323754 = r3323753 / r3323730;
double r3323755 = r3323728 ? r3323740 : r3323754;
return r3323755;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 11629067263522.379Initial program 0.3
rmApplied div-sub0.3
Applied associate-+l-0.3
rmApplied add-exp-log0.3
if 11629067263522.379 < alpha Initial program 49.9
rmApplied div-sub49.9
Applied associate-+l-48.3
rmApplied div-inv48.3
Taylor expanded around inf 18.5
Simplified18.5
Final simplification6.0
herbie shell --seed 2019163 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))