\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}\;\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} \le -0.9999999846191671704076497917412780225277:\\
\;\;\;\;\frac{\frac{8}{{\alpha}^{3}} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left({\left(\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1\right)}^{3}\right)}^{\frac{1}{3}}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r85771 = alpha;
double r85772 = beta;
double r85773 = r85771 + r85772;
double r85774 = r85772 - r85771;
double r85775 = r85773 * r85774;
double r85776 = 2.0;
double r85777 = i;
double r85778 = r85776 * r85777;
double r85779 = r85773 + r85778;
double r85780 = r85775 / r85779;
double r85781 = r85779 + r85776;
double r85782 = r85780 / r85781;
double r85783 = 1.0;
double r85784 = r85782 + r85783;
double r85785 = r85784 / r85776;
return r85785;
}
double f(double alpha, double beta, double i) {
double r85786 = alpha;
double r85787 = beta;
double r85788 = r85786 + r85787;
double r85789 = r85787 - r85786;
double r85790 = r85788 * r85789;
double r85791 = 2.0;
double r85792 = i;
double r85793 = r85791 * r85792;
double r85794 = r85788 + r85793;
double r85795 = r85790 / r85794;
double r85796 = r85794 + r85791;
double r85797 = r85795 / r85796;
double r85798 = -0.9999999846191672;
bool r85799 = r85797 <= r85798;
double r85800 = 8.0;
double r85801 = 3.0;
double r85802 = pow(r85786, r85801);
double r85803 = r85800 / r85802;
double r85804 = r85791 / r85786;
double r85805 = 4.0;
double r85806 = r85786 * r85786;
double r85807 = r85805 / r85806;
double r85808 = r85804 - r85807;
double r85809 = r85803 + r85808;
double r85810 = r85809 / r85791;
double r85811 = r85789 / r85794;
double r85812 = r85811 / r85796;
double r85813 = r85788 * r85812;
double r85814 = 1.0;
double r85815 = r85813 + r85814;
double r85816 = pow(r85815, r85801);
double r85817 = 0.3333333333333333;
double r85818 = pow(r85816, r85817);
double r85819 = r85818 / r85791;
double r85820 = r85799 ? r85810 : r85819;
return r85820;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) < -0.9999999846191672Initial program 62.7
rmApplied *-un-lft-identity62.7
Applied *-un-lft-identity62.7
Applied times-frac54.4
Applied times-frac54.3
Simplified54.3
rmApplied add-cbrt-cube54.3
Simplified54.3
Taylor expanded around inf 31.3
Simplified31.3
if -0.9999999846191672 < (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) Initial program 12.6
rmApplied *-un-lft-identity12.6
Applied *-un-lft-identity12.6
Applied times-frac0.1
Applied times-frac0.1
Simplified0.1
rmApplied add-cbrt-cube0.1
Simplified0.1
rmApplied pow1/30.1
Final simplification7.3
herbie shell --seed 2019350
(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))