\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.5322107907580335 \cdot 10^{138}:\\
\;\;\;\;\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 r121002 = alpha;
double r121003 = beta;
double r121004 = r121002 + r121003;
double r121005 = r121003 - r121002;
double r121006 = r121004 * r121005;
double r121007 = 2.0;
double r121008 = i;
double r121009 = r121007 * r121008;
double r121010 = r121004 + r121009;
double r121011 = r121006 / r121010;
double r121012 = r121010 + r121007;
double r121013 = r121011 / r121012;
double r121014 = 1.0;
double r121015 = r121013 + r121014;
double r121016 = r121015 / r121007;
return r121016;
}
double f(double alpha, double beta, double i) {
double r121017 = alpha;
double r121018 = 1.5322107907580335e+138;
bool r121019 = r121017 <= r121018;
double r121020 = beta;
double r121021 = r121017 + r121020;
double r121022 = r121020 - r121017;
double r121023 = 2.0;
double r121024 = i;
double r121025 = r121023 * r121024;
double r121026 = r121021 + r121025;
double r121027 = r121022 / r121026;
double r121028 = r121026 + r121023;
double r121029 = r121027 / r121028;
double r121030 = r121021 * r121029;
double r121031 = 1.0;
double r121032 = r121030 + r121031;
double r121033 = exp(r121032);
double r121034 = log(r121033);
double r121035 = r121034 / r121023;
double r121036 = 1.0;
double r121037 = r121036 / r121017;
double r121038 = r121023 * r121037;
double r121039 = 8.0;
double r121040 = 3.0;
double r121041 = pow(r121017, r121040);
double r121042 = r121036 / r121041;
double r121043 = r121039 * r121042;
double r121044 = r121038 + r121043;
double r121045 = 4.0;
double r121046 = 2.0;
double r121047 = pow(r121017, r121046);
double r121048 = r121036 / r121047;
double r121049 = r121045 * r121048;
double r121050 = r121044 - r121049;
double r121051 = r121050 / r121023;
double r121052 = r121019 ? r121035 : r121051;
return r121052;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.5322107907580335e+138Initial program 15.5
rmApplied *-un-lft-identity15.5
Applied *-un-lft-identity15.5
Applied times-frac5.2
Applied times-frac5.2
Simplified5.2
rmApplied add-cbrt-cube5.2
Simplified5.2
rmApplied add-log-exp5.2
Simplified5.2
if 1.5322107907580335e+138 < alpha Initial program 62.5
Taylor expanded around inf 40.8
Final simplification11.7
herbie shell --seed 2020062
(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))