\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 3.6025637907031592 \cdot 10^{62}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(\mathsf{fma}\left(\frac{1}{\frac{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\alpha + \beta}}{\beta - \alpha}}, \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)\right)}^{3}}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r206915 = alpha;
double r206916 = beta;
double r206917 = r206915 + r206916;
double r206918 = r206916 - r206915;
double r206919 = r206917 * r206918;
double r206920 = 2.0;
double r206921 = i;
double r206922 = r206920 * r206921;
double r206923 = r206917 + r206922;
double r206924 = r206919 / r206923;
double r206925 = r206923 + r206920;
double r206926 = r206924 / r206925;
double r206927 = 1.0;
double r206928 = r206926 + r206927;
double r206929 = r206928 / r206920;
return r206929;
}
double f(double alpha, double beta, double i) {
double r206930 = alpha;
double r206931 = 3.602563790703159e+62;
bool r206932 = r206930 <= r206931;
double r206933 = 1.0;
double r206934 = i;
double r206935 = 2.0;
double r206936 = beta;
double r206937 = r206930 + r206936;
double r206938 = fma(r206934, r206935, r206937);
double r206939 = r206938 / r206937;
double r206940 = r206936 - r206930;
double r206941 = r206939 / r206940;
double r206942 = r206933 / r206941;
double r206943 = r206935 * r206934;
double r206944 = r206937 + r206943;
double r206945 = r206944 + r206935;
double r206946 = r206933 / r206945;
double r206947 = 1.0;
double r206948 = fma(r206942, r206946, r206947);
double r206949 = 3.0;
double r206950 = pow(r206948, r206949);
double r206951 = cbrt(r206950);
double r206952 = r206951 / r206935;
double r206953 = r206933 / r206930;
double r206954 = 8.0;
double r206955 = pow(r206930, r206949);
double r206956 = r206933 / r206955;
double r206957 = r206954 * r206956;
double r206958 = 4.0;
double r206959 = 2.0;
double r206960 = pow(r206930, r206959);
double r206961 = r206933 / r206960;
double r206962 = r206958 * r206961;
double r206963 = r206957 - r206962;
double r206964 = fma(r206935, r206953, r206963);
double r206965 = r206964 / r206935;
double r206966 = r206932 ? r206952 : r206965;
return r206966;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 3.602563790703159e+62Initial program 12.3
rmApplied clear-num12.3
Simplified1.5
rmApplied div-inv1.5
Applied fma-def1.5
rmApplied add-cbrt-cube1.5
Simplified1.5
if 3.602563790703159e+62 < alpha Initial program 56.3
Taylor expanded around inf 41.1
Simplified41.1
Final simplification12.0
herbie shell --seed 2020089 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:precision binary64
:pre (and (> alpha -1) (> beta -1) (> i 0.0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2)) 1) 2))