\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 6.818670779247875958936552940178034387386 \cdot 10^{145}:\\
\;\;\;\;\frac{1 + \left(\alpha + \beta\right) \cdot \left(\left(\frac{\sqrt[3]{\beta - \alpha}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\sqrt[3]{\beta - \alpha}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}\right) \cdot \frac{\frac{\sqrt[3]{\beta - \alpha}}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt[3]{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\frac{2}{\alpha} + \frac{8}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{4}{\alpha \cdot \alpha}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r9382034 = alpha;
double r9382035 = beta;
double r9382036 = r9382034 + r9382035;
double r9382037 = r9382035 - r9382034;
double r9382038 = r9382036 * r9382037;
double r9382039 = 2.0;
double r9382040 = i;
double r9382041 = r9382039 * r9382040;
double r9382042 = r9382036 + r9382041;
double r9382043 = r9382038 / r9382042;
double r9382044 = r9382042 + r9382039;
double r9382045 = r9382043 / r9382044;
double r9382046 = 1.0;
double r9382047 = r9382045 + r9382046;
double r9382048 = r9382047 / r9382039;
return r9382048;
}
double f(double alpha, double beta, double i) {
double r9382049 = alpha;
double r9382050 = 6.818670779247876e+145;
bool r9382051 = r9382049 <= r9382050;
double r9382052 = 1.0;
double r9382053 = beta;
double r9382054 = r9382049 + r9382053;
double r9382055 = r9382053 - r9382049;
double r9382056 = cbrt(r9382055);
double r9382057 = 2.0;
double r9382058 = i;
double r9382059 = r9382057 * r9382058;
double r9382060 = r9382054 + r9382059;
double r9382061 = r9382060 + r9382057;
double r9382062 = cbrt(r9382061);
double r9382063 = r9382056 / r9382062;
double r9382064 = r9382063 * r9382063;
double r9382065 = r9382056 / r9382060;
double r9382066 = r9382065 / r9382062;
double r9382067 = r9382064 * r9382066;
double r9382068 = r9382054 * r9382067;
double r9382069 = r9382052 + r9382068;
double r9382070 = r9382069 / r9382057;
double r9382071 = r9382057 / r9382049;
double r9382072 = 8.0;
double r9382073 = r9382049 * r9382049;
double r9382074 = r9382049 * r9382073;
double r9382075 = r9382072 / r9382074;
double r9382076 = r9382071 + r9382075;
double r9382077 = 4.0;
double r9382078 = r9382077 / r9382073;
double r9382079 = r9382076 - r9382078;
double r9382080 = r9382079 / r9382057;
double r9382081 = r9382051 ? r9382070 : r9382080;
return r9382081;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 6.818670779247876e+145Initial program 16.3
rmApplied *-un-lft-identity16.3
Applied *-un-lft-identity16.3
Applied times-frac5.4
Applied times-frac5.4
Simplified5.4
rmApplied add-cube-cbrt5.5
Applied *-un-lft-identity5.5
Applied add-cube-cbrt5.5
Applied times-frac5.4
Applied times-frac5.4
Simplified5.4
if 6.818670779247876e+145 < alpha Initial program 63.3
Taylor expanded around inf 41.7
Simplified41.7
Final simplification11.8
herbie shell --seed 2019174
(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))