\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 9.76982660809475993097637758871956020598 \cdot 10^{62}:\\
\;\;\;\;\frac{1 + \frac{\left(\beta + \alpha\right) \cdot \left(\frac{1}{\left(i \cdot 2 + \alpha\right) + \beta} \cdot \left(\beta - \alpha\right)\right)}{2 + \left(\left(\beta + \alpha\right) + i \cdot 2\right)}}{2}\\
\mathbf{elif}\;\alpha \le 2.266980258015373608283608969920590572301 \cdot 10^{166}:\\
\;\;\;\;\frac{\frac{2}{\alpha} + \left(\frac{8}{{\alpha}^{3}} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(\frac{\beta + \alpha}{\frac{\left(2 + \left(\beta + \alpha\right)\right) + i \cdot 2}{\frac{\beta - \alpha}{\left(i \cdot 2 + \beta\right) + \alpha}}}\right)}^{3}} + 1}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r108043 = alpha;
double r108044 = beta;
double r108045 = r108043 + r108044;
double r108046 = r108044 - r108043;
double r108047 = r108045 * r108046;
double r108048 = 2.0;
double r108049 = i;
double r108050 = r108048 * r108049;
double r108051 = r108045 + r108050;
double r108052 = r108047 / r108051;
double r108053 = r108051 + r108048;
double r108054 = r108052 / r108053;
double r108055 = 1.0;
double r108056 = r108054 + r108055;
double r108057 = r108056 / r108048;
return r108057;
}
double f(double alpha, double beta, double i) {
double r108058 = alpha;
double r108059 = 9.76982660809476e+62;
bool r108060 = r108058 <= r108059;
double r108061 = 1.0;
double r108062 = beta;
double r108063 = r108062 + r108058;
double r108064 = 1.0;
double r108065 = i;
double r108066 = 2.0;
double r108067 = r108065 * r108066;
double r108068 = r108067 + r108058;
double r108069 = r108068 + r108062;
double r108070 = r108064 / r108069;
double r108071 = r108062 - r108058;
double r108072 = r108070 * r108071;
double r108073 = r108063 * r108072;
double r108074 = r108063 + r108067;
double r108075 = r108066 + r108074;
double r108076 = r108073 / r108075;
double r108077 = r108061 + r108076;
double r108078 = r108077 / r108066;
double r108079 = 2.2669802580153736e+166;
bool r108080 = r108058 <= r108079;
double r108081 = r108066 / r108058;
double r108082 = 8.0;
double r108083 = 3.0;
double r108084 = pow(r108058, r108083);
double r108085 = r108082 / r108084;
double r108086 = 4.0;
double r108087 = r108058 * r108058;
double r108088 = r108086 / r108087;
double r108089 = r108085 - r108088;
double r108090 = r108081 + r108089;
double r108091 = r108090 / r108066;
double r108092 = r108066 + r108063;
double r108093 = r108092 + r108067;
double r108094 = r108067 + r108062;
double r108095 = r108094 + r108058;
double r108096 = r108071 / r108095;
double r108097 = r108093 / r108096;
double r108098 = r108063 / r108097;
double r108099 = pow(r108098, r108083);
double r108100 = cbrt(r108099);
double r108101 = r108100 + r108061;
double r108102 = r108101 / r108066;
double r108103 = r108080 ? r108091 : r108102;
double r108104 = r108060 ? r108078 : r108103;
return r108104;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 9.76982660809476e+62Initial program 12.1
rmApplied *-un-lft-identity12.1
Applied times-frac1.6
Simplified1.6
Simplified1.6
rmApplied div-inv1.6
Simplified1.6
if 9.76982660809476e+62 < alpha < 2.2669802580153736e+166Initial program 45.7
Taylor expanded around inf 39.9
Simplified39.9
if 2.2669802580153736e+166 < alpha Initial program 64.0
rmApplied *-un-lft-identity64.0
Applied times-frac47.4
Simplified47.4
Simplified47.4
rmApplied div-inv47.4
Simplified47.4
rmApplied add-cbrt-cube53.4
Applied add-cbrt-cube53.4
Applied add-cbrt-cube64.0
Applied cbrt-unprod64.0
Applied cbrt-undiv64.0
Simplified47.4
Final simplification13.1
herbie shell --seed 2019179
(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))