\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1290203807327944437661696:\\
\;\;\;\;\frac{\log \left(e^{\frac{\beta}{\left(\alpha + \beta\right) + 2}}\right) - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{\left(\alpha + \beta\right) + 2}{\beta}} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r101641 = beta;
double r101642 = alpha;
double r101643 = r101641 - r101642;
double r101644 = r101642 + r101641;
double r101645 = 2.0;
double r101646 = r101644 + r101645;
double r101647 = r101643 / r101646;
double r101648 = 1.0;
double r101649 = r101647 + r101648;
double r101650 = r101649 / r101645;
return r101650;
}
double f(double alpha, double beta) {
double r101651 = alpha;
double r101652 = 1.2902038073279444e+24;
bool r101653 = r101651 <= r101652;
double r101654 = beta;
double r101655 = r101651 + r101654;
double r101656 = 2.0;
double r101657 = r101655 + r101656;
double r101658 = r101654 / r101657;
double r101659 = exp(r101658);
double r101660 = log(r101659);
double r101661 = r101651 / r101657;
double r101662 = 1.0;
double r101663 = r101661 - r101662;
double r101664 = r101660 - r101663;
double r101665 = r101664 / r101656;
double r101666 = 1.0;
double r101667 = r101657 / r101654;
double r101668 = r101666 / r101667;
double r101669 = 4.0;
double r101670 = 2.0;
double r101671 = pow(r101651, r101670);
double r101672 = r101666 / r101671;
double r101673 = r101666 / r101651;
double r101674 = 8.0;
double r101675 = 3.0;
double r101676 = pow(r101651, r101675);
double r101677 = r101666 / r101676;
double r101678 = r101674 * r101677;
double r101679 = fma(r101656, r101673, r101678);
double r101680 = -r101679;
double r101681 = fma(r101669, r101672, r101680);
double r101682 = r101668 - r101681;
double r101683 = r101682 / r101656;
double r101684 = r101653 ? r101665 : r101683;
return r101684;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.2902038073279444e+24Initial program 0.7
rmApplied div-sub0.7
Applied associate-+l-0.7
rmApplied add-log-exp0.7
if 1.2902038073279444e+24 < alpha Initial program 50.1
rmApplied div-sub50.1
Applied associate-+l-48.6
rmApplied clear-num48.6
Taylor expanded around inf 17.8
Simplified17.8
Final simplification5.9
herbie shell --seed 2020001 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))