\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.60680517543021152 \cdot 10^{177}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\sqrt[3]{{\left(\frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}\right)}^{3}}, \frac{\beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)} - \frac{1}{\sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right)}} \cdot \frac{\alpha}{\sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}, 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\frac{8}{{\alpha}^{3}} - \frac{4}{\alpha \cdot \alpha}\right) + \frac{2}{\alpha}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r112450 = alpha;
double r112451 = beta;
double r112452 = r112450 + r112451;
double r112453 = r112451 - r112450;
double r112454 = r112452 * r112453;
double r112455 = 2.0;
double r112456 = i;
double r112457 = r112455 * r112456;
double r112458 = r112452 + r112457;
double r112459 = r112454 / r112458;
double r112460 = r112458 + r112455;
double r112461 = r112459 / r112460;
double r112462 = 1.0;
double r112463 = r112461 + r112462;
double r112464 = r112463 / r112455;
return r112464;
}
double f(double alpha, double beta, double i) {
double r112465 = alpha;
double r112466 = 1.6068051754302115e+177;
bool r112467 = r112465 <= r112466;
double r112468 = beta;
double r112469 = r112465 + r112468;
double r112470 = 2.0;
double r112471 = i;
double r112472 = fma(r112470, r112471, r112469);
double r112473 = r112472 + r112470;
double r112474 = r112469 / r112473;
double r112475 = 3.0;
double r112476 = pow(r112474, r112475);
double r112477 = cbrt(r112476);
double r112478 = r112468 / r112472;
double r112479 = 1.0;
double r112480 = cbrt(r112472);
double r112481 = r112480 * r112480;
double r112482 = r112479 / r112481;
double r112483 = r112465 / r112480;
double r112484 = r112482 * r112483;
double r112485 = r112478 - r112484;
double r112486 = 1.0;
double r112487 = fma(r112477, r112485, r112486);
double r112488 = r112487 / r112470;
double r112489 = 8.0;
double r112490 = pow(r112465, r112475);
double r112491 = r112489 / r112490;
double r112492 = 4.0;
double r112493 = r112465 * r112465;
double r112494 = r112492 / r112493;
double r112495 = r112491 - r112494;
double r112496 = r112470 / r112465;
double r112497 = r112495 + r112496;
double r112498 = r112497 / r112470;
double r112499 = r112467 ? r112488 : r112498;
return r112499;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 1.6068051754302115e+177Initial program 17.0
Simplified6.3
rmApplied add-cbrt-cube15.7
Applied add-cbrt-cube21.9
Applied cbrt-undiv21.9
Simplified6.3
rmApplied div-sub6.3
rmApplied add-cube-cbrt6.2
Applied *-un-lft-identity6.2
Applied times-frac6.2
if 1.6068051754302115e+177 < alpha Initial program 64.0
Simplified49.2
rmApplied add-exp-log49.2
Taylor expanded around inf 42.2
Simplified42.2
Final simplification11.3
herbie shell --seed 2020045 +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))