\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 27638105531957988:\\
\;\;\;\;\frac{\beta \cdot \frac{1}{\left(\alpha + \beta\right) + 2} - \log \left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\beta \cdot \frac{1}{\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 r75509 = beta;
double r75510 = alpha;
double r75511 = r75509 - r75510;
double r75512 = r75510 + r75509;
double r75513 = 2.0;
double r75514 = r75512 + r75513;
double r75515 = r75511 / r75514;
double r75516 = 1.0;
double r75517 = r75515 + r75516;
double r75518 = r75517 / r75513;
return r75518;
}
double f(double alpha, double beta) {
double r75519 = alpha;
double r75520 = 27638105531957988.0;
bool r75521 = r75519 <= r75520;
double r75522 = beta;
double r75523 = 1.0;
double r75524 = r75519 + r75522;
double r75525 = 2.0;
double r75526 = r75524 + r75525;
double r75527 = r75523 / r75526;
double r75528 = r75522 * r75527;
double r75529 = r75519 / r75526;
double r75530 = 1.0;
double r75531 = r75529 - r75530;
double r75532 = exp(r75531);
double r75533 = log(r75532);
double r75534 = r75528 - r75533;
double r75535 = r75534 / r75525;
double r75536 = 4.0;
double r75537 = r75536 / r75519;
double r75538 = r75537 / r75519;
double r75539 = 8.0;
double r75540 = -r75539;
double r75541 = 3.0;
double r75542 = pow(r75519, r75541);
double r75543 = r75540 / r75542;
double r75544 = r75538 + r75543;
double r75545 = -r75525;
double r75546 = r75545 / r75519;
double r75547 = r75544 + r75546;
double r75548 = r75528 - r75547;
double r75549 = r75548 / r75525;
double r75550 = r75521 ? r75535 : r75549;
return r75550;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 27638105531957988.0Initial program 0.3
rmApplied div-sub0.3
Applied associate-+l-0.3
rmApplied add-log-exp0.3
Applied add-log-exp0.4
Applied diff-log0.4
Simplified0.3
rmApplied div-inv0.3
if 27638105531957988.0 < alpha Initial program 50.9
rmApplied div-sub50.9
Applied associate-+l-49.2
rmApplied add-log-exp49.2
Applied add-log-exp49.3
Applied diff-log49.3
Simplified49.3
rmApplied div-inv49.3
Taylor expanded around inf 18.1
Simplified18.1
Final simplification6.0
herbie shell --seed 2020018
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))