\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 8.7105075611670262 \cdot 10^{36}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(e^{\log \left(\mathsf{fma}\left(\alpha + \beta, \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)\right)}\right)}^{3}}}{2}\\
\mathbf{elif}\;\alpha \le 2.609886831021214 \cdot 10^{91}:\\
\;\;\;\;\frac{\mathsf{fma}\left(-4, \frac{1}{{\alpha}^{2}}, \mathsf{fma}\left(8, \frac{1}{{\alpha}^{3}}, \frac{2}{\alpha}\right)\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r89506 = alpha;
double r89507 = beta;
double r89508 = r89506 + r89507;
double r89509 = r89507 - r89506;
double r89510 = r89508 * r89509;
double r89511 = 2.0;
double r89512 = i;
double r89513 = r89511 * r89512;
double r89514 = r89508 + r89513;
double r89515 = r89510 / r89514;
double r89516 = r89514 + r89511;
double r89517 = r89515 / r89516;
double r89518 = 1.0;
double r89519 = r89517 + r89518;
double r89520 = r89519 / r89511;
return r89520;
}
double f(double alpha, double beta, double i) {
double r89521 = alpha;
double r89522 = 8.710507561167026e+36;
bool r89523 = r89521 <= r89522;
double r89524 = beta;
double r89525 = r89521 + r89524;
double r89526 = r89524 - r89521;
double r89527 = 2.0;
double r89528 = i;
double r89529 = r89527 * r89528;
double r89530 = r89525 + r89529;
double r89531 = r89526 / r89530;
double r89532 = r89530 + r89527;
double r89533 = r89531 / r89532;
double r89534 = 1.0;
double r89535 = fma(r89525, r89533, r89534);
double r89536 = log(r89535);
double r89537 = exp(r89536);
double r89538 = 3.0;
double r89539 = pow(r89537, r89538);
double r89540 = cbrt(r89539);
double r89541 = r89540 / r89527;
double r89542 = 2.6098868310212144e+91;
bool r89543 = r89521 <= r89542;
double r89544 = 4.0;
double r89545 = -r89544;
double r89546 = 1.0;
double r89547 = 2.0;
double r89548 = pow(r89521, r89547);
double r89549 = r89546 / r89548;
double r89550 = 8.0;
double r89551 = pow(r89521, r89538);
double r89552 = r89546 / r89551;
double r89553 = r89527 / r89521;
double r89554 = fma(r89550, r89552, r89553);
double r89555 = fma(r89545, r89549, r89554);
double r89556 = r89555 / r89527;
double r89557 = r89525 * r89531;
double r89558 = r89557 / r89532;
double r89559 = r89558 + r89534;
double r89560 = r89559 / r89527;
double r89561 = r89543 ? r89556 : r89560;
double r89562 = r89523 ? r89541 : r89561;
return r89562;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 8.710507561167026e+36Initial program 11.7
rmApplied *-un-lft-identity11.7
Applied *-un-lft-identity11.7
Applied times-frac1.0
Applied times-frac1.0
Applied fma-def1.0
rmApplied add-cbrt-cube1.0
Simplified1.0
rmApplied add-exp-log1.0
if 8.710507561167026e+36 < alpha < 2.6098868310212144e+91Initial program 40.2
rmApplied *-un-lft-identity40.2
Applied *-un-lft-identity40.2
Applied times-frac29.1
Applied times-frac28.9
Applied fma-def28.7
Taylor expanded around inf 38.5
Simplified38.5
if 2.6098868310212144e+91 < alpha Initial program 58.3
rmApplied *-un-lft-identity58.3
Applied times-frac43.2
Simplified43.2
Final simplification13.2
herbie shell --seed 2020036 +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))