\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 3.73166366653750566 \cdot 10^{29}:\\
\;\;\;\;e^{\log \left(\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \sqrt[3]{{\left(\mathsf{fma}\left(\frac{1}{\sqrt{\left(\alpha + \beta\right) + 2}}, \frac{\alpha}{\sqrt{\left(\alpha + \beta\right) + 2}}, -1\right) + 1 \cdot 0\right)}^{3}}}{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{4}{\alpha \cdot \alpha} - \left(\frac{2}{\alpha} + \frac{8}{{\alpha}^{3}}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r119644 = beta;
double r119645 = alpha;
double r119646 = r119644 - r119645;
double r119647 = r119645 + r119644;
double r119648 = 2.0;
double r119649 = r119647 + r119648;
double r119650 = r119646 / r119649;
double r119651 = 1.0;
double r119652 = r119650 + r119651;
double r119653 = r119652 / r119648;
return r119653;
}
double f(double alpha, double beta) {
double r119654 = alpha;
double r119655 = 3.731663666537506e+29;
bool r119656 = r119654 <= r119655;
double r119657 = beta;
double r119658 = r119654 + r119657;
double r119659 = 2.0;
double r119660 = r119658 + r119659;
double r119661 = r119657 / r119660;
double r119662 = 1.0;
double r119663 = sqrt(r119660);
double r119664 = r119662 / r119663;
double r119665 = r119654 / r119663;
double r119666 = 1.0;
double r119667 = -r119666;
double r119668 = fma(r119664, r119665, r119667);
double r119669 = 0.0;
double r119670 = r119666 * r119669;
double r119671 = r119668 + r119670;
double r119672 = 3.0;
double r119673 = pow(r119671, r119672);
double r119674 = cbrt(r119673);
double r119675 = r119661 - r119674;
double r119676 = r119675 / r119659;
double r119677 = log(r119676);
double r119678 = exp(r119677);
double r119679 = 4.0;
double r119680 = r119654 * r119654;
double r119681 = r119679 / r119680;
double r119682 = r119659 / r119654;
double r119683 = 8.0;
double r119684 = pow(r119654, r119672);
double r119685 = r119683 / r119684;
double r119686 = r119682 + r119685;
double r119687 = r119681 - r119686;
double r119688 = r119661 - r119687;
double r119689 = r119688 / r119659;
double r119690 = r119656 ? r119678 : r119689;
return r119690;
}



Bits error versus alpha



Bits error versus beta
if alpha < 3.731663666537506e+29Initial program 1.2
rmApplied div-sub1.2
Applied associate-+l-1.2
rmApplied add-exp-log1.2
Applied add-exp-log1.2
Applied div-exp1.2
Simplified1.2
rmApplied add-cbrt-cube1.2
Simplified1.2
rmApplied add-cube-cbrt1.2
Applied add-sqr-sqrt1.2
Applied *-un-lft-identity1.2
Applied times-frac1.2
Applied prod-diff1.2
Simplified1.2
Simplified1.2
if 3.731663666537506e+29 < alpha Initial program 50.9
rmApplied div-sub50.9
Applied associate-+l-49.1
Taylor expanded around inf 18.4
Simplified18.4
Final simplification6.3
herbie shell --seed 2020045 +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))