\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 1.6790194235791028 \cdot 10^{+189}:\\
\;\;\;\;\frac{\frac{\frac{1.0 + \left(\left(\beta + \alpha\right) + \beta \cdot \alpha\right)}{\left(\beta + \alpha\right) + 2}}{\left(\beta + \alpha\right) + 2}}{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta) {
double r6252806 = alpha;
double r6252807 = beta;
double r6252808 = r6252806 + r6252807;
double r6252809 = r6252807 * r6252806;
double r6252810 = r6252808 + r6252809;
double r6252811 = 1.0;
double r6252812 = r6252810 + r6252811;
double r6252813 = 2.0;
double r6252814 = 1.0;
double r6252815 = r6252813 * r6252814;
double r6252816 = r6252808 + r6252815;
double r6252817 = r6252812 / r6252816;
double r6252818 = r6252817 / r6252816;
double r6252819 = r6252816 + r6252811;
double r6252820 = r6252818 / r6252819;
return r6252820;
}
double f(double alpha, double beta) {
double r6252821 = alpha;
double r6252822 = 1.6790194235791028e+189;
bool r6252823 = r6252821 <= r6252822;
double r6252824 = 1.0;
double r6252825 = beta;
double r6252826 = r6252825 + r6252821;
double r6252827 = r6252825 * r6252821;
double r6252828 = r6252826 + r6252827;
double r6252829 = r6252824 + r6252828;
double r6252830 = 2.0;
double r6252831 = r6252826 + r6252830;
double r6252832 = r6252829 / r6252831;
double r6252833 = r6252832 / r6252831;
double r6252834 = r6252824 + r6252831;
double r6252835 = r6252833 / r6252834;
double r6252836 = 0.0;
double r6252837 = r6252823 ? r6252835 : r6252836;
return r6252837;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.6790194235791028e+189Initial program 1.7
rmApplied +-commutative1.7
if 1.6790194235791028e+189 < alpha Initial program 16.2
rmApplied +-commutative16.2
Taylor expanded around inf 5.1
Final simplification2.1
herbie shell --seed 2019134 +o rules:numerics
(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)))