\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 2.390623024846601397524879465312383450541 \cdot 10^{164}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \frac{\left(\beta - \alpha\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(-4, \frac{1}{{\alpha}^{2}}, \mathsf{fma}\left(8, \frac{1}{{\alpha}^{3}}, \frac{2}{\alpha}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r85426 = alpha;
double r85427 = beta;
double r85428 = r85426 + r85427;
double r85429 = r85427 - r85426;
double r85430 = r85428 * r85429;
double r85431 = 2.0;
double r85432 = i;
double r85433 = r85431 * r85432;
double r85434 = r85428 + r85433;
double r85435 = r85430 / r85434;
double r85436 = r85434 + r85431;
double r85437 = r85435 / r85436;
double r85438 = 1.0;
double r85439 = r85437 + r85438;
double r85440 = r85439 / r85431;
return r85440;
}
double f(double alpha, double beta, double i) {
double r85441 = alpha;
double r85442 = 2.3906230248466014e+164;
bool r85443 = r85441 <= r85442;
double r85444 = beta;
double r85445 = r85441 + r85444;
double r85446 = 1.0;
double r85447 = r85445 / r85446;
double r85448 = 2.0;
double r85449 = i;
double r85450 = r85448 * r85449;
double r85451 = r85445 + r85450;
double r85452 = r85451 + r85448;
double r85453 = sqrt(r85452);
double r85454 = r85447 / r85453;
double r85455 = r85444 - r85441;
double r85456 = r85446 / r85451;
double r85457 = r85455 * r85456;
double r85458 = r85457 / r85453;
double r85459 = 1.0;
double r85460 = fma(r85454, r85458, r85459);
double r85461 = r85460 / r85448;
double r85462 = 4.0;
double r85463 = -r85462;
double r85464 = 2.0;
double r85465 = pow(r85441, r85464);
double r85466 = r85446 / r85465;
double r85467 = 8.0;
double r85468 = 3.0;
double r85469 = pow(r85441, r85468);
double r85470 = r85446 / r85469;
double r85471 = r85448 / r85441;
double r85472 = fma(r85467, r85470, r85471);
double r85473 = fma(r85463, r85466, r85472);
double r85474 = r85473 / r85448;
double r85475 = r85443 ? r85461 : r85474;
return r85475;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 2.3906230248466014e+164Initial program 16.7
rmApplied add-sqr-sqrt16.7
Applied *-un-lft-identity16.7
Applied times-frac5.5
Applied times-frac5.5
Applied fma-def5.5
rmApplied div-inv5.5
if 2.3906230248466014e+164 < alpha Initial program 64.0
rmApplied *-un-lft-identity64.0
Applied *-un-lft-identity64.0
Applied times-frac48.3
Applied times-frac48.3
Applied fma-def49.1
Taylor expanded around inf 41.2
Simplified41.2
Final simplification11.0
herbie shell --seed 2019362 +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))