\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 7.81955504868517278 \cdot 10^{64}:\\
\;\;\;\;\frac{\frac{\frac{{\left(\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}\right)}^{1}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right) + \frac{2}{\alpha}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r134375 = alpha;
double r134376 = beta;
double r134377 = r134375 + r134376;
double r134378 = r134376 - r134375;
double r134379 = r134377 * r134378;
double r134380 = 2.0;
double r134381 = i;
double r134382 = r134380 * r134381;
double r134383 = r134377 + r134382;
double r134384 = r134379 / r134383;
double r134385 = r134383 + r134380;
double r134386 = r134384 / r134385;
double r134387 = 1.0;
double r134388 = r134386 + r134387;
double r134389 = r134388 / r134380;
return r134389;
}
double f(double alpha, double beta, double i) {
double r134390 = alpha;
double r134391 = 7.819555048685173e+64;
bool r134392 = r134390 <= r134391;
double r134393 = beta;
double r134394 = r134390 + r134393;
double r134395 = r134393 - r134390;
double r134396 = 2.0;
double r134397 = i;
double r134398 = r134396 * r134397;
double r134399 = r134394 + r134398;
double r134400 = r134395 / r134399;
double r134401 = r134394 * r134400;
double r134402 = 1.0;
double r134403 = pow(r134401, r134402);
double r134404 = r134399 + r134396;
double r134405 = sqrt(r134404);
double r134406 = r134403 / r134405;
double r134407 = r134406 / r134405;
double r134408 = 1.0;
double r134409 = r134407 + r134408;
double r134410 = r134409 / r134396;
double r134411 = 8.0;
double r134412 = 3.0;
double r134413 = pow(r134390, r134412);
double r134414 = r134402 / r134413;
double r134415 = r134411 * r134414;
double r134416 = 4.0;
double r134417 = 2.0;
double r134418 = pow(r134390, r134417);
double r134419 = r134402 / r134418;
double r134420 = r134416 * r134419;
double r134421 = r134415 - r134420;
double r134422 = r134396 / r134390;
double r134423 = r134421 + r134422;
double r134424 = r134423 / r134396;
double r134425 = r134392 ? r134410 : r134424;
return r134425;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 7.819555048685173e+64Initial program 12.8
rmApplied *-un-lft-identity12.8
Applied times-frac1.8
Simplified1.8
rmApplied add-sqr-sqrt1.8
Applied associate-/r*1.8
rmApplied pow11.8
Applied pow11.8
Applied pow-prod-down1.8
if 7.819555048685173e+64 < alpha Initial program 55.7
rmApplied *-un-lft-identity55.7
Applied times-frac41.4
Simplified41.4
Taylor expanded around inf 40.8
Simplified40.8
Final simplification12.3
herbie shell --seed 2020034
(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))