\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 5062494549189153:\\
\;\;\;\;e^{\left(-\log \left(\sqrt{2}\right)\right) + \log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{\sqrt{2}}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2}} \cdot \frac{\sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2}} - \left(\left(\frac{4}{{\alpha}^{2}} - \frac{8}{{\alpha}^{3}}\right) - \frac{2}{\alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r53939 = beta;
double r53940 = alpha;
double r53941 = r53939 - r53940;
double r53942 = r53940 + r53939;
double r53943 = 2.0;
double r53944 = r53942 + r53943;
double r53945 = r53941 / r53944;
double r53946 = 1.0;
double r53947 = r53945 + r53946;
double r53948 = r53947 / r53943;
return r53948;
}
double f(double alpha, double beta) {
double r53949 = alpha;
double r53950 = 5062494549189153.0;
bool r53951 = r53949 <= r53950;
double r53952 = 2.0;
double r53953 = sqrt(r53952);
double r53954 = log(r53953);
double r53955 = -r53954;
double r53956 = beta;
double r53957 = r53949 + r53956;
double r53958 = r53957 + r53952;
double r53959 = r53956 / r53958;
double r53960 = r53949 / r53958;
double r53961 = 1.0;
double r53962 = r53960 - r53961;
double r53963 = r53959 - r53962;
double r53964 = r53963 / r53953;
double r53965 = log(r53964);
double r53966 = r53955 + r53965;
double r53967 = exp(r53966);
double r53968 = cbrt(r53956);
double r53969 = r53968 * r53968;
double r53970 = cbrt(r53958);
double r53971 = r53970 * r53970;
double r53972 = r53969 / r53971;
double r53973 = r53968 / r53970;
double r53974 = r53972 * r53973;
double r53975 = 4.0;
double r53976 = 2.0;
double r53977 = pow(r53949, r53976);
double r53978 = r53975 / r53977;
double r53979 = 8.0;
double r53980 = 3.0;
double r53981 = pow(r53949, r53980);
double r53982 = r53979 / r53981;
double r53983 = r53978 - r53982;
double r53984 = r53952 / r53949;
double r53985 = r53983 - r53984;
double r53986 = r53974 - r53985;
double r53987 = r53986 / r53952;
double r53988 = r53951 ? r53967 : r53987;
return r53988;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 5062494549189153.0Initial program 0.4
rmApplied div-sub0.4
Applied associate-+l-0.4
rmApplied add-exp-log0.4
Applied add-exp-log0.4
Applied div-exp0.4
Simplified0.4
rmApplied add-sqr-sqrt1.9
Applied *-un-lft-identity1.9
Applied times-frac1.9
Applied log-prod1.7
Simplified1.4
if 5062494549189153.0 < alpha Initial program 50.4
rmApplied div-sub50.4
Applied associate-+l-48.7
rmApplied add-cube-cbrt48.9
Applied add-cube-cbrt48.8
Applied times-frac48.8
Taylor expanded around inf 18.4
Simplified18.4
Final simplification6.8
herbie shell --seed 2019303 +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))