\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.0395626917288666 \cdot 10^{182}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(\mathsf{fma}\left(\frac{\alpha + \beta}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \frac{\frac{\sqrt[3]{\beta - \alpha}}{\frac{\left|\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}\right|}{\sqrt[3]{\beta - \alpha}}} \cdot \frac{\sqrt[3]{\beta - \alpha}}{\sqrt{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}, 1\right)\right)}^{3}}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r156242 = alpha;
double r156243 = beta;
double r156244 = r156242 + r156243;
double r156245 = r156243 - r156242;
double r156246 = r156244 * r156245;
double r156247 = 2.0;
double r156248 = i;
double r156249 = r156247 * r156248;
double r156250 = r156244 + r156249;
double r156251 = r156246 / r156250;
double r156252 = r156250 + r156247;
double r156253 = r156251 / r156252;
double r156254 = 1.0;
double r156255 = r156253 + r156254;
double r156256 = r156255 / r156247;
return r156256;
}
double f(double alpha, double beta, double i) {
double r156257 = alpha;
double r156258 = 1.0395626917288666e+182;
bool r156259 = r156257 <= r156258;
double r156260 = beta;
double r156261 = r156257 + r156260;
double r156262 = 2.0;
double r156263 = i;
double r156264 = r156262 * r156263;
double r156265 = r156261 + r156264;
double r156266 = r156265 + r156262;
double r156267 = sqrt(r156266);
double r156268 = r156261 / r156267;
double r156269 = r156260 - r156257;
double r156270 = cbrt(r156269);
double r156271 = cbrt(r156266);
double r156272 = fabs(r156271);
double r156273 = r156272 / r156270;
double r156274 = r156270 / r156273;
double r156275 = sqrt(r156271);
double r156276 = r156270 / r156275;
double r156277 = r156274 * r156276;
double r156278 = fma(r156263, r156262, r156261);
double r156279 = r156277 / r156278;
double r156280 = 1.0;
double r156281 = fma(r156268, r156279, r156280);
double r156282 = 3.0;
double r156283 = pow(r156281, r156282);
double r156284 = cbrt(r156283);
double r156285 = r156284 / r156262;
double r156286 = 1.0;
double r156287 = r156286 / r156257;
double r156288 = 8.0;
double r156289 = pow(r156257, r156282);
double r156290 = r156286 / r156289;
double r156291 = r156288 * r156290;
double r156292 = 4.0;
double r156293 = 2.0;
double r156294 = pow(r156257, r156293);
double r156295 = r156286 / r156294;
double r156296 = r156292 * r156295;
double r156297 = r156291 - r156296;
double r156298 = fma(r156262, r156287, r156297);
double r156299 = r156298 / r156262;
double r156300 = r156259 ? r156285 : r156299;
return r156300;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 1.0395626917288666e+182Initial program 17.7
rmApplied add-sqr-sqrt17.7
Applied *-un-lft-identity17.7
Applied times-frac6.3
Applied times-frac6.3
Simplified6.3
Simplified6.3
rmApplied add-cube-cbrt6.3
Applied sqrt-prod6.3
Applied add-cube-cbrt6.4
Applied times-frac6.4
Simplified6.4
rmApplied add-cbrt-cube6.3
Simplified6.3
if 1.0395626917288666e+182 < alpha Initial program 64.0
Taylor expanded around inf 41.9
Simplified41.9
Final simplification11.2
herbie shell --seed 2020100 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:precision binary64
:pre (and (> alpha -1) (> beta -1) (> i 0.0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2)) 1) 2))