\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1188863810682620.75:\\
\;\;\;\;\frac{\sqrt[3]{{\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}\right)}^{3}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\frac{4}{\alpha}}{\alpha} - \left(\frac{2}{\alpha} - \frac{-8}{{\alpha}^{3}}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r363 = beta;
double r364 = alpha;
double r365 = r363 - r364;
double r366 = r364 + r363;
double r367 = 2.0;
double r368 = r366 + r367;
double r369 = r365 / r368;
double r370 = 1.0;
double r371 = r369 + r370;
double r372 = r371 / r367;
return r372;
}
double f(double alpha, double beta) {
double r373 = alpha;
double r374 = 1188863810682620.8;
bool r375 = r373 <= r374;
double r376 = beta;
double r377 = r373 + r376;
double r378 = 2.0;
double r379 = r377 + r378;
double r380 = r376 / r379;
double r381 = 3.0;
double r382 = pow(r380, r381);
double r383 = cbrt(r382);
double r384 = r373 / r379;
double r385 = 1.0;
double r386 = r384 - r385;
double r387 = r383 - r386;
double r388 = r387 / r378;
double r389 = 4.0;
double r390 = r389 / r373;
double r391 = r390 / r373;
double r392 = r378 / r373;
double r393 = 8.0;
double r394 = -r393;
double r395 = pow(r373, r381);
double r396 = r394 / r395;
double r397 = r392 - r396;
double r398 = r391 - r397;
double r399 = r380 - r398;
double r400 = r399 / r378;
double r401 = r375 ? r388 : r400;
return r401;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1188863810682620.8Initial program 0.3
rmApplied div-sub0.3
Applied associate-+l-0.3
rmApplied add-cbrt-cube11.2
Applied add-cbrt-cube13.7
Applied cbrt-undiv13.7
Simplified0.3
if 1188863810682620.8 < alpha Initial program 50.2
rmApplied div-sub50.2
Applied associate-+l-48.7
Taylor expanded around inf 18.3
Simplified18.3
Final simplification6.0
herbie shell --seed 2020025 +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))