\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.1221989962196496 \cdot 10^{+166}:\\
\;\;\;\;\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)} \cdot \frac{\frac{1}{\sqrt{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}}{\frac{\beta \cdot \alpha + i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}}}}{\sqrt{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}}{\frac{\beta \cdot \alpha + i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r15306395 = i;
double r15306396 = alpha;
double r15306397 = beta;
double r15306398 = r15306396 + r15306397;
double r15306399 = r15306398 + r15306395;
double r15306400 = r15306395 * r15306399;
double r15306401 = r15306397 * r15306396;
double r15306402 = r15306401 + r15306400;
double r15306403 = r15306400 * r15306402;
double r15306404 = 2.0;
double r15306405 = r15306404 * r15306395;
double r15306406 = r15306398 + r15306405;
double r15306407 = r15306406 * r15306406;
double r15306408 = r15306403 / r15306407;
double r15306409 = 1.0;
double r15306410 = r15306407 - r15306409;
double r15306411 = r15306408 / r15306410;
return r15306411;
}
double f(double alpha, double beta, double i) {
double r15306412 = alpha;
double r15306413 = 1.1221989962196496e+166;
bool r15306414 = r15306412 <= r15306413;
double r15306415 = i;
double r15306416 = beta;
double r15306417 = r15306412 + r15306416;
double r15306418 = r15306415 + r15306417;
double r15306419 = r15306415 * r15306418;
double r15306420 = 2.0;
double r15306421 = r15306420 * r15306415;
double r15306422 = r15306417 + r15306421;
double r15306423 = r15306419 / r15306422;
double r15306424 = 1.0;
double r15306425 = sqrt(r15306424);
double r15306426 = r15306425 + r15306422;
double r15306427 = r15306423 / r15306426;
double r15306428 = 1.0;
double r15306429 = r15306422 - r15306425;
double r15306430 = r15306416 * r15306412;
double r15306431 = r15306430 + r15306419;
double r15306432 = r15306431 / r15306422;
double r15306433 = r15306429 / r15306432;
double r15306434 = sqrt(r15306433);
double r15306435 = r15306428 / r15306434;
double r15306436 = r15306435 / r15306434;
double r15306437 = r15306427 * r15306436;
double r15306438 = 0.0;
double r15306439 = r15306414 ? r15306437 : r15306438;
return r15306439;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.1221989962196496e+166Initial program 50.8
rmApplied add-sqr-sqrt50.8
Applied difference-of-squares50.8
Applied times-frac35.4
Applied times-frac34.0
rmApplied clear-num34.0
rmApplied add-sqr-sqrt34.0
Applied associate-/r*34.0
if 1.1221989962196496e+166 < alpha Initial program 62.6
Taylor expanded around inf 47.1
Final simplification36.0
herbie shell --seed 2019168 +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)))