\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.730425382744639918813153170994658865071 \cdot 10^{174}:\\
\;\;\;\;\frac{\left(\alpha + \beta\right) \cdot \left(\frac{\frac{\sqrt[3]{\beta - \alpha} \cdot \sqrt[3]{\beta - \alpha}}{\sqrt[3]{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2 \cdot i}}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\frac{\sqrt[3]{\beta - \alpha}}{\sqrt[3]{\left(\alpha + \beta\right) + 2 \cdot i}}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}\right) + 1}{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 r111356 = alpha;
double r111357 = beta;
double r111358 = r111356 + r111357;
double r111359 = r111357 - r111356;
double r111360 = r111358 * r111359;
double r111361 = 2.0;
double r111362 = i;
double r111363 = r111361 * r111362;
double r111364 = r111358 + r111363;
double r111365 = r111360 / r111364;
double r111366 = r111364 + r111361;
double r111367 = r111365 / r111366;
double r111368 = 1.0;
double r111369 = r111367 + r111368;
double r111370 = r111369 / r111361;
return r111370;
}
double f(double alpha, double beta, double i) {
double r111371 = alpha;
double r111372 = 1.73042538274464e+174;
bool r111373 = r111371 <= r111372;
double r111374 = beta;
double r111375 = r111371 + r111374;
double r111376 = r111374 - r111371;
double r111377 = cbrt(r111376);
double r111378 = r111377 * r111377;
double r111379 = 2.0;
double r111380 = i;
double r111381 = r111379 * r111380;
double r111382 = r111375 + r111381;
double r111383 = cbrt(r111382);
double r111384 = r111383 * r111383;
double r111385 = r111378 / r111384;
double r111386 = r111382 + r111379;
double r111387 = sqrt(r111386);
double r111388 = r111385 / r111387;
double r111389 = r111377 / r111383;
double r111390 = r111389 / r111387;
double r111391 = r111388 * r111390;
double r111392 = r111375 * r111391;
double r111393 = 1.0;
double r111394 = r111392 + r111393;
double r111395 = r111394 / r111379;
double r111396 = 1.0;
double r111397 = r111396 / r111371;
double r111398 = r111379 * r111397;
double r111399 = 8.0;
double r111400 = 3.0;
double r111401 = pow(r111371, r111400);
double r111402 = r111396 / r111401;
double r111403 = r111399 * r111402;
double r111404 = r111398 + r111403;
double r111405 = 4.0;
double r111406 = 2.0;
double r111407 = pow(r111371, r111406);
double r111408 = r111396 / r111407;
double r111409 = r111405 * r111408;
double r111410 = r111404 - r111409;
double r111411 = r111410 / r111379;
double r111412 = r111373 ? r111395 : r111411;
return r111412;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.73042538274464e+174Initial program 17.4
rmApplied *-un-lft-identity17.4
Applied *-un-lft-identity17.4
Applied times-frac6.4
Applied times-frac6.4
Simplified6.4
rmApplied add-sqr-sqrt6.4
Applied add-cube-cbrt6.6
Applied add-cube-cbrt6.4
Applied times-frac6.4
Applied times-frac6.4
if 1.73042538274464e+174 < alpha Initial program 64.0
Taylor expanded around inf 40.8
Final simplification11.5
herbie shell --seed 2019346
(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))