\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.9832343195288184 \cdot 10^{93}:\\
\;\;\;\;\frac{e^{\sqrt[3]{{\left(\log \left(\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1\right)\right)}^{3}}}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right) + \frac{2}{\alpha}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r87881 = alpha;
double r87882 = beta;
double r87883 = r87881 + r87882;
double r87884 = r87882 - r87881;
double r87885 = r87883 * r87884;
double r87886 = 2.0;
double r87887 = i;
double r87888 = r87886 * r87887;
double r87889 = r87883 + r87888;
double r87890 = r87885 / r87889;
double r87891 = r87889 + r87886;
double r87892 = r87890 / r87891;
double r87893 = 1.0;
double r87894 = r87892 + r87893;
double r87895 = r87894 / r87886;
return r87895;
}
double f(double alpha, double beta, double i) {
double r87896 = alpha;
double r87897 = 5.983234319528818e+93;
bool r87898 = r87896 <= r87897;
double r87899 = beta;
double r87900 = r87896 + r87899;
double r87901 = r87899 - r87896;
double r87902 = 2.0;
double r87903 = i;
double r87904 = r87902 * r87903;
double r87905 = r87900 + r87904;
double r87906 = r87901 / r87905;
double r87907 = r87900 * r87906;
double r87908 = r87905 + r87902;
double r87909 = r87907 / r87908;
double r87910 = 1.0;
double r87911 = r87909 + r87910;
double r87912 = log(r87911);
double r87913 = 3.0;
double r87914 = pow(r87912, r87913);
double r87915 = cbrt(r87914);
double r87916 = exp(r87915);
double r87917 = r87916 / r87902;
double r87918 = 8.0;
double r87919 = 1.0;
double r87920 = pow(r87896, r87913);
double r87921 = r87919 / r87920;
double r87922 = r87918 * r87921;
double r87923 = 4.0;
double r87924 = 2.0;
double r87925 = pow(r87896, r87924);
double r87926 = r87919 / r87925;
double r87927 = r87923 * r87926;
double r87928 = r87922 - r87927;
double r87929 = r87902 / r87896;
double r87930 = r87928 + r87929;
double r87931 = r87930 / r87902;
double r87932 = r87898 ? r87917 : r87931;
return r87932;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 5.983234319528818e+93Initial program 13.8
rmApplied *-un-lft-identity13.8
Applied times-frac3.1
Simplified3.1
rmApplied add-exp-log3.1
rmApplied add-cbrt-cube3.1
Simplified3.1
if 5.983234319528818e+93 < alpha Initial program 59.3
rmApplied *-un-lft-identity59.3
Applied times-frac43.5
Simplified43.5
Taylor expanded around inf 41.2
Simplified41.2
Final simplification11.7
herbie shell --seed 2020020
(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))