\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 8092481.162986398674547672271728515625:\\
\;\;\;\;\frac{\mathsf{fma}\left(\beta - \alpha, \frac{1}{\left(\alpha + \beta\right) + 2}, 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \left(\left(\frac{4}{{\alpha}^{2}} - \frac{8}{{\alpha}^{3}}\right) - \frac{2}{\alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r58126 = beta;
double r58127 = alpha;
double r58128 = r58126 - r58127;
double r58129 = r58127 + r58126;
double r58130 = 2.0;
double r58131 = r58129 + r58130;
double r58132 = r58128 / r58131;
double r58133 = 1.0;
double r58134 = r58132 + r58133;
double r58135 = r58134 / r58130;
return r58135;
}
double f(double alpha, double beta) {
double r58136 = alpha;
double r58137 = 8092481.162986399;
bool r58138 = r58136 <= r58137;
double r58139 = beta;
double r58140 = r58139 - r58136;
double r58141 = 1.0;
double r58142 = r58136 + r58139;
double r58143 = 2.0;
double r58144 = r58142 + r58143;
double r58145 = r58141 / r58144;
double r58146 = 1.0;
double r58147 = fma(r58140, r58145, r58146);
double r58148 = r58147 / r58143;
double r58149 = r58139 / r58144;
double r58150 = 4.0;
double r58151 = 2.0;
double r58152 = pow(r58136, r58151);
double r58153 = r58150 / r58152;
double r58154 = 8.0;
double r58155 = 3.0;
double r58156 = pow(r58136, r58155);
double r58157 = r58154 / r58156;
double r58158 = r58153 - r58157;
double r58159 = r58143 / r58136;
double r58160 = r58158 - r58159;
double r58161 = r58149 - r58160;
double r58162 = r58161 / r58143;
double r58163 = r58138 ? r58148 : r58162;
return r58163;
}



Bits error versus alpha



Bits error versus beta
if alpha < 8092481.162986399Initial program 0.1
rmApplied div-inv0.1
Applied fma-def0.1
if 8092481.162986399 < alpha Initial program 50.0
rmApplied div-sub49.9
Applied associate-+l-48.3
rmApplied add-cbrt-cube48.3
Simplified48.3
Taylor expanded around inf 18.4
Simplified18.4
Final simplification6.1
herbie shell --seed 2019323 +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))