\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 6.2498429104423194 \cdot 10^{+159}:\\
\;\;\;\;\frac{\frac{1}{\left(\beta + \alpha\right) + 2}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\frac{\left(\left(\beta + \alpha\right) + \beta \cdot \alpha\right) + 1.0}{\left(\beta + \alpha\right) + 2}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\left(\beta + \alpha\right) + 2}}{\frac{\beta}{\alpha} + \left(2 + \frac{\alpha}{\beta}\right)}\\
\end{array}double f(double alpha, double beta) {
double r6125700 = alpha;
double r6125701 = beta;
double r6125702 = r6125700 + r6125701;
double r6125703 = r6125701 * r6125700;
double r6125704 = r6125702 + r6125703;
double r6125705 = 1.0;
double r6125706 = r6125704 + r6125705;
double r6125707 = 2.0;
double r6125708 = 1.0;
double r6125709 = r6125707 * r6125708;
double r6125710 = r6125702 + r6125709;
double r6125711 = r6125706 / r6125710;
double r6125712 = r6125711 / r6125710;
double r6125713 = r6125710 + r6125705;
double r6125714 = r6125712 / r6125713;
return r6125714;
}
double f(double alpha, double beta) {
double r6125715 = alpha;
double r6125716 = 6.2498429104423194e+159;
bool r6125717 = r6125715 <= r6125716;
double r6125718 = 1.0;
double r6125719 = beta;
double r6125720 = r6125719 + r6125715;
double r6125721 = 2.0;
double r6125722 = r6125720 + r6125721;
double r6125723 = r6125718 / r6125722;
double r6125724 = 1.0;
double r6125725 = r6125724 + r6125722;
double r6125726 = r6125719 * r6125715;
double r6125727 = r6125720 + r6125726;
double r6125728 = r6125727 + r6125724;
double r6125729 = r6125728 / r6125722;
double r6125730 = r6125725 / r6125729;
double r6125731 = r6125723 / r6125730;
double r6125732 = r6125719 / r6125715;
double r6125733 = r6125715 / r6125719;
double r6125734 = r6125721 + r6125733;
double r6125735 = r6125732 + r6125734;
double r6125736 = r6125723 / r6125735;
double r6125737 = r6125717 ? r6125731 : r6125736;
return r6125737;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 6.2498429104423194e+159Initial program 1.3
Simplified1.3
rmApplied clear-num1.3
rmApplied associate-/r/1.3
Applied associate-/l*1.3
if 6.2498429104423194e+159 < alpha Initial program 14.4
Simplified14.4
rmApplied clear-num14.4
rmApplied associate-/r/14.4
Applied associate-/l*14.4
Taylor expanded around inf 0.1
Final simplification1.1
herbie shell --seed 2019143
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))