\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}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.4341699009264947 \cdot 10^{199}:\\
\;\;\;\;\frac{\left(\frac{i}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}} \cdot \frac{\left(\alpha + \beta\right) + i}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\right) \cdot \sqrt{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\frac{\sqrt{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r140734 = i;
double r140735 = alpha;
double r140736 = beta;
double r140737 = r140735 + r140736;
double r140738 = r140737 + r140734;
double r140739 = r140734 * r140738;
double r140740 = r140736 * r140735;
double r140741 = r140740 + r140739;
double r140742 = r140739 * r140741;
double r140743 = 2.0;
double r140744 = r140743 * r140734;
double r140745 = r140737 + r140744;
double r140746 = r140745 * r140745;
double r140747 = r140742 / r140746;
double r140748 = 1.0;
double r140749 = r140746 - r140748;
double r140750 = r140747 / r140749;
return r140750;
}
double f(double alpha, double beta, double i) {
double r140751 = alpha;
double r140752 = 1.4341699009264947e+199;
bool r140753 = r140751 <= r140752;
double r140754 = i;
double r140755 = beta;
double r140756 = r140751 + r140755;
double r140757 = 2.0;
double r140758 = r140757 * r140754;
double r140759 = r140756 + r140758;
double r140760 = 1.0;
double r140761 = sqrt(r140760);
double r140762 = r140759 + r140761;
double r140763 = r140754 / r140762;
double r140764 = r140756 + r140754;
double r140765 = r140759 - r140761;
double r140766 = r140764 / r140765;
double r140767 = r140763 * r140766;
double r140768 = r140754 * r140764;
double r140769 = fma(r140755, r140751, r140768);
double r140770 = sqrt(r140769);
double r140771 = r140767 * r140770;
double r140772 = fma(r140754, r140757, r140756);
double r140773 = r140770 / r140772;
double r140774 = r140772 / r140773;
double r140775 = r140771 / r140774;
double r140776 = 0.0;
double r140777 = r140753 ? r140775 : r140776;
return r140777;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 1.4341699009264947e+199Initial program 52.2
Simplified51.6
rmApplied associate-/l*47.1
rmApplied *-un-lft-identity47.1
Applied add-sqr-sqrt47.1
Applied times-frac47.1
Applied times-frac38.2
Applied associate-/r*36.4
Simplified36.4
rmApplied add-sqr-sqrt36.4
Applied difference-of-squares36.4
Applied times-frac34.3
if 1.4341699009264947e+199 < alpha Initial program 64.0
Simplified55.5
Taylor expanded around inf 43.7
Final simplification35.4
herbie shell --seed 2020025 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:precision binary64
: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)))