\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.336842127561784635835223312819898508058 \cdot 10^{115}:\\
\;\;\;\;\frac{\left(\alpha + \beta\right) \cdot \frac{1}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}} + 1}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r166610 = alpha;
double r166611 = beta;
double r166612 = r166610 + r166611;
double r166613 = r166611 - r166610;
double r166614 = r166612 * r166613;
double r166615 = 2.0;
double r166616 = i;
double r166617 = r166615 * r166616;
double r166618 = r166612 + r166617;
double r166619 = r166614 / r166618;
double r166620 = r166618 + r166615;
double r166621 = r166619 / r166620;
double r166622 = 1.0;
double r166623 = r166621 + r166622;
double r166624 = r166623 / r166615;
return r166624;
}
double f(double alpha, double beta, double i) {
double r166625 = alpha;
double r166626 = 1.3368421275617846e+115;
bool r166627 = r166625 <= r166626;
double r166628 = beta;
double r166629 = r166625 + r166628;
double r166630 = 1.0;
double r166631 = 2.0;
double r166632 = i;
double r166633 = r166631 * r166632;
double r166634 = r166629 + r166633;
double r166635 = r166634 + r166631;
double r166636 = r166628 - r166625;
double r166637 = r166636 / r166634;
double r166638 = r166635 / r166637;
double r166639 = r166630 / r166638;
double r166640 = r166629 * r166639;
double r166641 = 1.0;
double r166642 = r166640 + r166641;
double r166643 = r166642 / r166631;
double r166644 = r166630 / r166625;
double r166645 = r166631 * r166644;
double r166646 = 8.0;
double r166647 = 3.0;
double r166648 = pow(r166625, r166647);
double r166649 = r166630 / r166648;
double r166650 = r166646 * r166649;
double r166651 = r166645 + r166650;
double r166652 = 4.0;
double r166653 = 2.0;
double r166654 = pow(r166625, r166653);
double r166655 = r166630 / r166654;
double r166656 = r166652 * r166655;
double r166657 = r166651 - r166656;
double r166658 = r166657 / r166631;
double r166659 = r166627 ? r166643 : r166658;
return r166659;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.3368421275617846e+115Initial program 14.2
rmApplied *-un-lft-identity14.2
Applied *-un-lft-identity14.2
Applied times-frac3.7
Applied times-frac3.7
Simplified3.7
rmApplied *-un-lft-identity3.7
Applied *-un-lft-identity3.7
Applied times-frac3.7
Applied associate-/l*3.7
if 1.3368421275617846e+115 < alpha Initial program 60.3
Taylor expanded around inf 39.4
Final simplification11.3
herbie shell --seed 2020001
(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))