\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 4.718881236776059 \cdot 10^{+214}:\\
\;\;\;\;\frac{\sqrt{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}}{\frac{\sqrt{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}}{\left(\alpha + \beta\right) + 2 \cdot i}}} \cdot \left(\frac{\sqrt{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1.0}}} \cdot \frac{\sqrt{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1.0}}}\right)\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r1422705 = i;
double r1422706 = alpha;
double r1422707 = beta;
double r1422708 = r1422706 + r1422707;
double r1422709 = r1422708 + r1422705;
double r1422710 = r1422705 * r1422709;
double r1422711 = r1422707 * r1422706;
double r1422712 = r1422711 + r1422710;
double r1422713 = r1422710 * r1422712;
double r1422714 = 2.0;
double r1422715 = r1422714 * r1422705;
double r1422716 = r1422708 + r1422715;
double r1422717 = r1422716 * r1422716;
double r1422718 = r1422713 / r1422717;
double r1422719 = 1.0;
double r1422720 = r1422717 - r1422719;
double r1422721 = r1422718 / r1422720;
return r1422721;
}
double f(double alpha, double beta, double i) {
double r1422722 = alpha;
double r1422723 = 4.718881236776059e+214;
bool r1422724 = r1422722 <= r1422723;
double r1422725 = i;
double r1422726 = beta;
double r1422727 = r1422722 + r1422726;
double r1422728 = r1422725 + r1422727;
double r1422729 = r1422725 * r1422728;
double r1422730 = r1422726 * r1422722;
double r1422731 = r1422729 + r1422730;
double r1422732 = sqrt(r1422731);
double r1422733 = 2.0;
double r1422734 = r1422733 * r1422725;
double r1422735 = r1422727 + r1422734;
double r1422736 = 1.0;
double r1422737 = sqrt(r1422736);
double r1422738 = r1422735 - r1422737;
double r1422739 = r1422732 / r1422735;
double r1422740 = r1422738 / r1422739;
double r1422741 = r1422732 / r1422740;
double r1422742 = r1422729 / r1422735;
double r1422743 = sqrt(r1422742);
double r1422744 = r1422735 + r1422737;
double r1422745 = sqrt(r1422744);
double r1422746 = r1422743 / r1422745;
double r1422747 = r1422746 * r1422746;
double r1422748 = r1422741 * r1422747;
double r1422749 = 0.0;
double r1422750 = r1422724 ? r1422748 : r1422749;
return r1422750;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 4.718881236776059e+214Initial program 51.3
rmApplied add-sqr-sqrt51.3
Applied difference-of-squares51.3
Applied times-frac37.2
Applied times-frac34.7
rmApplied add-sqr-sqrt34.9
Applied add-sqr-sqrt34.8
Applied times-frac34.8
rmApplied *-un-lft-identity34.8
Applied add-sqr-sqrt34.8
Applied times-frac34.7
Applied associate-/l*34.7
if 4.718881236776059e+214 < alpha Initial program 62.6
Taylor expanded around inf 42.7
Final simplification35.5
herbie shell --seed 2019153 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:pre (and (> alpha -1) (> beta -1) (> i 1))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))