\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}\;i \le 6.388557784475248968732590130499879730187 \cdot 10^{101}:\\
\;\;\;\;\frac{i \cdot \left(\left(\left(\alpha + \beta\right) + i\right) \cdot \frac{1}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}\right)}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(i, 2, \alpha + \beta\right), -1, {\left(\mathsf{fma}\left(i, 2, \alpha + \beta\right)\right)}^{3}\right)}{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{i \cdot \left(\left(\left(\alpha + \beta\right) + i\right) \cdot \frac{1}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}\right)}{\mathsf{fma}\left(3, \alpha, \mathsf{fma}\left(6, i, 3 \cdot \beta\right)\right)}\\
\end{array}double f(double alpha, double beta, double i) {
double r114613 = i;
double r114614 = alpha;
double r114615 = beta;
double r114616 = r114614 + r114615;
double r114617 = r114616 + r114613;
double r114618 = r114613 * r114617;
double r114619 = r114615 * r114614;
double r114620 = r114619 + r114618;
double r114621 = r114618 * r114620;
double r114622 = 2.0;
double r114623 = r114622 * r114613;
double r114624 = r114616 + r114623;
double r114625 = r114624 * r114624;
double r114626 = r114621 / r114625;
double r114627 = 1.0;
double r114628 = r114625 - r114627;
double r114629 = r114626 / r114628;
return r114629;
}
double f(double alpha, double beta, double i) {
double r114630 = i;
double r114631 = 6.388557784475249e+101;
bool r114632 = r114630 <= r114631;
double r114633 = alpha;
double r114634 = beta;
double r114635 = r114633 + r114634;
double r114636 = r114635 + r114630;
double r114637 = 1.0;
double r114638 = 2.0;
double r114639 = fma(r114630, r114638, r114635);
double r114640 = r114637 / r114639;
double r114641 = r114636 * r114640;
double r114642 = r114630 * r114641;
double r114643 = 1.0;
double r114644 = -r114643;
double r114645 = 3.0;
double r114646 = pow(r114639, r114645);
double r114647 = fma(r114639, r114644, r114646);
double r114648 = r114630 * r114636;
double r114649 = fma(r114634, r114633, r114648);
double r114650 = r114647 / r114649;
double r114651 = r114642 / r114650;
double r114652 = 6.0;
double r114653 = r114645 * r114634;
double r114654 = fma(r114652, r114630, r114653);
double r114655 = fma(r114645, r114633, r114654);
double r114656 = r114642 / r114655;
double r114657 = r114632 ? r114651 : r114656;
return r114657;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if i < 6.388557784475249e+101Initial program 33.9
Simplified29.7
rmApplied div-inv29.7
Applied associate-/r*29.7
Simplified19.0
rmApplied div-inv19.1
Applied associate-/l*19.1
Simplified19.0
rmApplied div-inv19.1
if 6.388557784475249e+101 < i Initial program 64.0
Simplified63.6
rmApplied div-inv63.6
Applied associate-/r*63.6
Simplified63.4
rmApplied div-inv63.4
Applied associate-/l*63.4
Simplified63.4
rmApplied div-inv63.4
Taylor expanded around 0 52.3
Simplified52.3
Final simplification41.6
herbie shell --seed 2019362 +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)))