\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.30567877700455932 \cdot 10^{40}:\\
\;\;\;\;\frac{\log \left(e^{\sqrt[3]{{\left(\sqrt[3]{\frac{\beta}{\left(\alpha + \beta\right) + 2}}\right)}^{6}}}\right) \cdot \sqrt[3]{\frac{\beta}{\left(\alpha + \beta\right) + 2}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{2}{\alpha}\right) - \frac{8}{{\alpha}^{3}}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r181496 = beta;
double r181497 = alpha;
double r181498 = r181496 - r181497;
double r181499 = r181497 + r181496;
double r181500 = 2.0;
double r181501 = r181499 + r181500;
double r181502 = r181498 / r181501;
double r181503 = 1.0;
double r181504 = r181502 + r181503;
double r181505 = r181504 / r181500;
return r181505;
}
double f(double alpha, double beta) {
double r181506 = alpha;
double r181507 = 1.3056787770045593e+40;
bool r181508 = r181506 <= r181507;
double r181509 = beta;
double r181510 = r181506 + r181509;
double r181511 = 2.0;
double r181512 = r181510 + r181511;
double r181513 = r181509 / r181512;
double r181514 = cbrt(r181513);
double r181515 = 6.0;
double r181516 = pow(r181514, r181515);
double r181517 = cbrt(r181516);
double r181518 = exp(r181517);
double r181519 = log(r181518);
double r181520 = r181519 * r181514;
double r181521 = r181506 / r181512;
double r181522 = 1.0;
double r181523 = r181521 - r181522;
double r181524 = r181520 - r181523;
double r181525 = r181524 / r181511;
double r181526 = 4.0;
double r181527 = r181506 * r181506;
double r181528 = r181526 / r181527;
double r181529 = r181511 / r181506;
double r181530 = r181528 - r181529;
double r181531 = 8.0;
double r181532 = 3.0;
double r181533 = pow(r181506, r181532);
double r181534 = r181531 / r181533;
double r181535 = r181530 - r181534;
double r181536 = r181513 - r181535;
double r181537 = r181536 / r181511;
double r181538 = r181508 ? r181525 : r181537;
return r181538;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.3056787770045593e+40Initial program 1.9
rmApplied div-sub1.9
Applied associate-+l-1.9
rmApplied add-cube-cbrt1.9
rmApplied pow1/321.7
Applied pow1/321.7
Applied pow-prod-down1.9
Simplified1.9
rmApplied add-log-exp1.9
Simplified1.9
if 1.3056787770045593e+40 < alpha Initial program 51.1
rmApplied div-sub51.1
Applied associate-+l-49.5
Taylor expanded around inf 17.5
Simplified17.5
Final simplification6.4
herbie shell --seed 2020042 +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))