\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 1.10595476891289156 \cdot 10^{89}:\\
\;\;\;\;\frac{\frac{\left(\alpha + \beta\right) + i}{\frac{{\left(\left(\alpha + \beta\right) + 2 \cdot i\right)}^{3} + \mathsf{fma}\left(i, 2, \alpha + \beta\right) \cdot \left(-1\right)}{i}}}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;0.0625\\
\end{array}double f(double alpha, double beta, double i) {
double r114733 = i;
double r114734 = alpha;
double r114735 = beta;
double r114736 = r114734 + r114735;
double r114737 = r114736 + r114733;
double r114738 = r114733 * r114737;
double r114739 = r114735 * r114734;
double r114740 = r114739 + r114738;
double r114741 = r114738 * r114740;
double r114742 = 2.0;
double r114743 = r114742 * r114733;
double r114744 = r114736 + r114743;
double r114745 = r114744 * r114744;
double r114746 = r114741 / r114745;
double r114747 = 1.0;
double r114748 = r114745 - r114747;
double r114749 = r114746 / r114748;
return r114749;
}
double f(double alpha, double beta, double i) {
double r114750 = i;
double r114751 = 1.1059547689128916e+89;
bool r114752 = r114750 <= r114751;
double r114753 = alpha;
double r114754 = beta;
double r114755 = r114753 + r114754;
double r114756 = r114755 + r114750;
double r114757 = 2.0;
double r114758 = r114757 * r114750;
double r114759 = r114755 + r114758;
double r114760 = 3.0;
double r114761 = pow(r114759, r114760);
double r114762 = fma(r114750, r114757, r114755);
double r114763 = 1.0;
double r114764 = -r114763;
double r114765 = r114762 * r114764;
double r114766 = r114761 + r114765;
double r114767 = r114766 / r114750;
double r114768 = r114756 / r114767;
double r114769 = r114750 * r114756;
double r114770 = fma(r114754, r114753, r114769);
double r114771 = r114762 / r114770;
double r114772 = r114768 / r114771;
double r114773 = 0.0625;
double r114774 = r114752 ? r114772 : r114773;
return r114774;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if i < 1.1059547689128916e+89Initial program 29.8
Simplified26.4
rmApplied *-un-lft-identity26.4
Applied times-frac19.1
Applied associate-/r*19.0
Simplified19.0
if 1.1059547689128916e+89 < i Initial program 64.0
Simplified63.5
rmApplied *-un-lft-identity63.5
Applied times-frac61.2
Applied associate-/r*61.2
Simplified61.2
Taylor expanded around inf 51.8
Simplified51.8
Taylor expanded around inf 49.2
Taylor expanded around 0 13.5
Final simplification15.1
herbie shell --seed 2020036 +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)))