\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.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 3.234277159331003 \cdot 10^{+135}:\\
\;\;\;\;\frac{\sqrt[3]{\left(\left(1.0 + \frac{\beta + \alpha}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}} \cdot \frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}\right) \cdot \left(1.0 + \frac{\beta + \alpha}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}} \cdot \frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}\right)\right) \cdot \frac{{1.0}^{3} + {\left(\frac{\beta + \alpha}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}} \cdot \frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}\right)}^{3}}{\left(1.0 \cdot 1.0 - \left(\frac{\beta + \alpha}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}} \cdot \frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}\right) \cdot 1.0\right) + \left(\frac{\beta + \alpha}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}} \cdot \frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}\right) \cdot \left(\frac{\beta + \alpha}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}} \cdot \frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}\right)}}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2.0}{\alpha} + \left(\frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha} - \frac{4.0}{\alpha \cdot \alpha}\right)}{2.0}\\
\end{array}double f(double alpha, double beta, double i) {
double r4193454 = alpha;
double r4193455 = beta;
double r4193456 = r4193454 + r4193455;
double r4193457 = r4193455 - r4193454;
double r4193458 = r4193456 * r4193457;
double r4193459 = 2.0;
double r4193460 = i;
double r4193461 = r4193459 * r4193460;
double r4193462 = r4193456 + r4193461;
double r4193463 = r4193458 / r4193462;
double r4193464 = 2.0;
double r4193465 = r4193462 + r4193464;
double r4193466 = r4193463 / r4193465;
double r4193467 = 1.0;
double r4193468 = r4193466 + r4193467;
double r4193469 = r4193468 / r4193464;
return r4193469;
}
double f(double alpha, double beta, double i) {
double r4193470 = alpha;
double r4193471 = 3.234277159331003e+135;
bool r4193472 = r4193470 <= r4193471;
double r4193473 = 1.0;
double r4193474 = beta;
double r4193475 = r4193474 + r4193470;
double r4193476 = 2.0;
double r4193477 = 2.0;
double r4193478 = i;
double r4193479 = r4193477 * r4193478;
double r4193480 = r4193475 + r4193479;
double r4193481 = r4193476 + r4193480;
double r4193482 = sqrt(r4193481);
double r4193483 = r4193475 / r4193482;
double r4193484 = r4193474 - r4193470;
double r4193485 = r4193484 / r4193480;
double r4193486 = r4193485 / r4193482;
double r4193487 = r4193483 * r4193486;
double r4193488 = r4193473 + r4193487;
double r4193489 = r4193488 * r4193488;
double r4193490 = 3.0;
double r4193491 = pow(r4193473, r4193490);
double r4193492 = pow(r4193487, r4193490);
double r4193493 = r4193491 + r4193492;
double r4193494 = r4193473 * r4193473;
double r4193495 = r4193487 * r4193473;
double r4193496 = r4193494 - r4193495;
double r4193497 = r4193487 * r4193487;
double r4193498 = r4193496 + r4193497;
double r4193499 = r4193493 / r4193498;
double r4193500 = r4193489 * r4193499;
double r4193501 = cbrt(r4193500);
double r4193502 = r4193501 / r4193476;
double r4193503 = r4193476 / r4193470;
double r4193504 = 8.0;
double r4193505 = r4193504 / r4193470;
double r4193506 = r4193470 * r4193470;
double r4193507 = r4193505 / r4193506;
double r4193508 = 4.0;
double r4193509 = r4193508 / r4193506;
double r4193510 = r4193507 - r4193509;
double r4193511 = r4193503 + r4193510;
double r4193512 = r4193511 / r4193476;
double r4193513 = r4193472 ? r4193502 : r4193512;
return r4193513;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 3.234277159331003e+135Initial program 15.1
rmApplied add-sqr-sqrt15.0
Applied *-un-lft-identity15.0
Applied times-frac4.6
Applied times-frac4.6
rmApplied add-cbrt-cube4.6
rmApplied flip3-+4.6
if 3.234277159331003e+135 < alpha Initial program 60.9
rmApplied add-log-exp60.9
Applied add-log-exp60.9
Applied sum-log60.9
Simplified45.7
Taylor expanded around inf 40.7
Simplified40.7
Final simplification11.4
herbie shell --seed 2019164
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1) (> beta -1) (> i 0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))