\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 10272132967178968:\\
\;\;\;\;\frac{\sqrt[3]{\frac{\beta}{2 + \left(\beta + \alpha\right)} \cdot \left(\frac{\beta}{2 + \left(\beta + \alpha\right)} \cdot \frac{\beta}{2 + \left(\beta + \alpha\right)}\right)} - \left(\frac{\alpha}{2 + \left(\beta + \alpha\right)} - 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\sqrt{2 + \left(\beta + \alpha\right)}} \cdot \frac{\beta}{\sqrt{2 + \left(\beta + \alpha\right)}} - \left(\frac{4}{\alpha \cdot \alpha} - \left(\frac{2}{\alpha} + \frac{8}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r3593481 = beta;
double r3593482 = alpha;
double r3593483 = r3593481 - r3593482;
double r3593484 = r3593482 + r3593481;
double r3593485 = 2.0;
double r3593486 = r3593484 + r3593485;
double r3593487 = r3593483 / r3593486;
double r3593488 = 1.0;
double r3593489 = r3593487 + r3593488;
double r3593490 = r3593489 / r3593485;
return r3593490;
}
double f(double alpha, double beta) {
double r3593491 = alpha;
double r3593492 = 10272132967178968.0;
bool r3593493 = r3593491 <= r3593492;
double r3593494 = beta;
double r3593495 = 2.0;
double r3593496 = r3593494 + r3593491;
double r3593497 = r3593495 + r3593496;
double r3593498 = r3593494 / r3593497;
double r3593499 = r3593498 * r3593498;
double r3593500 = r3593498 * r3593499;
double r3593501 = cbrt(r3593500);
double r3593502 = r3593491 / r3593497;
double r3593503 = 1.0;
double r3593504 = r3593502 - r3593503;
double r3593505 = r3593501 - r3593504;
double r3593506 = r3593505 / r3593495;
double r3593507 = 1.0;
double r3593508 = sqrt(r3593497);
double r3593509 = r3593507 / r3593508;
double r3593510 = r3593494 / r3593508;
double r3593511 = r3593509 * r3593510;
double r3593512 = 4.0;
double r3593513 = r3593491 * r3593491;
double r3593514 = r3593512 / r3593513;
double r3593515 = r3593495 / r3593491;
double r3593516 = 8.0;
double r3593517 = r3593491 * r3593513;
double r3593518 = r3593516 / r3593517;
double r3593519 = r3593515 + r3593518;
double r3593520 = r3593514 - r3593519;
double r3593521 = r3593511 - r3593520;
double r3593522 = r3593521 / r3593495;
double r3593523 = r3593493 ? r3593506 : r3593522;
return r3593523;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 10272132967178968.0Initial program 0.4
rmApplied div-sub0.4
Applied associate-+l-0.4
rmApplied add-cbrt-cube0.5
if 10272132967178968.0 < alpha Initial program 50.0
rmApplied div-sub49.9
Applied associate-+l-48.4
rmApplied add-sqr-sqrt48.4
Applied *-un-lft-identity48.4
Applied times-frac48.4
Taylor expanded around inf 18.4
Simplified18.4
Final simplification6.1
herbie shell --seed 2019172 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))