\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{\mathsf{fma}\left(\frac{\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2}}, \frac{\sqrt[3]{\beta}}{\sqrt[3]{\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)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r105222 = beta;
double r105223 = alpha;
double r105224 = r105222 - r105223;
double r105225 = r105223 + r105222;
double r105226 = 2.0;
double r105227 = r105225 + r105226;
double r105228 = r105224 / r105227;
double r105229 = 1.0;
double r105230 = r105228 + r105229;
double r105231 = r105230 / r105226;
return r105231;
}
double f(double alpha, double beta) {
double r105232 = alpha;
double r105233 = 1.2902038073279444e+24;
bool r105234 = r105232 <= r105233;
double r105235 = beta;
double r105236 = r105232 + r105235;
double r105237 = 2.0;
double r105238 = r105236 + r105237;
double r105239 = r105235 / r105238;
double r105240 = exp(r105239);
double r105241 = log(r105240);
double r105242 = r105232 / r105238;
double r105243 = 1.0;
double r105244 = r105242 - r105243;
double r105245 = r105241 - r105244;
double r105246 = r105245 / r105237;
double r105247 = cbrt(r105235);
double r105248 = r105247 * r105247;
double r105249 = cbrt(r105238);
double r105250 = r105249 * r105249;
double r105251 = r105248 / r105250;
double r105252 = r105247 / r105249;
double r105253 = 4.0;
double r105254 = 1.0;
double r105255 = 2.0;
double r105256 = pow(r105232, r105255);
double r105257 = r105254 / r105256;
double r105258 = r105254 / r105232;
double r105259 = 8.0;
double r105260 = 3.0;
double r105261 = pow(r105232, r105260);
double r105262 = r105254 / r105261;
double r105263 = r105259 * r105262;
double r105264 = fma(r105237, r105258, r105263);
double r105265 = -r105264;
double r105266 = fma(r105253, r105257, r105265);
double r105267 = -r105266;
double r105268 = fma(r105251, r105252, r105267);
double r105269 = r105268 / r105237;
double r105270 = r105234 ? r105246 : r105269;
return r105270;
}



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 add-cube-cbrt48.7
Applied add-cube-cbrt48.6
Applied times-frac48.6
Applied fma-neg48.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))