\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 4.955254989703516 \cdot 10^{+16}:\\
\;\;\;\;\frac{\frac{1}{\sqrt[3]{\left(\alpha + \beta\right) + 2.0} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2.0}} \cdot \frac{\beta}{\sqrt[3]{\left(\alpha + \beta\right) + 2.0}} - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2.0} - 1.0\right)}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\left(\frac{\frac{4.0}{\alpha}}{\alpha} - \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right) - \frac{2.0}{\alpha}\right)}{2.0}\\
\end{array}double f(double alpha, double beta) {
double r5864196 = beta;
double r5864197 = alpha;
double r5864198 = r5864196 - r5864197;
double r5864199 = r5864197 + r5864196;
double r5864200 = 2.0;
double r5864201 = r5864199 + r5864200;
double r5864202 = r5864198 / r5864201;
double r5864203 = 1.0;
double r5864204 = r5864202 + r5864203;
double r5864205 = r5864204 / r5864200;
return r5864205;
}
double f(double alpha, double beta) {
double r5864206 = alpha;
double r5864207 = 4.955254989703516e+16;
bool r5864208 = r5864206 <= r5864207;
double r5864209 = 1.0;
double r5864210 = beta;
double r5864211 = r5864206 + r5864210;
double r5864212 = 2.0;
double r5864213 = r5864211 + r5864212;
double r5864214 = cbrt(r5864213);
double r5864215 = r5864214 * r5864214;
double r5864216 = r5864209 / r5864215;
double r5864217 = r5864210 / r5864214;
double r5864218 = r5864216 * r5864217;
double r5864219 = r5864206 / r5864213;
double r5864220 = 1.0;
double r5864221 = r5864219 - r5864220;
double r5864222 = r5864218 - r5864221;
double r5864223 = r5864222 / r5864212;
double r5864224 = r5864210 / r5864213;
double r5864225 = 4.0;
double r5864226 = r5864225 / r5864206;
double r5864227 = r5864226 / r5864206;
double r5864228 = 8.0;
double r5864229 = r5864228 / r5864206;
double r5864230 = r5864206 * r5864206;
double r5864231 = r5864229 / r5864230;
double r5864232 = r5864227 - r5864231;
double r5864233 = r5864212 / r5864206;
double r5864234 = r5864232 - r5864233;
double r5864235 = r5864224 - r5864234;
double r5864236 = r5864235 / r5864212;
double r5864237 = r5864208 ? r5864223 : r5864236;
return r5864237;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 4.955254989703516e+16Initial program 0.5
rmApplied div-sub0.5
Applied associate-+l-0.5
rmApplied add-cube-cbrt0.7
Applied *-un-lft-identity0.7
Applied times-frac0.7
if 4.955254989703516e+16 < alpha Initial program 50.8
rmApplied div-sub50.8
Applied associate-+l-49.3
Taylor expanded around inf 17.8
Simplified17.8
Final simplification6.1
herbie shell --seed 2019164
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))