\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 1.142935579114712 \cdot 10^{152}:\\
\;\;\;\;\frac{\log \left(e^{\left(\beta + \alpha\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}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\frac{2}{\alpha} + \frac{8}{{\alpha}^{3}}\right) - \frac{4}{\alpha \cdot \alpha}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r87822 = alpha;
double r87823 = beta;
double r87824 = r87822 + r87823;
double r87825 = r87823 - r87822;
double r87826 = r87824 * r87825;
double r87827 = 2.0;
double r87828 = i;
double r87829 = r87827 * r87828;
double r87830 = r87824 + r87829;
double r87831 = r87826 / r87830;
double r87832 = r87830 + r87827;
double r87833 = r87831 / r87832;
double r87834 = 1.0;
double r87835 = r87833 + r87834;
double r87836 = r87835 / r87827;
return r87836;
}
double f(double alpha, double beta, double i) {
double r87837 = alpha;
double r87838 = 1.142935579114712e+152;
bool r87839 = r87837 <= r87838;
double r87840 = beta;
double r87841 = r87840 + r87837;
double r87842 = r87840 - r87837;
double r87843 = r87837 + r87840;
double r87844 = 2.0;
double r87845 = i;
double r87846 = r87844 * r87845;
double r87847 = r87843 + r87846;
double r87848 = r87842 / r87847;
double r87849 = r87847 + r87844;
double r87850 = r87848 / r87849;
double r87851 = r87841 * r87850;
double r87852 = 1.0;
double r87853 = r87851 + r87852;
double r87854 = exp(r87853);
double r87855 = log(r87854);
double r87856 = r87855 / r87844;
double r87857 = r87844 / r87837;
double r87858 = 8.0;
double r87859 = 3.0;
double r87860 = pow(r87837, r87859);
double r87861 = r87858 / r87860;
double r87862 = r87857 + r87861;
double r87863 = 4.0;
double r87864 = r87837 * r87837;
double r87865 = r87863 / r87864;
double r87866 = r87862 - r87865;
double r87867 = r87866 / r87844;
double r87868 = r87839 ? r87856 : r87867;
return r87868;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.142935579114712e+152Initial program 15.9
rmApplied *-un-lft-identity15.9
Applied *-un-lft-identity15.9
Applied times-frac5.5
Applied times-frac5.5
Simplified5.5
rmApplied add-log-exp5.5
Applied add-log-exp5.5
Applied sum-log5.5
Simplified5.5
if 1.142935579114712e+152 < alpha Initial program 63.8
Taylor expanded around inf 40.2
Simplified40.2
Final simplification11.3
herbie shell --seed 2019195
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1.0) (> beta -1.0) (> i 0.0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) 1.0) 2.0))