\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.0312336573895782 \cdot 10^{+150}:\\
\;\;\;\;\frac{e^{\log \left(\left(\beta + \alpha\right) \cdot \frac{\frac{\beta - \alpha}{i \cdot 2 + \left(\beta + \alpha\right)}}{2.0 + \left(i \cdot 2 + \left(\beta + \alpha\right)\right)} + 1.0\right)}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)} + \frac{2.0}{\alpha}\right) - \frac{4.0}{\alpha \cdot \alpha}}{2.0}\\
\end{array}double f(double alpha, double beta, double i) {
double r2256963 = alpha;
double r2256964 = beta;
double r2256965 = r2256963 + r2256964;
double r2256966 = r2256964 - r2256963;
double r2256967 = r2256965 * r2256966;
double r2256968 = 2.0;
double r2256969 = i;
double r2256970 = r2256968 * r2256969;
double r2256971 = r2256965 + r2256970;
double r2256972 = r2256967 / r2256971;
double r2256973 = 2.0;
double r2256974 = r2256971 + r2256973;
double r2256975 = r2256972 / r2256974;
double r2256976 = 1.0;
double r2256977 = r2256975 + r2256976;
double r2256978 = r2256977 / r2256973;
return r2256978;
}
double f(double alpha, double beta, double i) {
double r2256979 = alpha;
double r2256980 = 1.0312336573895782e+150;
bool r2256981 = r2256979 <= r2256980;
double r2256982 = beta;
double r2256983 = r2256982 + r2256979;
double r2256984 = r2256982 - r2256979;
double r2256985 = i;
double r2256986 = 2.0;
double r2256987 = r2256985 * r2256986;
double r2256988 = r2256987 + r2256983;
double r2256989 = r2256984 / r2256988;
double r2256990 = 2.0;
double r2256991 = r2256990 + r2256988;
double r2256992 = r2256989 / r2256991;
double r2256993 = r2256983 * r2256992;
double r2256994 = 1.0;
double r2256995 = r2256993 + r2256994;
double r2256996 = log(r2256995);
double r2256997 = exp(r2256996);
double r2256998 = r2256997 / r2256990;
double r2256999 = 8.0;
double r2257000 = r2256979 * r2256979;
double r2257001 = r2256979 * r2257000;
double r2257002 = r2256999 / r2257001;
double r2257003 = r2256990 / r2256979;
double r2257004 = r2257002 + r2257003;
double r2257005 = 4.0;
double r2257006 = r2257005 / r2257000;
double r2257007 = r2257004 - r2257006;
double r2257008 = r2257007 / r2256990;
double r2257009 = r2256981 ? r2256998 : r2257008;
return r2257009;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.0312336573895782e+150Initial program 15.6
rmApplied *-un-lft-identity15.6
Applied *-un-lft-identity15.6
Applied times-frac5.6
Applied times-frac5.5
Simplified5.5
rmApplied add-exp-log5.5
if 1.0312336573895782e+150 < alpha Initial program 62.9
Taylor expanded around inf 41.3
Simplified41.3
Final simplification11.7
herbie shell --seed 2019153
(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))