\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.20775003977996259 \cdot 10^{40}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\beta, \frac{1}{\left(\alpha + \beta\right) + 2}, -\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\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}} - \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 r95168 = beta;
double r95169 = alpha;
double r95170 = r95168 - r95169;
double r95171 = r95169 + r95168;
double r95172 = 2.0;
double r95173 = r95171 + r95172;
double r95174 = r95170 / r95173;
double r95175 = 1.0;
double r95176 = r95174 + r95175;
double r95177 = r95176 / r95172;
return r95177;
}
double f(double alpha, double beta) {
double r95178 = alpha;
double r95179 = 1.2077500397799626e+40;
bool r95180 = r95178 <= r95179;
double r95181 = beta;
double r95182 = 1.0;
double r95183 = r95178 + r95181;
double r95184 = 2.0;
double r95185 = r95183 + r95184;
double r95186 = r95182 / r95185;
double r95187 = r95178 / r95185;
double r95188 = 1.0;
double r95189 = r95187 - r95188;
double r95190 = -r95189;
double r95191 = fma(r95181, r95186, r95190);
double r95192 = r95191 / r95184;
double r95193 = cbrt(r95181);
double r95194 = r95193 * r95193;
double r95195 = cbrt(r95185);
double r95196 = r95195 * r95195;
double r95197 = r95194 / r95196;
double r95198 = r95193 / r95195;
double r95199 = r95197 * r95198;
double r95200 = 4.0;
double r95201 = 2.0;
double r95202 = pow(r95178, r95201);
double r95203 = r95182 / r95202;
double r95204 = r95182 / r95178;
double r95205 = 8.0;
double r95206 = 3.0;
double r95207 = pow(r95178, r95206);
double r95208 = r95182 / r95207;
double r95209 = r95205 * r95208;
double r95210 = fma(r95184, r95204, r95209);
double r95211 = -r95210;
double r95212 = fma(r95200, r95203, r95211);
double r95213 = r95199 - r95212;
double r95214 = r95213 / r95184;
double r95215 = r95180 ? r95192 : r95214;
return r95215;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.2077500397799626e+40Initial program 1.9
rmApplied div-sub1.9
Applied associate-+l-1.9
rmApplied div-inv1.9
Applied fma-neg1.9
if 1.2077500397799626e+40 < alpha Initial program 50.6
rmApplied div-sub50.6
Applied associate-+l-48.9
rmApplied add-log-exp48.9
Applied add-log-exp48.9
Applied diff-log48.9
Simplified48.9
rmApplied add-cube-cbrt49.0
Applied add-cube-cbrt48.9
Applied times-frac48.9
Taylor expanded around inf 18.5
Simplified18.5
Final simplification6.8
herbie shell --seed 2020049 +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))