\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 -1:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{2}{\alpha}\right) - \frac{8}{{\alpha}^{3}}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \log \left(e^{\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r103782 = beta;
double r103783 = alpha;
double r103784 = r103782 - r103783;
double r103785 = r103783 + r103782;
double r103786 = 2.0;
double r103787 = r103785 + r103786;
double r103788 = r103784 / r103787;
double r103789 = 1.0;
double r103790 = r103788 + r103789;
double r103791 = r103790 / r103786;
return r103791;
}
double f(double alpha, double beta) {
double r103792 = beta;
double r103793 = alpha;
double r103794 = r103792 - r103793;
double r103795 = r103793 + r103792;
double r103796 = 2.0;
double r103797 = r103795 + r103796;
double r103798 = r103794 / r103797;
double r103799 = -1.0;
bool r103800 = r103798 <= r103799;
double r103801 = r103792 / r103797;
double r103802 = 4.0;
double r103803 = r103793 * r103793;
double r103804 = r103802 / r103803;
double r103805 = r103796 / r103793;
double r103806 = r103804 - r103805;
double r103807 = 8.0;
double r103808 = 3.0;
double r103809 = pow(r103793, r103808);
double r103810 = r103807 / r103809;
double r103811 = r103806 - r103810;
double r103812 = r103801 - r103811;
double r103813 = r103812 / r103796;
double r103814 = r103793 / r103797;
double r103815 = 1.0;
double r103816 = r103814 - r103815;
double r103817 = exp(r103816);
double r103818 = log(r103817);
double r103819 = r103801 - r103818;
double r103820 = r103819 / r103796;
double r103821 = r103800 ? r103813 : r103820;
return r103821;
}



Bits error versus alpha



Bits error versus beta
Results
if (/ (- beta alpha) (+ (+ alpha beta) 2.0)) < -1.0Initial program 60.6
rmApplied div-sub60.6
Applied associate-+l-58.8
Taylor expanded around inf 10.4
Simplified10.4
if -1.0 < (/ (- beta alpha) (+ (+ alpha beta) 2.0)) Initial program 0.6
rmApplied div-sub0.6
Applied associate-+l-0.6
rmApplied add-log-exp0.6
Applied add-log-exp0.6
Applied diff-log0.6
Simplified0.6
Final simplification3.2
herbie shell --seed 2020046
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))