\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.9999999999999998889776975374843459576368:\\
\;\;\;\;\frac{\frac{8}{{\alpha}^{3}} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log \left(\sqrt{e^{\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) + \log \left(\sqrt{e^{\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)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r95700 = alpha;
double r95701 = beta;
double r95702 = r95700 + r95701;
double r95703 = r95701 - r95700;
double r95704 = r95702 * r95703;
double r95705 = 2.0;
double r95706 = i;
double r95707 = r95705 * r95706;
double r95708 = r95702 + r95707;
double r95709 = r95704 / r95708;
double r95710 = r95708 + r95705;
double r95711 = r95709 / r95710;
double r95712 = 1.0;
double r95713 = r95711 + r95712;
double r95714 = r95713 / r95705;
return r95714;
}
double f(double alpha, double beta, double i) {
double r95715 = alpha;
double r95716 = beta;
double r95717 = r95715 + r95716;
double r95718 = r95716 - r95715;
double r95719 = r95717 * r95718;
double r95720 = 2.0;
double r95721 = i;
double r95722 = r95720 * r95721;
double r95723 = r95717 + r95722;
double r95724 = r95719 / r95723;
double r95725 = r95723 + r95720;
double r95726 = r95724 / r95725;
double r95727 = -0.9999999999999999;
bool r95728 = r95726 <= r95727;
double r95729 = 8.0;
double r95730 = 3.0;
double r95731 = pow(r95715, r95730);
double r95732 = r95729 / r95731;
double r95733 = r95720 / r95715;
double r95734 = 4.0;
double r95735 = r95715 * r95715;
double r95736 = r95734 / r95735;
double r95737 = r95733 - r95736;
double r95738 = r95732 + r95737;
double r95739 = r95738 / r95720;
double r95740 = r95718 / r95723;
double r95741 = r95740 / r95725;
double r95742 = r95717 * r95741;
double r95743 = 1.0;
double r95744 = r95742 + r95743;
double r95745 = exp(r95744);
double r95746 = sqrt(r95745);
double r95747 = log(r95746);
double r95748 = r95747 + r95747;
double r95749 = r95748 / r95720;
double r95750 = r95728 ? r95739 : r95749;
return r95750;
}



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.9999999999999999Initial program 63.3
rmApplied *-un-lft-identity63.3
Applied *-un-lft-identity63.3
Applied times-frac54.6
Applied times-frac54.5
Simplified54.5
rmApplied add-log-exp54.5
Applied add-log-exp54.5
Applied sum-log54.5
Simplified54.5
Taylor expanded around inf 33.2
Simplified33.2
if -0.9999999999999999 < (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) Initial program 12.9
rmApplied *-un-lft-identity12.9
Applied *-un-lft-identity12.9
Applied times-frac0.3
Applied times-frac0.3
Simplified0.3
rmApplied add-log-exp0.3
Applied add-log-exp0.3
Applied sum-log0.3
Simplified0.3
rmApplied add-sqr-sqrt0.4
Applied log-prod0.4
Final simplification7.6
herbie shell --seed 2019306
(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))