\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 686668042177335661463411015811072:\\
\;\;\;\;\frac{\frac{\beta}{2 + \left(\beta + \alpha\right)} - \mathsf{fma}\left(\frac{1}{\sqrt[3]{2 + \left(\beta + \alpha\right)} \cdot \sqrt[3]{2 + \left(\beta + \alpha\right)}}, \frac{\alpha}{\sqrt[3]{2 + \left(\beta + \alpha\right)}}, -1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{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 r3525424 = beta;
double r3525425 = alpha;
double r3525426 = r3525424 - r3525425;
double r3525427 = r3525425 + r3525424;
double r3525428 = 2.0;
double r3525429 = r3525427 + r3525428;
double r3525430 = r3525426 / r3525429;
double r3525431 = 1.0;
double r3525432 = r3525430 + r3525431;
double r3525433 = r3525432 / r3525428;
return r3525433;
}
double f(double alpha, double beta) {
double r3525434 = alpha;
double r3525435 = 6.866680421773357e+32;
bool r3525436 = r3525434 <= r3525435;
double r3525437 = beta;
double r3525438 = 2.0;
double r3525439 = r3525437 + r3525434;
double r3525440 = r3525438 + r3525439;
double r3525441 = r3525437 / r3525440;
double r3525442 = 1.0;
double r3525443 = cbrt(r3525440);
double r3525444 = r3525443 * r3525443;
double r3525445 = r3525442 / r3525444;
double r3525446 = r3525434 / r3525443;
double r3525447 = 1.0;
double r3525448 = -r3525447;
double r3525449 = fma(r3525445, r3525446, r3525448);
double r3525450 = r3525441 - r3525449;
double r3525451 = r3525450 / r3525438;
double r3525452 = 4.0;
double r3525453 = r3525434 * r3525434;
double r3525454 = r3525452 / r3525453;
double r3525455 = r3525438 / r3525434;
double r3525456 = 8.0;
double r3525457 = r3525434 * r3525453;
double r3525458 = r3525456 / r3525457;
double r3525459 = r3525455 + r3525458;
double r3525460 = r3525454 - r3525459;
double r3525461 = r3525441 - r3525460;
double r3525462 = r3525461 / r3525438;
double r3525463 = r3525436 ? r3525451 : r3525462;
return r3525463;
}



Bits error versus alpha



Bits error versus beta
if alpha < 6.866680421773357e+32Initial program 1.6
rmApplied div-sub1.6
Applied associate-+l-1.6
rmApplied add-cube-cbrt1.6
Applied *-un-lft-identity1.6
Applied times-frac1.6
Applied fma-neg1.6
if 6.866680421773357e+32 < alpha Initial program 50.6
rmApplied div-sub50.6
Applied associate-+l-49.0
Taylor expanded around inf 18.4
Simplified18.4
Final simplification6.5
herbie shell --seed 2019168 +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))