\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1634825657092984630335766528:\\
\;\;\;\;\frac{e^{\log \left(\frac{\frac{1}{\alpha + \left(2 + \beta\right)}}{\frac{1}{\beta}} - \left(\frac{\alpha}{\beta + \left(2 + \alpha\right)} - 1\right)\right)}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\beta + \left(2 + \alpha\right)} - \left(\frac{4}{\alpha \cdot \alpha} - \left(\frac{2}{\alpha} + \frac{8}{{\alpha}^{3}}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r88629 = beta;
double r88630 = alpha;
double r88631 = r88629 - r88630;
double r88632 = r88630 + r88629;
double r88633 = 2.0;
double r88634 = r88632 + r88633;
double r88635 = r88631 / r88634;
double r88636 = 1.0;
double r88637 = r88635 + r88636;
double r88638 = r88637 / r88633;
return r88638;
}
double f(double alpha, double beta) {
double r88639 = alpha;
double r88640 = 1.6348256570929846e+27;
bool r88641 = r88639 <= r88640;
double r88642 = 1.0;
double r88643 = 2.0;
double r88644 = beta;
double r88645 = r88643 + r88644;
double r88646 = r88639 + r88645;
double r88647 = r88642 / r88646;
double r88648 = r88642 / r88644;
double r88649 = r88647 / r88648;
double r88650 = r88643 + r88639;
double r88651 = r88644 + r88650;
double r88652 = r88639 / r88651;
double r88653 = 1.0;
double r88654 = r88652 - r88653;
double r88655 = r88649 - r88654;
double r88656 = log(r88655);
double r88657 = exp(r88656);
double r88658 = r88657 / r88643;
double r88659 = r88644 / r88651;
double r88660 = 4.0;
double r88661 = r88639 * r88639;
double r88662 = r88660 / r88661;
double r88663 = r88643 / r88639;
double r88664 = 8.0;
double r88665 = 3.0;
double r88666 = pow(r88639, r88665);
double r88667 = r88664 / r88666;
double r88668 = r88663 + r88667;
double r88669 = r88662 - r88668;
double r88670 = r88659 - r88669;
double r88671 = r88670 / r88643;
double r88672 = r88641 ? r88658 : r88671;
return r88672;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.6348256570929846e+27Initial program 1.1
Simplified1.1
rmApplied div-sub1.1
Applied associate-+l-1.1
Simplified1.1
rmApplied add-exp-log1.1
Simplified1.1
rmApplied clear-num1.1
Simplified1.1
rmApplied div-inv1.1
Applied associate-/r*1.1
Simplified1.1
if 1.6348256570929846e+27 < alpha Initial program 50.4
Simplified50.4
rmApplied div-sub50.3
Applied associate-+l-48.7
Simplified48.7
Taylor expanded around inf 18.4
Simplified18.4
Final simplification6.2
herbie shell --seed 2019179
(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))