\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}\;\beta \le 1.7873990429441248 \cdot 10^{144}:\\
\;\;\;\;\frac{\frac{i}{\mathsf{fma}\left(\mathsf{fma}\left(i, 2, \alpha + \beta\right), \mathsf{fma}\left(i, 2, \alpha + \beta\right), -1\right)} \cdot \frac{\left(\alpha + \beta\right) + i}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{i}{\mathsf{fma}\left(2, \alpha \cdot \beta, \mathsf{fma}\left(4, i \cdot \beta, {\beta}^{2}\right)\right)} \cdot \frac{\left(\alpha + \beta\right) + i}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\frac{2}{i}}\\
\end{array}double f(double alpha, double beta, double i) {
double r113920 = i;
double r113921 = alpha;
double r113922 = beta;
double r113923 = r113921 + r113922;
double r113924 = r113923 + r113920;
double r113925 = r113920 * r113924;
double r113926 = r113922 * r113921;
double r113927 = r113926 + r113925;
double r113928 = r113925 * r113927;
double r113929 = 2.0;
double r113930 = r113929 * r113920;
double r113931 = r113923 + r113930;
double r113932 = r113931 * r113931;
double r113933 = r113928 / r113932;
double r113934 = 1.0;
double r113935 = r113932 - r113934;
double r113936 = r113933 / r113935;
return r113936;
}
double f(double alpha, double beta, double i) {
double r113937 = beta;
double r113938 = 1.7873990429441248e+144;
bool r113939 = r113937 <= r113938;
double r113940 = i;
double r113941 = 2.0;
double r113942 = alpha;
double r113943 = r113942 + r113937;
double r113944 = fma(r113940, r113941, r113943);
double r113945 = 1.0;
double r113946 = -r113945;
double r113947 = fma(r113944, r113944, r113946);
double r113948 = r113940 / r113947;
double r113949 = r113943 + r113940;
double r113950 = r113949 / r113944;
double r113951 = r113948 * r113950;
double r113952 = r113940 * r113949;
double r113953 = fma(r113937, r113942, r113952);
double r113954 = r113944 / r113953;
double r113955 = r113951 / r113954;
double r113956 = 2.0;
double r113957 = r113942 * r113937;
double r113958 = 4.0;
double r113959 = r113940 * r113937;
double r113960 = pow(r113937, r113956);
double r113961 = fma(r113958, r113959, r113960);
double r113962 = fma(r113956, r113957, r113961);
double r113963 = r113940 / r113962;
double r113964 = r113963 * r113950;
double r113965 = r113941 / r113940;
double r113966 = r113964 / r113965;
double r113967 = r113939 ? r113955 : r113966;
return r113967;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if beta < 1.7873990429441248e+144Initial program 51.8
Simplified51.3
rmApplied *-un-lft-identity51.3
Applied times-frac46.7
Applied associate-/r*46.7
Simplified36.2
if 1.7873990429441248e+144 < beta Initial program 64.0
Simplified58.7
rmApplied *-un-lft-identity58.7
Applied times-frac58.7
Applied associate-/r*58.7
Simplified57.1
Taylor expanded around inf 49.6
Taylor expanded around inf 49.6
Simplified49.6
Final simplification38.5
herbie shell --seed 2020047 +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)))