\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}\;i \le 2.495505368754722 \cdot 10^{+120}:\\
\;\;\;\;\frac{\frac{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)} \cdot \frac{\left(\left(\alpha + \beta\right) + i\right) \cdot i + \alpha \cdot \beta}{\left(\alpha + \beta\right) + i \cdot 2}}{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1.0}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{1}{4}, \alpha + \beta, i \cdot \frac{1}{2}\right)}{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1.0}} \cdot \left(\frac{\sqrt{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}}{\sqrt{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}} \cdot \frac{\sqrt{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}}{\sqrt{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}}\right)\\
\end{array}double f(double alpha, double beta, double i) {
double r4310550 = i;
double r4310551 = alpha;
double r4310552 = beta;
double r4310553 = r4310551 + r4310552;
double r4310554 = r4310553 + r4310550;
double r4310555 = r4310550 * r4310554;
double r4310556 = r4310552 * r4310551;
double r4310557 = r4310556 + r4310555;
double r4310558 = r4310555 * r4310557;
double r4310559 = 2.0;
double r4310560 = r4310559 * r4310550;
double r4310561 = r4310553 + r4310560;
double r4310562 = r4310561 * r4310561;
double r4310563 = r4310558 / r4310562;
double r4310564 = 1.0;
double r4310565 = r4310562 - r4310564;
double r4310566 = r4310563 / r4310565;
return r4310566;
}
double f(double alpha, double beta, double i) {
double r4310567 = i;
double r4310568 = 2.495505368754722e+120;
bool r4310569 = r4310567 <= r4310568;
double r4310570 = alpha;
double r4310571 = beta;
double r4310572 = r4310570 + r4310571;
double r4310573 = 2.0;
double r4310574 = r4310567 * r4310573;
double r4310575 = r4310572 + r4310574;
double r4310576 = r4310572 + r4310567;
double r4310577 = r4310575 / r4310576;
double r4310578 = r4310567 / r4310577;
double r4310579 = 1.0;
double r4310580 = sqrt(r4310579);
double r4310581 = r4310580 + r4310575;
double r4310582 = r4310578 / r4310581;
double r4310583 = r4310576 * r4310567;
double r4310584 = r4310570 * r4310571;
double r4310585 = r4310583 + r4310584;
double r4310586 = r4310585 / r4310575;
double r4310587 = r4310582 * r4310586;
double r4310588 = r4310575 - r4310580;
double r4310589 = r4310587 / r4310588;
double r4310590 = 0.25;
double r4310591 = 0.5;
double r4310592 = r4310567 * r4310591;
double r4310593 = fma(r4310590, r4310572, r4310592);
double r4310594 = r4310593 / r4310588;
double r4310595 = sqrt(r4310578);
double r4310596 = sqrt(r4310581);
double r4310597 = r4310595 / r4310596;
double r4310598 = r4310597 * r4310597;
double r4310599 = r4310594 * r4310598;
double r4310600 = r4310569 ? r4310589 : r4310599;
return r4310600;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if i < 2.495505368754722e+120Initial program 37.3
rmApplied add-sqr-sqrt37.3
Applied difference-of-squares37.3
Applied times-frac14.7
Applied times-frac10.0
rmApplied associate-/l*10.0
rmApplied associate-*r/9.9
if 2.495505368754722e+120 < i Initial program 62.1
rmApplied add-sqr-sqrt62.1
Applied difference-of-squares62.1
Applied times-frac54.9
Applied times-frac54.6
rmApplied associate-/l*54.6
Taylor expanded around 0 11.8
Simplified11.8
rmApplied add-sqr-sqrt12.3
Applied add-sqr-sqrt11.8
Applied times-frac11.8
Final simplification11.1
herbie shell --seed 2019163 +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)))