\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 7.199390437266368460680394683283077205148 \cdot 10^{259}:\\
\;\;\;\;\frac{\log \left(e^{\left(\alpha + \beta\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(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r99081 = alpha;
double r99082 = beta;
double r99083 = r99081 + r99082;
double r99084 = r99082 - r99081;
double r99085 = r99083 * r99084;
double r99086 = 2.0;
double r99087 = i;
double r99088 = r99086 * r99087;
double r99089 = r99083 + r99088;
double r99090 = r99085 / r99089;
double r99091 = r99089 + r99086;
double r99092 = r99090 / r99091;
double r99093 = 1.0;
double r99094 = r99092 + r99093;
double r99095 = r99094 / r99086;
return r99095;
}
double f(double alpha, double beta, double i) {
double r99096 = alpha;
double r99097 = 7.199390437266368e+259;
bool r99098 = r99096 <= r99097;
double r99099 = beta;
double r99100 = r99096 + r99099;
double r99101 = r99099 - r99096;
double r99102 = 2.0;
double r99103 = i;
double r99104 = r99102 * r99103;
double r99105 = r99100 + r99104;
double r99106 = r99101 / r99105;
double r99107 = r99105 + r99102;
double r99108 = r99106 / r99107;
double r99109 = r99100 * r99108;
double r99110 = 1.0;
double r99111 = r99109 + r99110;
double r99112 = exp(r99111);
double r99113 = log(r99112);
double r99114 = r99113 / r99102;
double r99115 = 1.0;
double r99116 = r99115 / r99096;
double r99117 = r99102 * r99116;
double r99118 = 8.0;
double r99119 = 3.0;
double r99120 = pow(r99096, r99119);
double r99121 = r99115 / r99120;
double r99122 = r99118 * r99121;
double r99123 = r99117 + r99122;
double r99124 = 4.0;
double r99125 = 2.0;
double r99126 = pow(r99096, r99125);
double r99127 = r99115 / r99126;
double r99128 = r99124 * r99127;
double r99129 = r99123 - r99128;
double r99130 = r99129 / r99102;
double r99131 = r99098 ? r99114 : r99130;
return r99131;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 7.199390437266368e+259Initial program 22.2
rmApplied *-un-lft-identity22.2
Applied *-un-lft-identity22.2
Applied times-frac10.4
Applied times-frac10.4
Simplified10.4
rmApplied add-log-exp10.4
Applied add-log-exp10.4
Applied sum-log10.4
Simplified10.4
if 7.199390437266368e+259 < alpha Initial program 64.0
Taylor expanded around inf 42.7
Final simplification12.0
herbie shell --seed 2019308
(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))