\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 2.2630609713050934 \cdot 10^{158}:\\
\;\;\;\;\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) + \left(2 \cdot 1 + 1\right)}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{1}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\left(\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}\\
\end{array}double f(double alpha, double beta) {
double r147215 = alpha;
double r147216 = beta;
double r147217 = r147215 + r147216;
double r147218 = r147216 * r147215;
double r147219 = r147217 + r147218;
double r147220 = 1.0;
double r147221 = r147219 + r147220;
double r147222 = 2.0;
double r147223 = r147222 * r147220;
double r147224 = r147217 + r147223;
double r147225 = r147221 / r147224;
double r147226 = r147225 / r147224;
double r147227 = r147224 + r147220;
double r147228 = r147226 / r147227;
return r147228;
}
double f(double alpha, double beta) {
double r147229 = alpha;
double r147230 = 2.2630609713050934e+158;
bool r147231 = r147229 <= r147230;
double r147232 = beta;
double r147233 = r147229 + r147232;
double r147234 = r147232 * r147229;
double r147235 = r147233 + r147234;
double r147236 = 1.0;
double r147237 = r147235 + r147236;
double r147238 = sqrt(r147237);
double r147239 = 2.0;
double r147240 = r147239 * r147236;
double r147241 = r147233 + r147240;
double r147242 = sqrt(r147241);
double r147243 = r147238 / r147242;
double r147244 = r147243 / r147242;
double r147245 = r147240 + r147236;
double r147246 = r147233 + r147245;
double r147247 = r147246 / r147238;
double r147248 = r147247 * r147241;
double r147249 = r147244 / r147248;
double r147250 = 1.0;
double r147251 = r147250 / r147242;
double r147252 = r147251 / r147242;
double r147253 = r147250 / r147229;
double r147254 = r147250 / r147232;
double r147255 = r147253 + r147254;
double r147256 = 2.0;
double r147257 = pow(r147229, r147256);
double r147258 = r147250 / r147257;
double r147259 = r147255 - r147258;
double r147260 = r147259 * r147241;
double r147261 = r147252 / r147260;
double r147262 = r147231 ? r147249 : r147261;
return r147262;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 2.2630609713050934e+158Initial program 1.4
rmApplied associate-+l+1.4
rmApplied add-sqr-sqrt1.9
Applied add-sqr-sqrt2.3
Applied add-sqr-sqrt2.3
Applied times-frac2.3
Applied times-frac2.0
Applied associate-/l*2.0
Simplified1.4
if 2.2630609713050934e+158 < alpha Initial program 17.0
rmApplied associate-+l+17.0
rmApplied add-sqr-sqrt17.0
Applied add-sqr-sqrt17.0
Applied *-un-lft-identity17.0
Applied times-frac17.0
Applied times-frac17.0
Applied associate-/l*17.0
Simplified17.0
Taylor expanded around inf 0.2
Final simplification1.2
herbie shell --seed 2020021
(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)))