\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}\;\beta \le 2.85161075044287329 \cdot 10^{210}:\\
\;\;\;\;\frac{\frac{i}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{\sqrt{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}} \cdot \frac{\frac{\left(\alpha + \beta\right) + i}{\left(\alpha + \beta\right) + 2 \cdot i}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}{\sqrt{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{0}{\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}\\
\end{array}double f(double alpha, double beta, double i) {
double r120541 = i;
double r120542 = alpha;
double r120543 = beta;
double r120544 = r120542 + r120543;
double r120545 = r120544 + r120541;
double r120546 = r120541 * r120545;
double r120547 = r120543 * r120542;
double r120548 = r120547 + r120546;
double r120549 = r120546 * r120548;
double r120550 = 2.0;
double r120551 = r120550 * r120541;
double r120552 = r120544 + r120551;
double r120553 = r120552 * r120552;
double r120554 = r120549 / r120553;
double r120555 = 1.0;
double r120556 = r120553 - r120555;
double r120557 = r120554 / r120556;
return r120557;
}
double f(double alpha, double beta, double i) {
double r120558 = beta;
double r120559 = 2.851610750442873e+210;
bool r120560 = r120558 <= r120559;
double r120561 = i;
double r120562 = alpha;
double r120563 = r120562 + r120558;
double r120564 = 2.0;
double r120565 = r120564 * r120561;
double r120566 = r120563 + r120565;
double r120567 = r120563 + r120561;
double r120568 = r120561 * r120567;
double r120569 = fma(r120558, r120562, r120568);
double r120570 = sqrt(r120569);
double r120571 = r120566 / r120570;
double r120572 = r120561 / r120571;
double r120573 = 1.0;
double r120574 = sqrt(r120573);
double r120575 = r120566 + r120574;
double r120576 = r120572 / r120575;
double r120577 = r120567 / r120566;
double r120578 = r120566 - r120574;
double r120579 = r120578 / r120570;
double r120580 = r120577 / r120579;
double r120581 = r120576 * r120580;
double r120582 = 0.0;
double r120583 = r120566 * r120566;
double r120584 = r120582 / r120583;
double r120585 = r120583 - r120573;
double r120586 = r120584 / r120585;
double r120587 = r120560 ? r120581 : r120586;
return r120587;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if beta < 2.851610750442873e+210Initial program 52.8
rmApplied associate-/l*37.8
Simplified37.8
rmApplied add-sqr-sqrt37.8
Applied difference-of-squares37.8
Applied add-sqr-sqrt37.9
Applied times-frac37.9
Applied times-frac37.9
Applied times-frac35.6
rmApplied associate-/r/35.6
Applied associate-/l*35.6
if 2.851610750442873e+210 < beta Initial program 64.0
Taylor expanded around 0 42.2
Final simplification36.3
herbie shell --seed 2020046 +o rules:numerics
(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)))