\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1015227874.2528594:\\
\;\;\;\;\frac{e^{\log \left({\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}\right)}^{3} - {\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}^{3}\right) - \log \left(\mathsf{fma}\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}, \frac{\beta}{\left(\alpha + \beta\right) + 2}, \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) + \frac{\beta}{\left(\alpha + \beta\right) + 2}\right)\right)\right)}}{2}\\
\mathbf{else}:\\
\;\;\;\;\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}\\
\end{array}double f(double alpha, double beta) {
double r100819 = beta;
double r100820 = alpha;
double r100821 = r100819 - r100820;
double r100822 = r100820 + r100819;
double r100823 = 2.0;
double r100824 = r100822 + r100823;
double r100825 = r100821 / r100824;
double r100826 = 1.0;
double r100827 = r100825 + r100826;
double r100828 = r100827 / r100823;
return r100828;
}
double f(double alpha, double beta) {
double r100829 = alpha;
double r100830 = 1015227874.2528594;
bool r100831 = r100829 <= r100830;
double r100832 = beta;
double r100833 = r100829 + r100832;
double r100834 = 2.0;
double r100835 = r100833 + r100834;
double r100836 = r100832 / r100835;
double r100837 = 3.0;
double r100838 = pow(r100836, r100837);
double r100839 = r100829 / r100835;
double r100840 = 1.0;
double r100841 = r100839 - r100840;
double r100842 = pow(r100841, r100837);
double r100843 = r100838 - r100842;
double r100844 = log(r100843);
double r100845 = r100841 + r100836;
double r100846 = r100841 * r100845;
double r100847 = fma(r100836, r100836, r100846);
double r100848 = log(r100847);
double r100849 = r100844 - r100848;
double r100850 = exp(r100849);
double r100851 = r100850 / r100834;
double r100852 = 4.0;
double r100853 = r100829 * r100829;
double r100854 = r100852 / r100853;
double r100855 = 8.0;
double r100856 = pow(r100829, r100837);
double r100857 = r100855 / r100856;
double r100858 = r100854 - r100857;
double r100859 = r100834 / r100829;
double r100860 = r100858 - r100859;
double r100861 = r100836 - r100860;
double r100862 = r100861 / r100834;
double r100863 = r100831 ? r100851 : r100862;
return r100863;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1015227874.2528594Initial program 0.1
rmApplied div-sub0.1
Applied associate-+l-0.1
rmApplied add-exp-log0.1
rmApplied flip3--0.1
Applied log-div0.1
Simplified0.1
if 1015227874.2528594 < alpha Initial program 50.3
rmApplied div-sub50.3
Applied associate-+l-48.6
Taylor expanded around inf 18.7
Simplified18.7
Final simplification6.0
herbie shell --seed 2020047 +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))