\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1773850741.520723819732666015625:\\
\;\;\;\;\frac{1 \cdot \frac{1}{\frac{\left(\alpha + \beta\right) + 2}{\beta}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\sqrt{\left(\alpha + \beta\right) + 2}} \cdot \frac{\beta}{\sqrt{\left(\alpha + \beta\right) + 2}} - \left(\left(\frac{\frac{4}{\alpha}}{\alpha} + \frac{-8}{{\alpha}^{3}}\right) + \frac{-2}{\alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r66240 = beta;
double r66241 = alpha;
double r66242 = r66240 - r66241;
double r66243 = r66241 + r66240;
double r66244 = 2.0;
double r66245 = r66243 + r66244;
double r66246 = r66242 / r66245;
double r66247 = 1.0;
double r66248 = r66246 + r66247;
double r66249 = r66248 / r66244;
return r66249;
}
double f(double alpha, double beta) {
double r66250 = alpha;
double r66251 = 1773850741.5207238;
bool r66252 = r66250 <= r66251;
double r66253 = 1.0;
double r66254 = beta;
double r66255 = r66250 + r66254;
double r66256 = 2.0;
double r66257 = r66255 + r66256;
double r66258 = r66257 / r66254;
double r66259 = r66253 / r66258;
double r66260 = r66253 * r66259;
double r66261 = r66250 / r66257;
double r66262 = 1.0;
double r66263 = r66261 - r66262;
double r66264 = r66260 - r66263;
double r66265 = r66264 / r66256;
double r66266 = sqrt(r66257);
double r66267 = r66253 / r66266;
double r66268 = r66254 / r66266;
double r66269 = r66267 * r66268;
double r66270 = 4.0;
double r66271 = r66270 / r66250;
double r66272 = r66271 / r66250;
double r66273 = 8.0;
double r66274 = -r66273;
double r66275 = 3.0;
double r66276 = pow(r66250, r66275);
double r66277 = r66274 / r66276;
double r66278 = r66272 + r66277;
double r66279 = -r66256;
double r66280 = r66279 / r66250;
double r66281 = r66278 + r66280;
double r66282 = r66269 - r66281;
double r66283 = r66282 / r66256;
double r66284 = r66252 ? r66265 : r66283;
return r66284;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1773850741.5207238Initial program 0.1
rmApplied div-sub0.1
Applied associate-+l-0.1
rmApplied add-sqr-sqrt0.1
Applied *-un-lft-identity0.1
Applied times-frac0.2
rmApplied *-un-lft-identity0.2
Applied associate-*l*0.2
Simplified0.1
rmApplied clear-num0.1
if 1773850741.5207238 < alpha Initial program 50.0
rmApplied div-sub50.0
Applied associate-+l-48.5
rmApplied add-sqr-sqrt48.5
Applied *-un-lft-identity48.5
Applied times-frac48.5
Taylor expanded around inf 17.9
Simplified17.9
Final simplification5.8
herbie shell --seed 2019308
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))