\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.248606679275357 \cdot 10^{154}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{1}, \frac{\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha}}}{\frac{\left(\mathsf{fma}\left(2, i, \beta\right) + \alpha\right) + 2}{\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha}}}}, 1\right)}{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 r453 = alpha;
double r454 = beta;
double r455 = r453 + r454;
double r456 = r454 - r453;
double r457 = r455 * r456;
double r458 = 2.0;
double r459 = i;
double r460 = r458 * r459;
double r461 = r455 + r460;
double r462 = r457 / r461;
double r463 = r461 + r458;
double r464 = r462 / r463;
double r465 = 1.0;
double r466 = r464 + r465;
double r467 = r466 / r458;
return r467;
}
double f(double alpha, double beta, double i) {
double r468 = alpha;
double r469 = 1.248606679275357e+154;
bool r470 = r468 <= r469;
double r471 = beta;
double r472 = r468 + r471;
double r473 = 1.0;
double r474 = r472 / r473;
double r475 = r474 / r473;
double r476 = r471 - r468;
double r477 = 2.0;
double r478 = i;
double r479 = fma(r477, r478, r471);
double r480 = r479 + r468;
double r481 = r476 / r480;
double r482 = cbrt(r481);
double r483 = r480 + r477;
double r484 = r481 * r481;
double r485 = cbrt(r484);
double r486 = r483 / r485;
double r487 = r482 / r486;
double r488 = 1.0;
double r489 = fma(r475, r487, r488);
double r490 = r489 / r477;
double r491 = r473 / r468;
double r492 = 8.0;
double r493 = 3.0;
double r494 = pow(r468, r493);
double r495 = r473 / r494;
double r496 = r492 * r495;
double r497 = 4.0;
double r498 = 2.0;
double r499 = pow(r468, r498);
double r500 = r473 / r499;
double r501 = r497 * r500;
double r502 = r496 - r501;
double r503 = fma(r477, r491, r502);
double r504 = r503 / r477;
double r505 = r470 ? r490 : r504;
return r505;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 1.248606679275357e+154Initial program 16.4
rmApplied *-un-lft-identity16.4
Applied *-un-lft-identity16.4
Applied times-frac5.5
Applied times-frac5.5
Applied fma-def5.4
rmApplied add-cbrt-cube20.2
Applied add-cbrt-cube26.0
Applied cbrt-undiv26.0
Simplified5.5
rmApplied cube-mult5.5
Applied cbrt-prod5.5
Applied associate-/l*5.5
Simplified5.5
if 1.248606679275357e+154 < alpha Initial program 64.0
Taylor expanded around inf 41.5
Simplified41.5
Final simplification11.2
herbie shell --seed 2020025 +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))