\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.244272110236542990854135182922651770205 \cdot 10^{212}:\\
\;\;\;\;\frac{\log \left(\sqrt{e^{\frac{\left(\beta + \alpha\right) \cdot \frac{\beta - \alpha}{2 + \left(\beta + \left(\alpha + 2 \cdot i\right)\right)}}{2 \cdot i + \left(\beta + \alpha\right)} + 1}}\right) + \log \left(\sqrt{e^{\frac{\left(\beta + \alpha\right) \cdot \frac{\beta - \alpha}{2 + \left(\beta + \left(\alpha + 2 \cdot i\right)\right)}}{2 \cdot i + \left(\beta + \alpha\right)} + 1}}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\alpha} + \left(\frac{8}{{\alpha}^{3}} - \frac{\frac{4}{\alpha}}{\alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r92957 = alpha;
double r92958 = beta;
double r92959 = r92957 + r92958;
double r92960 = r92958 - r92957;
double r92961 = r92959 * r92960;
double r92962 = 2.0;
double r92963 = i;
double r92964 = r92962 * r92963;
double r92965 = r92959 + r92964;
double r92966 = r92961 / r92965;
double r92967 = r92965 + r92962;
double r92968 = r92966 / r92967;
double r92969 = 1.0;
double r92970 = r92968 + r92969;
double r92971 = r92970 / r92962;
return r92971;
}
double f(double alpha, double beta, double i) {
double r92972 = alpha;
double r92973 = 1.244272110236543e+212;
bool r92974 = r92972 <= r92973;
double r92975 = beta;
double r92976 = r92975 + r92972;
double r92977 = r92975 - r92972;
double r92978 = 2.0;
double r92979 = i;
double r92980 = r92978 * r92979;
double r92981 = r92972 + r92980;
double r92982 = r92975 + r92981;
double r92983 = r92978 + r92982;
double r92984 = r92977 / r92983;
double r92985 = r92976 * r92984;
double r92986 = r92980 + r92976;
double r92987 = r92985 / r92986;
double r92988 = 1.0;
double r92989 = r92987 + r92988;
double r92990 = exp(r92989);
double r92991 = sqrt(r92990);
double r92992 = log(r92991);
double r92993 = r92992 + r92992;
double r92994 = r92993 / r92978;
double r92995 = r92978 / r92972;
double r92996 = 8.0;
double r92997 = 3.0;
double r92998 = pow(r92972, r92997);
double r92999 = r92996 / r92998;
double r93000 = 4.0;
double r93001 = r93000 / r92972;
double r93002 = r93001 / r92972;
double r93003 = r92999 - r93002;
double r93004 = r92995 + r93003;
double r93005 = r93004 / r92978;
double r93006 = r92974 ? r92994 : r93005;
return r93006;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.244272110236543e+212Initial program 18.9
Simplified18.9
rmApplied add-log-exp18.9
Applied add-log-exp18.9
Applied sum-log18.9
Simplified7.3
rmApplied div-inv7.3
Applied associate-*l*7.3
Simplified7.3
rmApplied add-sqr-sqrt7.3
Applied log-prod7.3
Simplified7.3
Simplified7.3
if 1.244272110236543e+212 < alpha Initial program 64.0
Simplified64.0
rmApplied add-log-exp64.0
Applied add-log-exp64.0
Applied sum-log64.0
Simplified50.1
Taylor expanded around inf 42.9
Simplified42.9
Final simplification11.1
herbie shell --seed 2019194
(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))