\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}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.122198996219649609537425094896224625125 \cdot 10^{166}:\\
\;\;\;\;\frac{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{1} + \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}}{\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}}{\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 r15350532 = i;
double r15350533 = alpha;
double r15350534 = beta;
double r15350535 = r15350533 + r15350534;
double r15350536 = r15350535 + r15350532;
double r15350537 = r15350532 * r15350536;
double r15350538 = r15350534 * r15350533;
double r15350539 = r15350538 + r15350537;
double r15350540 = r15350537 * r15350539;
double r15350541 = 2.0;
double r15350542 = r15350541 * r15350532;
double r15350543 = r15350535 + r15350542;
double r15350544 = r15350543 * r15350543;
double r15350545 = r15350540 / r15350544;
double r15350546 = 1.0;
double r15350547 = r15350544 - r15350546;
double r15350548 = r15350545 / r15350547;
return r15350548;
}
double f(double alpha, double beta, double i) {
double r15350549 = alpha;
double r15350550 = 1.1221989962196496e+166;
bool r15350551 = r15350549 <= r15350550;
double r15350552 = i;
double r15350553 = beta;
double r15350554 = r15350549 + r15350553;
double r15350555 = r15350552 + r15350554;
double r15350556 = r15350552 * r15350555;
double r15350557 = 2.0;
double r15350558 = r15350557 * r15350552;
double r15350559 = r15350554 + r15350558;
double r15350560 = r15350556 / r15350559;
double r15350561 = 1.0;
double r15350562 = sqrt(r15350561);
double r15350563 = r15350562 + r15350559;
double r15350564 = r15350560 / r15350563;
double r15350565 = 1.0;
double r15350566 = r15350559 - r15350562;
double r15350567 = r15350553 * r15350549;
double r15350568 = r15350567 + r15350556;
double r15350569 = r15350568 / r15350559;
double r15350570 = r15350566 / r15350569;
double r15350571 = sqrt(r15350570);
double r15350572 = r15350565 / r15350571;
double r15350573 = r15350572 / r15350571;
double r15350574 = r15350564 * r15350573;
double r15350575 = 0.0;
double r15350576 = r15350551 ? r15350574 : r15350575;
return r15350576;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.1221989962196496e+166Initial program 52.3
rmApplied add-sqr-sqrt52.3
Applied difference-of-squares52.3
Applied times-frac36.5
Applied times-frac35.0
rmApplied clear-num35.0
rmApplied add-sqr-sqrt35.0
Applied associate-/r*35.0
if 1.1221989962196496e+166 < alpha Initial program 64.0
Taylor expanded around inf 47.1
Final simplification36.9
herbie shell --seed 2019168 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:pre (and (> alpha -1.0) (> beta -1.0) (> i 1.0))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i)))) (- (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i))) 1.0)))