\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 4.718881236776059 \cdot 10^{+214}:\\
\;\;\;\;\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right) + \beta \cdot \alpha}{\left(\alpha + \beta\right) + i \cdot 2}}{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1.0}} \cdot \frac{1}{\sqrt{\frac{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + i \cdot 2}}} \cdot \sqrt{\frac{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + i \cdot 2}}}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r1580533 = i;
double r1580534 = alpha;
double r1580535 = beta;
double r1580536 = r1580534 + r1580535;
double r1580537 = r1580536 + r1580533;
double r1580538 = r1580533 * r1580537;
double r1580539 = r1580535 * r1580534;
double r1580540 = r1580539 + r1580538;
double r1580541 = r1580538 * r1580540;
double r1580542 = 2.0;
double r1580543 = r1580542 * r1580533;
double r1580544 = r1580536 + r1580543;
double r1580545 = r1580544 * r1580544;
double r1580546 = r1580541 / r1580545;
double r1580547 = 1.0;
double r1580548 = r1580545 - r1580547;
double r1580549 = r1580546 / r1580548;
return r1580549;
}
double f(double alpha, double beta, double i) {
double r1580550 = alpha;
double r1580551 = 4.718881236776059e+214;
bool r1580552 = r1580550 <= r1580551;
double r1580553 = i;
double r1580554 = beta;
double r1580555 = r1580550 + r1580554;
double r1580556 = r1580555 + r1580553;
double r1580557 = r1580553 * r1580556;
double r1580558 = r1580554 * r1580550;
double r1580559 = r1580557 + r1580558;
double r1580560 = 2.0;
double r1580561 = r1580553 * r1580560;
double r1580562 = r1580555 + r1580561;
double r1580563 = r1580559 / r1580562;
double r1580564 = 1.0;
double r1580565 = sqrt(r1580564);
double r1580566 = r1580562 - r1580565;
double r1580567 = r1580563 / r1580566;
double r1580568 = 1.0;
double r1580569 = r1580565 + r1580562;
double r1580570 = r1580557 / r1580562;
double r1580571 = r1580569 / r1580570;
double r1580572 = sqrt(r1580571);
double r1580573 = r1580572 * r1580572;
double r1580574 = r1580568 / r1580573;
double r1580575 = r1580567 * r1580574;
double r1580576 = 0.0;
double r1580577 = r1580552 ? r1580575 : r1580576;
return r1580577;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 4.718881236776059e+214Initial program 51.3
rmApplied add-sqr-sqrt51.3
Applied difference-of-squares51.3
Applied times-frac37.2
Applied times-frac34.7
rmApplied clear-num34.7
rmApplied add-sqr-sqrt34.7
if 4.718881236776059e+214 < alpha Initial program 62.6
Taylor expanded around inf 42.7
Final simplification35.5
herbie shell --seed 2019153
(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)))