\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.5975280136064842 \cdot 10^{+182}:\\
\;\;\;\;\frac{\frac{\sqrt{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{\sqrt{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}} \cdot \frac{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r5123486 = i;
double r5123487 = alpha;
double r5123488 = beta;
double r5123489 = r5123487 + r5123488;
double r5123490 = r5123489 + r5123486;
double r5123491 = r5123486 * r5123490;
double r5123492 = r5123488 * r5123487;
double r5123493 = r5123492 + r5123491;
double r5123494 = r5123491 * r5123493;
double r5123495 = 2.0;
double r5123496 = r5123495 * r5123486;
double r5123497 = r5123489 + r5123496;
double r5123498 = r5123497 * r5123497;
double r5123499 = r5123494 / r5123498;
double r5123500 = 1.0;
double r5123501 = r5123498 - r5123500;
double r5123502 = r5123499 / r5123501;
return r5123502;
}
double f(double alpha, double beta, double i) {
double r5123503 = alpha;
double r5123504 = 1.5975280136064842e+182;
bool r5123505 = r5123503 <= r5123504;
double r5123506 = i;
double r5123507 = beta;
double r5123508 = r5123503 + r5123507;
double r5123509 = r5123506 + r5123508;
double r5123510 = r5123506 * r5123509;
double r5123511 = r5123507 * r5123503;
double r5123512 = r5123510 + r5123511;
double r5123513 = sqrt(r5123512);
double r5123514 = 2.0;
double r5123515 = r5123514 * r5123506;
double r5123516 = r5123508 + r5123515;
double r5123517 = r5123516 / r5123513;
double r5123518 = r5123513 / r5123517;
double r5123519 = 1.0;
double r5123520 = sqrt(r5123519);
double r5123521 = r5123516 - r5123520;
double r5123522 = r5123518 / r5123521;
double r5123523 = r5123510 / r5123516;
double r5123524 = r5123520 + r5123516;
double r5123525 = r5123523 / r5123524;
double r5123526 = r5123522 * r5123525;
double r5123527 = 0.0;
double r5123528 = r5123505 ? r5123526 : r5123527;
return r5123528;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.5975280136064842e+182Initial program 51.1
rmApplied add-sqr-sqrt51.1
Applied difference-of-squares51.1
Applied times-frac36.1
Applied times-frac34.1
rmApplied add-sqr-sqrt34.1
Applied associate-/l*34.1
if 1.5975280136064842e+182 < alpha Initial program 62.6
rmApplied add-sqr-sqrt62.6
Applied difference-of-squares62.6
Applied times-frac56.8
Applied times-frac54.0
rmApplied *-un-lft-identity54.0
Applied add-sqr-sqrt54.0
Applied times-frac54.0
Applied associate-*r*54.0
Taylor expanded around inf 46.2
Final simplification35.7
herbie shell --seed 2019135 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:pre (and (> alpha -1) (> beta -1) (> i 1))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))