\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}\;\beta \le 5.164765083888968 \cdot 10^{+90}:\\
\;\;\;\;\frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right) + \alpha \cdot \beta}{\left(\beta + \alpha\right) + 2 \cdot i} \cdot \frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{1.0} + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}{\left(\left(\beta + \alpha\right) + 2 \cdot i\right) - \sqrt{1.0}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r6628717 = i;
double r6628718 = alpha;
double r6628719 = beta;
double r6628720 = r6628718 + r6628719;
double r6628721 = r6628720 + r6628717;
double r6628722 = r6628717 * r6628721;
double r6628723 = r6628719 * r6628718;
double r6628724 = r6628723 + r6628722;
double r6628725 = r6628722 * r6628724;
double r6628726 = 2.0;
double r6628727 = r6628726 * r6628717;
double r6628728 = r6628720 + r6628727;
double r6628729 = r6628728 * r6628728;
double r6628730 = r6628725 / r6628729;
double r6628731 = 1.0;
double r6628732 = r6628729 - r6628731;
double r6628733 = r6628730 / r6628732;
return r6628733;
}
double f(double alpha, double beta, double i) {
double r6628734 = beta;
double r6628735 = 5.164765083888968e+90;
bool r6628736 = r6628734 <= r6628735;
double r6628737 = i;
double r6628738 = alpha;
double r6628739 = r6628734 + r6628738;
double r6628740 = r6628737 + r6628739;
double r6628741 = r6628737 * r6628740;
double r6628742 = r6628738 * r6628734;
double r6628743 = r6628741 + r6628742;
double r6628744 = 2.0;
double r6628745 = r6628744 * r6628737;
double r6628746 = r6628739 + r6628745;
double r6628747 = r6628743 / r6628746;
double r6628748 = r6628741 / r6628746;
double r6628749 = 1.0;
double r6628750 = sqrt(r6628749);
double r6628751 = r6628750 + r6628746;
double r6628752 = r6628748 / r6628751;
double r6628753 = r6628747 * r6628752;
double r6628754 = r6628746 - r6628750;
double r6628755 = r6628753 / r6628754;
double r6628756 = 0.0;
double r6628757 = r6628736 ? r6628755 : r6628756;
return r6628757;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 5.164765083888968e+90Initial program 50.3
rmApplied add-sqr-sqrt50.3
Applied difference-of-squares50.3
Applied times-frac35.6
Applied times-frac34.4
rmApplied associate-*r/34.4
if 5.164765083888968e+90 < beta Initial program 61.2
rmApplied add-sqr-sqrt61.2
Applied difference-of-squares61.2
Applied times-frac51.0
Applied times-frac46.3
rmApplied associate-*r/46.3
Taylor expanded around inf 51.8
Final simplification38.4
herbie shell --seed 2019143
(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)))