\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.9999999996909236799069731205236166715622:\\
\;\;\;\;\frac{\left(\frac{8}{{\alpha}^{3}} - \frac{4}{\alpha \cdot \alpha}\right) + \frac{2}{\alpha}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log \left(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 r84642 = alpha;
double r84643 = beta;
double r84644 = r84642 + r84643;
double r84645 = r84643 - r84642;
double r84646 = r84644 * r84645;
double r84647 = 2.0;
double r84648 = i;
double r84649 = r84647 * r84648;
double r84650 = r84644 + r84649;
double r84651 = r84646 / r84650;
double r84652 = r84650 + r84647;
double r84653 = r84651 / r84652;
double r84654 = 1.0;
double r84655 = r84653 + r84654;
double r84656 = r84655 / r84647;
return r84656;
}
double f(double alpha, double beta, double i) {
double r84657 = alpha;
double r84658 = beta;
double r84659 = r84657 + r84658;
double r84660 = r84658 - r84657;
double r84661 = r84659 * r84660;
double r84662 = 2.0;
double r84663 = i;
double r84664 = r84662 * r84663;
double r84665 = r84659 + r84664;
double r84666 = r84661 / r84665;
double r84667 = r84665 + r84662;
double r84668 = r84666 / r84667;
double r84669 = -0.9999999996909237;
bool r84670 = r84668 <= r84669;
double r84671 = 8.0;
double r84672 = 3.0;
double r84673 = pow(r84657, r84672);
double r84674 = r84671 / r84673;
double r84675 = 4.0;
double r84676 = r84657 * r84657;
double r84677 = r84675 / r84676;
double r84678 = r84674 - r84677;
double r84679 = r84662 / r84657;
double r84680 = r84678 + r84679;
double r84681 = r84680 / r84662;
double r84682 = r84660 / r84665;
double r84683 = r84682 / r84667;
double r84684 = r84659 * r84683;
double r84685 = 1.0;
double r84686 = r84684 + r84685;
double r84687 = exp(r84686);
double r84688 = log(r84687);
double r84689 = r84688 / r84662;
double r84690 = r84670 ? r84681 : r84689;
return r84690;
}



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.9999999996909237Initial program 62.9
rmApplied *-un-lft-identity62.9
Applied *-un-lft-identity62.9
Applied times-frac54.5
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 31.5
Simplified31.5
if -0.9999999996909237 < (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) Initial program 12.8
rmApplied *-un-lft-identity12.8
Applied *-un-lft-identity12.8
Applied times-frac0.1
Applied times-frac0.1
Simplified0.1
rmApplied add-log-exp0.1
Applied add-log-exp0.1
Applied sum-log0.1
Simplified0.1
Final simplification7.2
herbie shell --seed 2019322
(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))