\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}\;\beta \le 5.874077370608373 \cdot 10^{+160}:\\
\;\;\;\;\frac{\frac{1}{\frac{\left(\left(\alpha + \beta\right) + 2\right) + 1.0}{\frac{1.0 + \left(\alpha \cdot \beta + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2}}}}{\left(\alpha + \beta\right) + 2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\frac{\beta}{\alpha} + \left(2 + \frac{\alpha}{\beta}\right)}}{\left(\alpha + \beta\right) + 2}\\
\end{array}double f(double alpha, double beta) {
double r4588154 = alpha;
double r4588155 = beta;
double r4588156 = r4588154 + r4588155;
double r4588157 = r4588155 * r4588154;
double r4588158 = r4588156 + r4588157;
double r4588159 = 1.0;
double r4588160 = r4588158 + r4588159;
double r4588161 = 2.0;
double r4588162 = 1.0;
double r4588163 = r4588161 * r4588162;
double r4588164 = r4588156 + r4588163;
double r4588165 = r4588160 / r4588164;
double r4588166 = r4588165 / r4588164;
double r4588167 = r4588164 + r4588159;
double r4588168 = r4588166 / r4588167;
return r4588168;
}
double f(double alpha, double beta) {
double r4588169 = beta;
double r4588170 = 5.874077370608373e+160;
bool r4588171 = r4588169 <= r4588170;
double r4588172 = 1.0;
double r4588173 = alpha;
double r4588174 = r4588173 + r4588169;
double r4588175 = 2.0;
double r4588176 = r4588174 + r4588175;
double r4588177 = 1.0;
double r4588178 = r4588176 + r4588177;
double r4588179 = r4588173 * r4588169;
double r4588180 = r4588179 + r4588174;
double r4588181 = r4588177 + r4588180;
double r4588182 = r4588181 / r4588176;
double r4588183 = r4588178 / r4588182;
double r4588184 = r4588172 / r4588183;
double r4588185 = r4588184 / r4588176;
double r4588186 = r4588169 / r4588173;
double r4588187 = r4588173 / r4588169;
double r4588188 = r4588175 + r4588187;
double r4588189 = r4588186 + r4588188;
double r4588190 = r4588172 / r4588189;
double r4588191 = r4588190 / r4588176;
double r4588192 = r4588171 ? r4588185 : r4588191;
return r4588192;
}



Bits error versus alpha



Bits error versus beta
Results
if beta < 5.874077370608373e+160Initial program 1.0
Simplified1.0
rmApplied clear-num1.5
rmApplied associate-/r/1.4
Applied associate-/r*1.1
if 5.874077370608373e+160 < beta Initial program 16.3
Simplified16.3
rmApplied clear-num16.6
rmApplied associate-/r/16.6
Applied associate-/r*16.3
Taylor expanded around inf 0.1
Final simplification0.9
herbie shell --seed 2019146
(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)))