\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 -1:\\
\;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log \left(e^{\frac{\frac{\alpha + \beta}{1}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}} + 1}\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r175829 = alpha;
double r175830 = beta;
double r175831 = r175829 + r175830;
double r175832 = r175830 - r175829;
double r175833 = r175831 * r175832;
double r175834 = 2.0;
double r175835 = i;
double r175836 = r175834 * r175835;
double r175837 = r175831 + r175836;
double r175838 = r175833 / r175837;
double r175839 = r175837 + r175834;
double r175840 = r175838 / r175839;
double r175841 = 1.0;
double r175842 = r175840 + r175841;
double r175843 = r175842 / r175834;
return r175843;
}
double f(double alpha, double beta, double i) {
double r175844 = alpha;
double r175845 = beta;
double r175846 = r175844 + r175845;
double r175847 = r175845 - r175844;
double r175848 = r175846 * r175847;
double r175849 = 2.0;
double r175850 = i;
double r175851 = r175849 * r175850;
double r175852 = r175846 + r175851;
double r175853 = r175848 / r175852;
double r175854 = r175852 + r175849;
double r175855 = r175853 / r175854;
double r175856 = -1.0;
bool r175857 = r175855 <= r175856;
double r175858 = 1.0;
double r175859 = r175858 / r175844;
double r175860 = r175849 * r175859;
double r175861 = 8.0;
double r175862 = 3.0;
double r175863 = pow(r175844, r175862);
double r175864 = r175858 / r175863;
double r175865 = r175861 * r175864;
double r175866 = r175860 + r175865;
double r175867 = 4.0;
double r175868 = 2.0;
double r175869 = pow(r175844, r175868);
double r175870 = r175858 / r175869;
double r175871 = r175867 * r175870;
double r175872 = r175866 - r175871;
double r175873 = r175872 / r175849;
double r175874 = r175846 / r175858;
double r175875 = r175847 / r175852;
double r175876 = r175854 / r175875;
double r175877 = r175874 / r175876;
double r175878 = 1.0;
double r175879 = r175877 + r175878;
double r175880 = exp(r175879);
double r175881 = log(r175880);
double r175882 = r175881 / r175849;
double r175883 = r175857 ? r175873 : r175882;
return r175883;
}



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)) < -1.0Initial program 63.3
Taylor expanded around inf 32.9
if -1.0 < (/ (/ (* (+ 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 times-frac0.5
Applied associate-/l*0.5
rmApplied add-log-exp0.5
Applied add-log-exp0.5
Applied sum-log0.5
Simplified0.5
Final simplification7.6
herbie shell --seed 2020035
(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))