\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.20775003977996259 \cdot 10^{40}:\\
\;\;\;\;\frac{\beta \cdot \frac{1}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(4 \cdot \frac{1}{{\alpha}^{2}} - \left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r101286 = beta;
double r101287 = alpha;
double r101288 = r101286 - r101287;
double r101289 = r101287 + r101286;
double r101290 = 2.0;
double r101291 = r101289 + r101290;
double r101292 = r101288 / r101291;
double r101293 = 1.0;
double r101294 = r101292 + r101293;
double r101295 = r101294 / r101290;
return r101295;
}
double f(double alpha, double beta) {
double r101296 = alpha;
double r101297 = 1.2077500397799626e+40;
bool r101298 = r101296 <= r101297;
double r101299 = beta;
double r101300 = 1.0;
double r101301 = r101296 + r101299;
double r101302 = 2.0;
double r101303 = r101301 + r101302;
double r101304 = r101300 / r101303;
double r101305 = r101299 * r101304;
double r101306 = r101296 / r101303;
double r101307 = 1.0;
double r101308 = r101306 - r101307;
double r101309 = r101305 - r101308;
double r101310 = r101309 / r101302;
double r101311 = r101299 / r101303;
double r101312 = 4.0;
double r101313 = 2.0;
double r101314 = pow(r101296, r101313);
double r101315 = r101300 / r101314;
double r101316 = r101312 * r101315;
double r101317 = r101300 / r101296;
double r101318 = r101302 * r101317;
double r101319 = 8.0;
double r101320 = 3.0;
double r101321 = pow(r101296, r101320);
double r101322 = r101300 / r101321;
double r101323 = r101319 * r101322;
double r101324 = r101318 + r101323;
double r101325 = r101316 - r101324;
double r101326 = r101311 - r101325;
double r101327 = r101326 / r101302;
double r101328 = r101298 ? r101310 : r101327;
return r101328;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.2077500397799626e+40Initial program 1.9
rmApplied div-sub1.9
Applied associate-+l-1.9
rmApplied div-inv1.9
if 1.2077500397799626e+40 < alpha Initial program 50.6
rmApplied div-sub50.6
Applied associate-+l-48.9
rmApplied flip--48.9
Taylor expanded around inf 18.5
Final simplification6.8
herbie shell --seed 2020049
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))