\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.9395704295709712 \cdot 10^{178}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\mathsf{fma}\left(0.77777777777777779, {0.1111111111111111}^{\frac{1}{3}} \cdot \left(\sqrt{0.5} \cdot \beta\right), \mathsf{fma}\left(1, {0.1111111111111111}^{\frac{1}{3}} \cdot \sqrt{0.5}, 0.75 \cdot \left(\left(\alpha \cdot \sqrt{0.5}\right) \cdot {0.1111111111111111}^{\frac{1}{3}}\right)\right)\right) - 0.125 \cdot \left({0.1111111111111111}^{\frac{1}{3}} \cdot \frac{\beta}{\sqrt{0.5}}\right)\right) - 2 \cdot \left(\left(\alpha \cdot \sqrt{0.5}\right) \cdot {\left( 1.52415790275872584 \cdot 10^{-4} \right)}^{\frac{1}{3}}\right)\right) \cdot \frac{\frac{\frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}}\\
\end{array}double f(double alpha, double beta) {
double r111665 = alpha;
double r111666 = beta;
double r111667 = r111665 + r111666;
double r111668 = r111666 * r111665;
double r111669 = r111667 + r111668;
double r111670 = 1.0;
double r111671 = r111669 + r111670;
double r111672 = 2.0;
double r111673 = r111672 * r111670;
double r111674 = r111667 + r111673;
double r111675 = r111671 / r111674;
double r111676 = r111675 / r111674;
double r111677 = r111674 + r111670;
double r111678 = r111676 / r111677;
return r111678;
}
double f(double alpha, double beta) {
double r111679 = alpha;
double r111680 = 1.939570429570971e+178;
bool r111681 = r111679 <= r111680;
double r111682 = beta;
double r111683 = r111679 + r111682;
double r111684 = r111682 * r111679;
double r111685 = r111683 + r111684;
double r111686 = 1.0;
double r111687 = r111685 + r111686;
double r111688 = sqrt(r111687);
double r111689 = 2.0;
double r111690 = r111689 * r111686;
double r111691 = r111683 + r111690;
double r111692 = sqrt(r111691);
double r111693 = r111688 / r111692;
double r111694 = r111693 / r111692;
double r111695 = fma(r111689, r111686, r111686);
double r111696 = r111683 + r111695;
double r111697 = r111696 / r111688;
double r111698 = fma(r111686, r111689, r111683);
double r111699 = r111697 * r111698;
double r111700 = r111694 / r111699;
double r111701 = 0.7777777777777778;
double r111702 = 0.1111111111111111;
double r111703 = 0.3333333333333333;
double r111704 = pow(r111702, r111703);
double r111705 = 0.5;
double r111706 = sqrt(r111705);
double r111707 = r111706 * r111682;
double r111708 = r111704 * r111707;
double r111709 = r111704 * r111706;
double r111710 = 0.75;
double r111711 = r111679 * r111706;
double r111712 = r111711 * r111704;
double r111713 = r111710 * r111712;
double r111714 = fma(r111686, r111709, r111713);
double r111715 = fma(r111701, r111708, r111714);
double r111716 = 0.125;
double r111717 = r111682 / r111706;
double r111718 = r111704 * r111717;
double r111719 = r111716 * r111718;
double r111720 = r111715 - r111719;
double r111721 = 0.00015241579027587258;
double r111722 = pow(r111721, r111703);
double r111723 = r111711 * r111722;
double r111724 = r111689 * r111723;
double r111725 = r111720 - r111724;
double r111726 = 1.0;
double r111727 = r111726 / r111691;
double r111728 = r111727 / r111692;
double r111729 = r111691 + r111686;
double r111730 = cbrt(r111729);
double r111731 = r111728 / r111730;
double r111732 = r111725 * r111731;
double r111733 = r111681 ? r111700 : r111732;
return r111733;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.939570429570971e+178Initial program 1.4
rmApplied add-sqr-sqrt2.0
Applied add-sqr-sqrt2.4
Applied add-sqr-sqrt2.3
Applied times-frac2.3
Applied times-frac2.1
Applied associate-/l*2.1
Simplified1.5
if 1.939570429570971e+178 < alpha Initial program 15.2
rmApplied add-cube-cbrt15.2
Applied add-sqr-sqrt15.2
Applied div-inv15.2
Applied times-frac15.2
Applied times-frac15.9
Taylor expanded around 0 5.8
Simplified5.8
Final simplification2.1
herbie shell --seed 2020064 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1)))