\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 7316578.6943023018538951873779296875:\\
\;\;\;\;\frac{\beta \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} + 1\right) - \left(\left(\alpha + \beta\right) + 2\right) \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} \cdot \frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1 \cdot 1\right)}{2 \cdot \left(\left(\left(\alpha + \beta\right) + 2\right) \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} + 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{1}{{\alpha}^{2}} \cdot \left(4 - \frac{8}{\alpha}\right) + \frac{-2}{\alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r56681 = beta;
double r56682 = alpha;
double r56683 = r56681 - r56682;
double r56684 = r56682 + r56681;
double r56685 = 2.0;
double r56686 = r56684 + r56685;
double r56687 = r56683 / r56686;
double r56688 = 1.0;
double r56689 = r56687 + r56688;
double r56690 = r56689 / r56685;
return r56690;
}
double f(double alpha, double beta) {
double r56691 = alpha;
double r56692 = 7316578.694302302;
bool r56693 = r56691 <= r56692;
double r56694 = beta;
double r56695 = r56691 + r56694;
double r56696 = 2.0;
double r56697 = r56695 + r56696;
double r56698 = r56691 / r56697;
double r56699 = 1.0;
double r56700 = r56698 + r56699;
double r56701 = r56694 * r56700;
double r56702 = r56698 * r56698;
double r56703 = r56699 * r56699;
double r56704 = r56702 - r56703;
double r56705 = r56697 * r56704;
double r56706 = r56701 - r56705;
double r56707 = r56697 * r56700;
double r56708 = r56696 * r56707;
double r56709 = r56706 / r56708;
double r56710 = r56694 / r56697;
double r56711 = 1.0;
double r56712 = 2.0;
double r56713 = pow(r56691, r56712);
double r56714 = r56711 / r56713;
double r56715 = 4.0;
double r56716 = 8.0;
double r56717 = r56716 / r56691;
double r56718 = r56715 - r56717;
double r56719 = r56714 * r56718;
double r56720 = -r56696;
double r56721 = r56720 / r56691;
double r56722 = r56719 + r56721;
double r56723 = r56710 - r56722;
double r56724 = r56723 / r56696;
double r56725 = r56693 ? r56709 : r56724;
return r56725;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 7316578.694302302Initial program 0.1
rmApplied div-sub0.1
Applied associate-+l-0.1
rmApplied flip--0.1
Applied frac-sub0.1
Applied associate-/l/0.1
if 7316578.694302302 < alpha Initial program 50.1
rmApplied div-sub50.1
Applied associate-+l-48.6
rmApplied add-log-exp48.6
Applied add-log-exp48.6
Applied diff-log48.6
Simplified48.6
Taylor expanded around inf 17.7
Simplified17.7
Final simplification5.8
herbie shell --seed 2019294
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))