\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 16045536794042094:\\
\;\;\;\;\frac{e^{\sqrt[3]{{\left(\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)\right)}^{3}}}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \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 r110209 = beta;
double r110210 = alpha;
double r110211 = r110209 - r110210;
double r110212 = r110210 + r110209;
double r110213 = 2.0;
double r110214 = r110212 + r110213;
double r110215 = r110211 / r110214;
double r110216 = 1.0;
double r110217 = r110215 + r110216;
double r110218 = r110217 / r110213;
return r110218;
}
double f(double alpha, double beta) {
double r110219 = alpha;
double r110220 = 16045536794042094.0;
bool r110221 = r110219 <= r110220;
double r110222 = beta;
double r110223 = r110219 + r110222;
double r110224 = 2.0;
double r110225 = r110223 + r110224;
double r110226 = r110222 / r110225;
double r110227 = r110219 / r110225;
double r110228 = 1.0;
double r110229 = r110227 - r110228;
double r110230 = r110226 - r110229;
double r110231 = log(r110230);
double r110232 = 3.0;
double r110233 = pow(r110231, r110232);
double r110234 = cbrt(r110233);
double r110235 = exp(r110234);
double r110236 = r110235 / r110224;
double r110237 = 4.0;
double r110238 = 1.0;
double r110239 = 2.0;
double r110240 = pow(r110219, r110239);
double r110241 = r110238 / r110240;
double r110242 = r110238 / r110219;
double r110243 = 8.0;
double r110244 = pow(r110219, r110232);
double r110245 = r110238 / r110244;
double r110246 = r110243 * r110245;
double r110247 = fma(r110224, r110242, r110246);
double r110248 = -r110247;
double r110249 = fma(r110237, r110241, r110248);
double r110250 = r110226 - r110249;
double r110251 = r110250 / r110224;
double r110252 = r110221 ? r110236 : r110251;
return r110252;
}



Bits error versus alpha



Bits error versus beta
if alpha < 16045536794042094.0Initial program 0.4
rmApplied div-sub0.4
Applied associate-+l-0.4
rmApplied add-exp-log0.4
rmApplied add-cbrt-cube0.4
Simplified0.4
if 16045536794042094.0 < alpha Initial program 51.0
rmApplied div-sub51.0
Applied associate-+l-49.4
Taylor expanded around inf 18.0
Simplified18.0
Final simplification5.9
herbie shell --seed 2020039 +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))