\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} \le -0.9999999999999996669330926124530378729105:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{8}{{\alpha}^{3}}\right) - \frac{2}{\alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1\right)}}{2}\\
\end{array}double f(double alpha, double beta) {
double r93489 = beta;
double r93490 = alpha;
double r93491 = r93489 - r93490;
double r93492 = r93490 + r93489;
double r93493 = 2.0;
double r93494 = r93492 + r93493;
double r93495 = r93491 / r93494;
double r93496 = 1.0;
double r93497 = r93495 + r93496;
double r93498 = r93497 / r93493;
return r93498;
}
double f(double alpha, double beta) {
double r93499 = beta;
double r93500 = alpha;
double r93501 = r93499 - r93500;
double r93502 = r93500 + r93499;
double r93503 = 2.0;
double r93504 = r93502 + r93503;
double r93505 = r93501 / r93504;
double r93506 = -0.9999999999999997;
bool r93507 = r93505 <= r93506;
double r93508 = r93499 / r93504;
double r93509 = 4.0;
double r93510 = r93500 * r93500;
double r93511 = r93509 / r93510;
double r93512 = 8.0;
double r93513 = 3.0;
double r93514 = pow(r93500, r93513);
double r93515 = r93512 / r93514;
double r93516 = r93511 - r93515;
double r93517 = r93503 / r93500;
double r93518 = r93516 - r93517;
double r93519 = r93508 - r93518;
double r93520 = r93519 / r93503;
double r93521 = 1.0;
double r93522 = r93505 + r93521;
double r93523 = log(r93522);
double r93524 = exp(r93523);
double r93525 = r93524 / r93503;
double r93526 = r93507 ? r93520 : r93525;
return r93526;
}



Bits error versus alpha



Bits error versus beta
Results
if (/ (- beta alpha) (+ (+ alpha beta) 2.0)) < -0.9999999999999997Initial program 60.5
rmApplied div-sub60.5
Applied associate-+l-58.7
Taylor expanded around inf 10.5
Simplified10.5
if -0.9999999999999997 < (/ (- beta alpha) (+ (+ alpha beta) 2.0)) Initial program 0.4
rmApplied add-exp-log0.4
Final simplification3.1
herbie shell --seed 2019347 +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))