\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 5.127844411711004421416606352766433702715 \cdot 10^{176}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{1}, \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 \cdot \mathsf{fma}\left(-4, \frac{1}{{\alpha}^{2}}, \mathsf{fma}\left(8, \frac{1}{{\alpha}^{3}}, \frac{2}{\alpha}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r134858 = alpha;
double r134859 = beta;
double r134860 = r134858 + r134859;
double r134861 = r134859 - r134858;
double r134862 = r134860 * r134861;
double r134863 = 2.0;
double r134864 = i;
double r134865 = r134863 * r134864;
double r134866 = r134860 + r134865;
double r134867 = r134862 / r134866;
double r134868 = r134866 + r134863;
double r134869 = r134867 / r134868;
double r134870 = 1.0;
double r134871 = r134869 + r134870;
double r134872 = r134871 / r134863;
return r134872;
}
double f(double alpha, double beta, double i) {
double r134873 = alpha;
double r134874 = 5.127844411711004e+176;
bool r134875 = r134873 <= r134874;
double r134876 = beta;
double r134877 = r134873 + r134876;
double r134878 = 1.0;
double r134879 = r134877 / r134878;
double r134880 = r134879 / r134878;
double r134881 = r134876 - r134873;
double r134882 = 2.0;
double r134883 = i;
double r134884 = r134882 * r134883;
double r134885 = r134877 + r134884;
double r134886 = r134881 / r134885;
double r134887 = r134885 + r134882;
double r134888 = r134886 / r134887;
double r134889 = 1.0;
double r134890 = fma(r134880, r134888, r134889);
double r134891 = r134890 / r134882;
double r134892 = 4.0;
double r134893 = -r134892;
double r134894 = 2.0;
double r134895 = pow(r134873, r134894);
double r134896 = r134878 / r134895;
double r134897 = 8.0;
double r134898 = 3.0;
double r134899 = pow(r134873, r134898);
double r134900 = r134878 / r134899;
double r134901 = r134882 / r134873;
double r134902 = fma(r134897, r134900, r134901);
double r134903 = fma(r134893, r134896, r134902);
double r134904 = r134878 * r134903;
double r134905 = r134904 / r134882;
double r134906 = r134875 ? r134891 : r134905;
return r134906;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 5.127844411711004e+176Initial program 17.5
rmApplied *-un-lft-identity17.5
Applied *-un-lft-identity17.5
Applied times-frac6.5
Applied times-frac6.5
Applied fma-def6.4
if 5.127844411711004e+176 < alpha Initial program 64.0
rmApplied *-un-lft-identity64.0
Applied *-un-lft-identity64.0
Applied distribute-lft-out64.0
Simplified48.4
Taylor expanded around inf 40.6
Simplified40.6
Final simplification11.4
herbie shell --seed 2019346 +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))