\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 909606014637454464:\\
\;\;\;\;\frac{\left(\frac{\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2}} \cdot \frac{\sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right) + \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\left(-1\right) + 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r102210 = beta;
double r102211 = alpha;
double r102212 = r102210 - r102211;
double r102213 = r102211 + r102210;
double r102214 = 2.0;
double r102215 = r102213 + r102214;
double r102216 = r102212 / r102215;
double r102217 = 1.0;
double r102218 = r102216 + r102217;
double r102219 = r102218 / r102214;
return r102219;
}
double f(double alpha, double beta) {
double r102220 = alpha;
double r102221 = 9.096060146374545e+17;
bool r102222 = r102220 <= r102221;
double r102223 = beta;
double r102224 = cbrt(r102223);
double r102225 = r102224 * r102224;
double r102226 = r102220 + r102223;
double r102227 = 2.0;
double r102228 = r102226 + r102227;
double r102229 = cbrt(r102228);
double r102230 = r102229 * r102229;
double r102231 = r102225 / r102230;
double r102232 = r102224 / r102229;
double r102233 = r102231 * r102232;
double r102234 = r102220 / r102228;
double r102235 = 1.0;
double r102236 = r102234 - r102235;
double r102237 = r102233 - r102236;
double r102238 = 1.0;
double r102239 = -r102238;
double r102240 = r102239 + r102238;
double r102241 = r102236 * r102240;
double r102242 = r102237 + r102241;
double r102243 = r102242 / r102227;
double r102244 = r102223 / r102228;
double r102245 = 4.0;
double r102246 = 2.0;
double r102247 = pow(r102220, r102246);
double r102248 = r102238 / r102247;
double r102249 = r102238 / r102220;
double r102250 = 8.0;
double r102251 = 3.0;
double r102252 = pow(r102220, r102251);
double r102253 = r102238 / r102252;
double r102254 = r102250 * r102253;
double r102255 = fma(r102227, r102249, r102254);
double r102256 = -r102255;
double r102257 = fma(r102245, r102248, r102256);
double r102258 = r102244 - r102257;
double r102259 = r102258 / r102227;
double r102260 = r102222 ? r102243 : r102259;
return r102260;
}



Bits error versus alpha



Bits error versus beta
if alpha < 9.096060146374545e+17Initial program 0.6
rmApplied div-sub0.6
Applied associate-+l-0.6
rmApplied add-cube-cbrt0.6
Applied add-cube-cbrt0.9
Applied add-cube-cbrt0.6
Applied times-frac0.6
Applied prod-diff0.6
Simplified0.6
Simplified0.6
if 9.096060146374545e+17 < alpha Initial program 50.8
rmApplied div-sub50.8
Applied associate-+l-49.1
Taylor expanded around inf 18.5
Simplified18.5
Final simplification6.3
herbie shell --seed 2020100 +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))