\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 3.12425572731382792 \cdot 10^{160}:\\
\;\;\;\;\frac{\frac{\sqrt[3]{{\left(\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}\right)}^{3}}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\alpha + \left(\beta + 3\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{1}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\left(\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}\right) \cdot \sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r96707 = alpha;
double r96708 = beta;
double r96709 = r96707 + r96708;
double r96710 = r96708 * r96707;
double r96711 = r96709 + r96710;
double r96712 = 1.0;
double r96713 = r96711 + r96712;
double r96714 = 2.0;
double r96715 = r96714 * r96712;
double r96716 = r96709 + r96715;
double r96717 = r96713 / r96716;
double r96718 = r96717 / r96716;
double r96719 = r96716 + r96712;
double r96720 = r96718 / r96719;
return r96720;
}
double f(double alpha, double beta) {
double r96721 = alpha;
double r96722 = 3.124255727313828e+160;
bool r96723 = r96721 <= r96722;
double r96724 = beta;
double r96725 = r96721 + r96724;
double r96726 = r96724 * r96721;
double r96727 = r96725 + r96726;
double r96728 = 1.0;
double r96729 = r96727 + r96728;
double r96730 = 2.0;
double r96731 = r96730 * r96728;
double r96732 = r96725 + r96731;
double r96733 = r96729 / r96732;
double r96734 = 3.0;
double r96735 = pow(r96733, r96734);
double r96736 = cbrt(r96735);
double r96737 = r96736 / r96732;
double r96738 = 3.0;
double r96739 = r96724 + r96738;
double r96740 = r96721 + r96739;
double r96741 = r96737 / r96740;
double r96742 = 1.0;
double r96743 = sqrt(r96732);
double r96744 = r96742 / r96743;
double r96745 = r96742 / r96721;
double r96746 = r96742 / r96724;
double r96747 = r96745 + r96746;
double r96748 = 2.0;
double r96749 = pow(r96721, r96748);
double r96750 = r96742 / r96749;
double r96751 = r96747 - r96750;
double r96752 = r96751 * r96743;
double r96753 = r96744 / r96752;
double r96754 = r96732 + r96728;
double r96755 = r96753 / r96754;
double r96756 = r96723 ? r96741 : r96755;
return r96756;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 3.124255727313828e+160Initial program 1.2
Taylor expanded around 0 1.2
Simplified1.2
rmApplied add-cbrt-cube8.3
Applied add-cbrt-cube18.0
Applied cbrt-undiv18.0
Simplified1.7
if 3.124255727313828e+160 < alpha Initial program 15.8
rmApplied add-sqr-sqrt15.9
Applied *-un-lft-identity15.9
Applied times-frac15.9
Applied associate-/l*15.9
Simplified15.9
Taylor expanded around inf 0.1
Final simplification1.4
herbie shell --seed 2020036 +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)))