\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 6566215071237633024:\\
\;\;\;\;\frac{\log \left(e^{\frac{\beta}{\left(\alpha + \beta\right) + 2}}\right) - \log \left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r103351 = beta;
double r103352 = alpha;
double r103353 = r103351 - r103352;
double r103354 = r103352 + r103351;
double r103355 = 2.0;
double r103356 = r103354 + r103355;
double r103357 = r103353 / r103356;
double r103358 = 1.0;
double r103359 = r103357 + r103358;
double r103360 = r103359 / r103355;
return r103360;
}
double f(double alpha, double beta) {
double r103361 = alpha;
double r103362 = 6.566215071237633e+18;
bool r103363 = r103361 <= r103362;
double r103364 = beta;
double r103365 = r103361 + r103364;
double r103366 = 2.0;
double r103367 = r103365 + r103366;
double r103368 = r103364 / r103367;
double r103369 = exp(r103368);
double r103370 = log(r103369);
double r103371 = r103361 / r103367;
double r103372 = 1.0;
double r103373 = r103371 - r103372;
double r103374 = exp(r103373);
double r103375 = log(r103374);
double r103376 = r103370 - r103375;
double r103377 = r103376 / r103366;
double r103378 = 4.0;
double r103379 = 1.0;
double r103380 = 2.0;
double r103381 = pow(r103361, r103380);
double r103382 = r103379 / r103381;
double r103383 = r103379 / r103361;
double r103384 = 8.0;
double r103385 = 3.0;
double r103386 = pow(r103361, r103385);
double r103387 = r103379 / r103386;
double r103388 = r103384 * r103387;
double r103389 = fma(r103366, r103383, r103388);
double r103390 = -r103389;
double r103391 = fma(r103378, r103382, r103390);
double r103392 = r103368 - r103391;
double r103393 = r103392 / r103366;
double r103394 = r103363 ? r103377 : r103393;
return r103394;
}



Bits error versus alpha



Bits error versus beta
if alpha < 6.566215071237633e+18Initial program 0.5
rmApplied div-sub0.5
Applied associate-+l-0.5
rmApplied add-log-exp0.5
Applied add-log-exp0.6
Applied diff-log0.6
Simplified0.5
rmApplied add-log-exp0.5
if 6.566215071237633e+18 < alpha Initial program 50.6
rmApplied div-sub50.6
Applied associate-+l-49.1
Taylor expanded around inf 17.9
Simplified17.9
Final simplification6.1
herbie shell --seed 2019346 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))