\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \le -0.9999999551912412:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\left(\frac{4.0}{\alpha \cdot \alpha} - \frac{2.0}{\alpha}\right) - \frac{8.0}{\left(\alpha \cdot \alpha\right) \cdot \alpha}\right)}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log \left(e^{1.0 + \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0}}\right)}{2.0}\\
\end{array}double f(double alpha, double beta) {
double r3815538 = beta;
double r3815539 = alpha;
double r3815540 = r3815538 - r3815539;
double r3815541 = r3815539 + r3815538;
double r3815542 = 2.0;
double r3815543 = r3815541 + r3815542;
double r3815544 = r3815540 / r3815543;
double r3815545 = 1.0;
double r3815546 = r3815544 + r3815545;
double r3815547 = r3815546 / r3815542;
return r3815547;
}
double f(double alpha, double beta) {
double r3815548 = beta;
double r3815549 = alpha;
double r3815550 = r3815548 - r3815549;
double r3815551 = r3815549 + r3815548;
double r3815552 = 2.0;
double r3815553 = r3815551 + r3815552;
double r3815554 = r3815550 / r3815553;
double r3815555 = -0.9999999551912412;
bool r3815556 = r3815554 <= r3815555;
double r3815557 = r3815548 / r3815553;
double r3815558 = 4.0;
double r3815559 = r3815549 * r3815549;
double r3815560 = r3815558 / r3815559;
double r3815561 = r3815552 / r3815549;
double r3815562 = r3815560 - r3815561;
double r3815563 = 8.0;
double r3815564 = r3815559 * r3815549;
double r3815565 = r3815563 / r3815564;
double r3815566 = r3815562 - r3815565;
double r3815567 = r3815557 - r3815566;
double r3815568 = r3815567 / r3815552;
double r3815569 = 1.0;
double r3815570 = r3815569 + r3815554;
double r3815571 = exp(r3815570);
double r3815572 = log(r3815571);
double r3815573 = r3815572 / r3815552;
double r3815574 = r3815556 ? r3815568 : r3815573;
return r3815574;
}



Bits error versus alpha



Bits error versus beta
Results
if (/ (- beta alpha) (+ (+ alpha beta) 2.0)) < -0.9999999551912412Initial program 59.7
rmApplied div-sub59.7
Applied associate-+l-57.8
Taylor expanded around inf 11.5
Simplified11.5
if -0.9999999551912412 < (/ (- beta alpha) (+ (+ alpha beta) 2.0)) Initial program 0.1
rmApplied add-log-exp0.1
Applied add-log-exp0.1
Applied sum-log0.2
Simplified0.1
Final simplification3.2
herbie shell --seed 2019158 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))