\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 3.23710075513839105 \cdot 10^{193}:\\
\;\;\;\;\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}} \cdot \frac{\frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r119581 = i;
double r119582 = alpha;
double r119583 = beta;
double r119584 = r119582 + r119583;
double r119585 = r119584 + r119581;
double r119586 = r119581 * r119585;
double r119587 = r119583 * r119582;
double r119588 = r119587 + r119586;
double r119589 = r119586 * r119588;
double r119590 = 2.0;
double r119591 = r119590 * r119581;
double r119592 = r119584 + r119591;
double r119593 = r119592 * r119592;
double r119594 = r119589 / r119593;
double r119595 = 1.0;
double r119596 = r119593 - r119595;
double r119597 = r119594 / r119596;
return r119597;
}
double f(double alpha, double beta, double i) {
double r119598 = alpha;
double r119599 = 3.237100755138391e+193;
bool r119600 = r119598 <= r119599;
double r119601 = i;
double r119602 = beta;
double r119603 = r119598 + r119602;
double r119604 = r119603 + r119601;
double r119605 = r119601 * r119604;
double r119606 = 2.0;
double r119607 = r119606 * r119601;
double r119608 = r119603 + r119607;
double r119609 = r119605 / r119608;
double r119610 = 1.0;
double r119611 = sqrt(r119610);
double r119612 = r119608 + r119611;
double r119613 = r119609 / r119612;
double r119614 = r119602 * r119598;
double r119615 = r119614 + r119605;
double r119616 = r119615 / r119608;
double r119617 = r119608 - r119611;
double r119618 = r119616 / r119617;
double r119619 = r119613 * r119618;
double r119620 = 0.0;
double r119621 = r119600 ? r119619 : r119620;
return r119621;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 3.237100755138391e+193Initial program 52.6
rmApplied add-sqr-sqrt52.6
Applied difference-of-squares52.6
Applied times-frac37.4
Applied times-frac35.2
if 3.237100755138391e+193 < alpha Initial program 64.0
rmApplied add-sqr-sqrt64.0
Applied difference-of-squares64.0
Applied times-frac56.9
Applied times-frac54.6
Taylor expanded around inf 44.4
Final simplification36.4
herbie shell --seed 2020034
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:precision binary64
: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)))