\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 307451316.10967922210693359375:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)}}{2}\\
\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{2}{\alpha}\right) - \frac{8}{{\alpha}^{3}}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r55451 = beta;
double r55452 = alpha;
double r55453 = r55451 - r55452;
double r55454 = r55452 + r55451;
double r55455 = 2.0;
double r55456 = r55454 + r55455;
double r55457 = r55453 / r55456;
double r55458 = 1.0;
double r55459 = r55457 + r55458;
double r55460 = r55459 / r55455;
return r55460;
}
double f(double alpha, double beta) {
double r55461 = alpha;
double r55462 = 307451316.1096792;
bool r55463 = r55461 <= r55462;
double r55464 = beta;
double r55465 = r55461 + r55464;
double r55466 = 2.0;
double r55467 = r55465 + r55466;
double r55468 = r55464 / r55467;
double r55469 = r55461 / r55467;
double r55470 = 1.0;
double r55471 = r55469 - r55470;
double r55472 = r55468 - r55471;
double r55473 = log(r55472);
double r55474 = exp(r55473);
double r55475 = r55474 / r55466;
double r55476 = cbrt(r55464);
double r55477 = r55476 * r55476;
double r55478 = cbrt(r55467);
double r55479 = r55478 * r55478;
double r55480 = r55477 / r55479;
double r55481 = r55476 / r55478;
double r55482 = r55480 * r55481;
double r55483 = 4.0;
double r55484 = 2.0;
double r55485 = pow(r55461, r55484);
double r55486 = r55483 / r55485;
double r55487 = r55466 / r55461;
double r55488 = r55486 - r55487;
double r55489 = 8.0;
double r55490 = 3.0;
double r55491 = pow(r55461, r55490);
double r55492 = r55489 / r55491;
double r55493 = r55488 - r55492;
double r55494 = r55482 - r55493;
double r55495 = r55494 / r55466;
double r55496 = r55463 ? r55475 : r55495;
return r55496;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 307451316.1096792Initial program 0.1
rmApplied div-sub0.1
Applied associate-+l-0.1
rmApplied add-exp-log0.1
if 307451316.1096792 < alpha Initial program 49.9
rmApplied div-sub49.9
Applied associate-+l-48.3
rmApplied add-log-exp48.3
Applied add-log-exp48.4
Applied diff-log48.4
Simplified48.4
rmApplied add-cube-cbrt48.5
Applied add-cube-cbrt48.4
Applied times-frac48.4
Taylor expanded around inf 17.8
Simplified17.8
Final simplification5.9
herbie shell --seed 2019325
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))