\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.0 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2.0 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2.0 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2.0 \cdot i\right) - 1.0}\begin{array}{l}
\mathbf{if}\;\beta \le 1.605441052792236 \cdot 10^{+216}:\\
\;\;\;\;\left(\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right) + \alpha \cdot \beta}{\left(\beta + \alpha\right) + 2.0 \cdot i} \cdot \frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2.0 \cdot i}}{\sqrt{1.0} + \left(\left(\beta + \alpha\right) + 2.0 \cdot i\right)}\right) \cdot \frac{1}{\left(\left(\beta + \alpha\right) + 2.0 \cdot i\right) - \sqrt{1.0}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r3761751 = i;
double r3761752 = alpha;
double r3761753 = beta;
double r3761754 = r3761752 + r3761753;
double r3761755 = r3761754 + r3761751;
double r3761756 = r3761751 * r3761755;
double r3761757 = r3761753 * r3761752;
double r3761758 = r3761757 + r3761756;
double r3761759 = r3761756 * r3761758;
double r3761760 = 2.0;
double r3761761 = r3761760 * r3761751;
double r3761762 = r3761754 + r3761761;
double r3761763 = r3761762 * r3761762;
double r3761764 = r3761759 / r3761763;
double r3761765 = 1.0;
double r3761766 = r3761763 - r3761765;
double r3761767 = r3761764 / r3761766;
return r3761767;
}
double f(double alpha, double beta, double i) {
double r3761768 = beta;
double r3761769 = 1.605441052792236e+216;
bool r3761770 = r3761768 <= r3761769;
double r3761771 = i;
double r3761772 = alpha;
double r3761773 = r3761768 + r3761772;
double r3761774 = r3761771 + r3761773;
double r3761775 = r3761771 * r3761774;
double r3761776 = r3761772 * r3761768;
double r3761777 = r3761775 + r3761776;
double r3761778 = 2.0;
double r3761779 = r3761778 * r3761771;
double r3761780 = r3761773 + r3761779;
double r3761781 = r3761777 / r3761780;
double r3761782 = r3761775 / r3761780;
double r3761783 = 1.0;
double r3761784 = sqrt(r3761783);
double r3761785 = r3761784 + r3761780;
double r3761786 = r3761782 / r3761785;
double r3761787 = r3761781 * r3761786;
double r3761788 = 1.0;
double r3761789 = r3761780 - r3761784;
double r3761790 = r3761788 / r3761789;
double r3761791 = r3761787 * r3761790;
double r3761792 = 0.0;
double r3761793 = r3761770 ? r3761791 : r3761792;
return r3761793;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 1.605441052792236e+216Initial program 53.3
rmApplied add-sqr-sqrt53.3
Applied difference-of-squares53.3
Applied times-frac38.7
Applied times-frac36.4
rmApplied div-inv36.4
Applied associate-*r*36.4
if 1.605441052792236e+216 < beta Initial program 64.0
Taylor expanded around inf 41.0
Final simplification36.9
herbie shell --seed 2019165
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:pre (and (> alpha -1.0) (> beta -1.0) (> i 1.0))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i)))) (- (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i))) 1.0)))