\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 16738773.27412901632487773895263671875:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\frac{4}{\alpha \cdot \alpha} - \left(\frac{8}{\left(\alpha \cdot \alpha\right) \cdot \alpha} + \frac{2}{\alpha}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r8996414 = beta;
double r8996415 = alpha;
double r8996416 = r8996414 - r8996415;
double r8996417 = r8996415 + r8996414;
double r8996418 = 2.0;
double r8996419 = r8996417 + r8996418;
double r8996420 = r8996416 / r8996419;
double r8996421 = 1.0;
double r8996422 = r8996420 + r8996421;
double r8996423 = r8996422 / r8996418;
return r8996423;
}
double f(double alpha, double beta) {
double r8996424 = alpha;
double r8996425 = 16738773.274129016;
bool r8996426 = r8996424 <= r8996425;
double r8996427 = beta;
double r8996428 = r8996424 + r8996427;
double r8996429 = 2.0;
double r8996430 = r8996428 + r8996429;
double r8996431 = r8996427 / r8996430;
double r8996432 = r8996424 / r8996430;
double r8996433 = 1.0;
double r8996434 = r8996432 - r8996433;
double r8996435 = r8996431 - r8996434;
double r8996436 = log(r8996435);
double r8996437 = exp(r8996436);
double r8996438 = r8996437 / r8996429;
double r8996439 = 4.0;
double r8996440 = r8996424 * r8996424;
double r8996441 = r8996439 / r8996440;
double r8996442 = 8.0;
double r8996443 = r8996440 * r8996424;
double r8996444 = r8996442 / r8996443;
double r8996445 = r8996429 / r8996424;
double r8996446 = r8996444 + r8996445;
double r8996447 = r8996441 - r8996446;
double r8996448 = r8996431 - r8996447;
double r8996449 = r8996448 / r8996429;
double r8996450 = r8996426 ? r8996438 : r8996449;
return r8996450;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 16738773.274129016Initial program 0.1
rmApplied div-sub0.1
Applied associate-+l-0.1
rmApplied add-exp-log0.1
if 16738773.274129016 < alpha Initial program 49.9
rmApplied div-sub49.9
Applied associate-+l-48.3
Taylor expanded around inf 18.3
Simplified18.3
Final simplification6.1
herbie shell --seed 2019173
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))