\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 1.1135588481617847 \cdot 10^{+183}:\\
\;\;\;\;\frac{\frac{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}}{\frac{\beta \cdot \alpha + i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r9032648 = i;
double r9032649 = alpha;
double r9032650 = beta;
double r9032651 = r9032649 + r9032650;
double r9032652 = r9032651 + r9032648;
double r9032653 = r9032648 * r9032652;
double r9032654 = r9032650 * r9032649;
double r9032655 = r9032654 + r9032653;
double r9032656 = r9032653 * r9032655;
double r9032657 = 2.0;
double r9032658 = r9032657 * r9032648;
double r9032659 = r9032651 + r9032658;
double r9032660 = r9032659 * r9032659;
double r9032661 = r9032656 / r9032660;
double r9032662 = 1.0;
double r9032663 = r9032660 - r9032662;
double r9032664 = r9032661 / r9032663;
return r9032664;
}
double f(double alpha, double beta, double i) {
double r9032665 = alpha;
double r9032666 = 1.1135588481617847e+183;
bool r9032667 = r9032665 <= r9032666;
double r9032668 = i;
double r9032669 = beta;
double r9032670 = r9032665 + r9032669;
double r9032671 = r9032668 + r9032670;
double r9032672 = r9032668 * r9032671;
double r9032673 = 2.0;
double r9032674 = r9032673 * r9032668;
double r9032675 = r9032670 + r9032674;
double r9032676 = r9032672 / r9032675;
double r9032677 = 1.0;
double r9032678 = sqrt(r9032677);
double r9032679 = r9032678 + r9032675;
double r9032680 = r9032676 / r9032679;
double r9032681 = r9032675 - r9032678;
double r9032682 = r9032669 * r9032665;
double r9032683 = r9032682 + r9032672;
double r9032684 = r9032683 / r9032675;
double r9032685 = r9032681 / r9032684;
double r9032686 = r9032680 / r9032685;
double r9032687 = 0.0;
double r9032688 = r9032667 ? r9032686 : r9032687;
return r9032688;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.1135588481617847e+183Initial program 51.1
rmApplied add-sqr-sqrt51.1
Applied difference-of-squares51.1
Applied times-frac36.1
Applied times-frac34.1
rmApplied associate-*r/34.1
rmApplied associate-/l*34.1
if 1.1135588481617847e+183 < alpha Initial program 62.6
rmApplied add-sqr-sqrt62.6
Applied difference-of-squares62.6
Applied times-frac56.8
Applied times-frac54.0
rmApplied associate-*r/54.0
Taylor expanded around inf 46.2
Final simplification35.7
herbie shell --seed 2019135
(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)))