\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{\mathsf{fma}\left(\left(\alpha + \beta\right) + i, i, \alpha \cdot \beta\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{\sqrt{1.0} + \mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \frac{\frac{i}{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \left(\left(\alpha + \beta\right) + i\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) - \sqrt{1.0}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{1}{4}, \alpha + \beta, i \cdot \frac{1}{2}\right)}{\sqrt{1.0} + \mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \left(\left(\frac{\frac{i}{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \left(\left(\alpha + \beta\right) + i\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right) - \sqrt{1.0}}\right)\right)\\
\end{array}double f(double alpha, double beta, double i) {
double r3610534 = i;
double r3610535 = alpha;
double r3610536 = beta;
double r3610537 = r3610535 + r3610536;
double r3610538 = r3610537 + r3610534;
double r3610539 = r3610534 * r3610538;
double r3610540 = r3610536 * r3610535;
double r3610541 = r3610540 + r3610539;
double r3610542 = r3610539 * r3610541;
double r3610543 = 2.0;
double r3610544 = r3610543 * r3610534;
double r3610545 = r3610537 + r3610544;
double r3610546 = r3610545 * r3610545;
double r3610547 = r3610542 / r3610546;
double r3610548 = 1.0;
double r3610549 = r3610546 - r3610548;
double r3610550 = r3610547 / r3610549;
return r3610550;
}
double f(double alpha, double beta, double i) {
double r3610551 = i;
double r3610552 = 2.495505368754722e+120;
bool r3610553 = r3610551 <= r3610552;
double r3610554 = alpha;
double r3610555 = beta;
double r3610556 = r3610554 + r3610555;
double r3610557 = r3610556 + r3610551;
double r3610558 = r3610554 * r3610555;
double r3610559 = fma(r3610557, r3610551, r3610558);
double r3610560 = 2.0;
double r3610561 = fma(r3610560, r3610551, r3610556);
double r3610562 = r3610559 / r3610561;
double r3610563 = 1.0;
double r3610564 = sqrt(r3610563);
double r3610565 = r3610564 + r3610561;
double r3610566 = r3610562 / r3610565;
double r3610567 = r3610551 / r3610561;
double r3610568 = r3610567 * r3610557;
double r3610569 = r3610561 - r3610564;
double r3610570 = r3610568 / r3610569;
double r3610571 = r3610566 * r3610570;
double r3610572 = 0.25;
double r3610573 = 0.5;
double r3610574 = r3610551 * r3610573;
double r3610575 = fma(r3610572, r3610556, r3610574);
double r3610576 = r3610575 / r3610565;
double r3610577 = /* ERROR: no posit support in C */;
double r3610578 = /* ERROR: no posit support in C */;
double r3610579 = r3610576 * r3610578;
double r3610580 = r3610553 ? r3610571 : r3610579;
return r3610580;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if i < 2.495505368754722e+120Initial program 37.3
Simplified37.3
rmApplied add-sqr-sqrt37.3
Applied difference-of-squares37.3
Applied times-frac14.7
Applied times-frac10.0
rmApplied *-un-lft-identity10.0
Applied times-frac10.0
if 2.495505368754722e+120 < i Initial program 62.1
Simplified62.1
rmApplied add-sqr-sqrt62.1
Applied difference-of-squares62.1
Applied times-frac54.9
Applied times-frac54.6
rmApplied *-un-lft-identity54.6
Applied times-frac54.6
Taylor expanded around 0 11.8
Simplified11.8
rmApplied insert-posit1612.0
Final simplification11.2
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)))