\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.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.6558555060968876 \cdot 10^{+188}:\\
\;\;\;\;\frac{\left(\beta + \alpha\right) \cdot \frac{\log \left(e^{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}\right)}{\left(\left(\beta + \alpha\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)} + \left(\frac{2.0}{\alpha} - \frac{4.0}{\alpha \cdot \alpha}\right)}{2.0}\\
\end{array}double f(double alpha, double beta, double i) {
double r3400965 = alpha;
double r3400966 = beta;
double r3400967 = r3400965 + r3400966;
double r3400968 = r3400966 - r3400965;
double r3400969 = r3400967 * r3400968;
double r3400970 = 2.0;
double r3400971 = i;
double r3400972 = r3400970 * r3400971;
double r3400973 = r3400967 + r3400972;
double r3400974 = r3400969 / r3400973;
double r3400975 = 2.0;
double r3400976 = r3400973 + r3400975;
double r3400977 = r3400974 / r3400976;
double r3400978 = 1.0;
double r3400979 = r3400977 + r3400978;
double r3400980 = r3400979 / r3400975;
return r3400980;
}
double f(double alpha, double beta, double i) {
double r3400981 = alpha;
double r3400982 = 1.6558555060968876e+188;
bool r3400983 = r3400981 <= r3400982;
double r3400984 = beta;
double r3400985 = r3400984 + r3400981;
double r3400986 = r3400984 - r3400981;
double r3400987 = 2.0;
double r3400988 = i;
double r3400989 = r3400987 * r3400988;
double r3400990 = r3400985 + r3400989;
double r3400991 = r3400986 / r3400990;
double r3400992 = exp(r3400991);
double r3400993 = log(r3400992);
double r3400994 = 2.0;
double r3400995 = r3400990 + r3400994;
double r3400996 = r3400993 / r3400995;
double r3400997 = r3400985 * r3400996;
double r3400998 = 1.0;
double r3400999 = r3400997 + r3400998;
double r3401000 = r3400999 / r3400994;
double r3401001 = 8.0;
double r3401002 = r3400981 * r3400981;
double r3401003 = r3400981 * r3401002;
double r3401004 = r3401001 / r3401003;
double r3401005 = r3400994 / r3400981;
double r3401006 = 4.0;
double r3401007 = r3401006 / r3401002;
double r3401008 = r3401005 - r3401007;
double r3401009 = r3401004 + r3401008;
double r3401010 = r3401009 / r3400994;
double r3401011 = r3400983 ? r3401000 : r3401010;
return r3401011;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.6558555060968876e+188Initial program 17.5
rmApplied *-un-lft-identity17.5
Applied *-un-lft-identity17.5
Applied times-frac6.8
Applied times-frac6.8
Simplified6.8
rmApplied add-log-exp6.8
if 1.6558555060968876e+188 < alpha Initial program 63.2
Taylor expanded around -inf 42.0
Simplified42.0
Final simplification11.2
herbie shell --seed 2019133
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1) (> beta -1) (> i 0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))