\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 1.0723252808779232 \cdot 10^{+185}:\\
\;\;\;\;\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 r5819743 = i;
double r5819744 = alpha;
double r5819745 = beta;
double r5819746 = r5819744 + r5819745;
double r5819747 = r5819746 + r5819743;
double r5819748 = r5819743 * r5819747;
double r5819749 = r5819745 * r5819744;
double r5819750 = r5819749 + r5819748;
double r5819751 = r5819748 * r5819750;
double r5819752 = 2.0;
double r5819753 = r5819752 * r5819743;
double r5819754 = r5819746 + r5819753;
double r5819755 = r5819754 * r5819754;
double r5819756 = r5819751 / r5819755;
double r5819757 = 1.0;
double r5819758 = r5819755 - r5819757;
double r5819759 = r5819756 / r5819758;
return r5819759;
}
double f(double alpha, double beta, double i) {
double r5819760 = beta;
double r5819761 = 1.0723252808779232e+185;
bool r5819762 = r5819760 <= r5819761;
double r5819763 = i;
double r5819764 = alpha;
double r5819765 = r5819760 + r5819764;
double r5819766 = r5819763 + r5819765;
double r5819767 = r5819763 * r5819766;
double r5819768 = r5819764 * r5819760;
double r5819769 = r5819767 + r5819768;
double r5819770 = 2.0;
double r5819771 = r5819770 * r5819763;
double r5819772 = r5819765 + r5819771;
double r5819773 = r5819769 / r5819772;
double r5819774 = r5819767 / r5819772;
double r5819775 = 1.0;
double r5819776 = sqrt(r5819775);
double r5819777 = r5819776 + r5819772;
double r5819778 = r5819774 / r5819777;
double r5819779 = r5819773 * r5819778;
double r5819780 = r5819772 - r5819776;
double r5819781 = r5819779 / r5819780;
double r5819782 = 0.0;
double r5819783 = r5819762 ? r5819781 : r5819782;
return r5819783;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 1.0723252808779232e+185Initial program 51.3
rmApplied add-sqr-sqrt51.3
Applied difference-of-squares51.3
Applied times-frac36.9
Applied times-frac34.6
rmApplied associate-*r/34.6
if 1.0723252808779232e+185 < beta Initial program 62.6
rmApplied add-sqr-sqrt62.6
Applied difference-of-squares62.6
Applied times-frac55.2
Applied times-frac52.2
rmApplied associate-*r/52.1
Taylor expanded around -inf 44.2
Final simplification35.9
herbie shell --seed 2019129
(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)))