\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{2}{\alpha}\right) - \frac{8}{{\alpha}^{3}}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r111442 = beta;
double r111443 = alpha;
double r111444 = r111442 - r111443;
double r111445 = r111443 + r111442;
double r111446 = 2.0;
double r111447 = r111445 + r111446;
double r111448 = r111444 / r111447;
double r111449 = 1.0;
double r111450 = r111448 + r111449;
double r111451 = r111450 / r111446;
return r111451;
}
double f(double alpha, double beta) {
double r111452 = alpha;
double r111453 = 5062494549189153.0;
bool r111454 = r111452 <= r111453;
double r111455 = 2.0;
double r111456 = sqrt(r111455);
double r111457 = log(r111456);
double r111458 = -r111457;
double r111459 = beta;
double r111460 = r111452 + r111459;
double r111461 = r111460 + r111455;
double r111462 = r111459 / r111461;
double r111463 = r111452 / r111461;
double r111464 = 1.0;
double r111465 = r111463 - r111464;
double r111466 = r111462 - r111465;
double r111467 = r111466 / r111456;
double r111468 = log(r111467);
double r111469 = r111458 + r111468;
double r111470 = exp(r111469);
double r111471 = cbrt(r111459);
double r111472 = r111471 * r111471;
double r111473 = cbrt(r111461);
double r111474 = r111473 * r111473;
double r111475 = r111472 / r111474;
double r111476 = r111471 / r111473;
double r111477 = r111475 * r111476;
double r111478 = 4.0;
double r111479 = 2.0;
double r111480 = pow(r111452, r111479);
double r111481 = r111478 / r111480;
double r111482 = r111455 / r111452;
double r111483 = r111481 - r111482;
double r111484 = 8.0;
double r111485 = 3.0;
double r111486 = pow(r111452, r111485);
double r111487 = r111484 / r111486;
double r111488 = r111483 - r111487;
double r111489 = r111477 - r111488;
double r111490 = r111489 / r111455;
double r111491 = r111454 ? r111470 : r111490;
return r111491;
}



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
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))