\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}\;\alpha \le 4.18445548900063 \cdot 10^{+197}:\\
\;\;\;\;\frac{\frac{\sqrt{\mathsf{fma}\left(i + \left(\beta + \alpha\right), i, \beta \cdot \alpha\right)}}{\frac{\sqrt{1.0} + \mathsf{fma}\left(2, i, \beta + \alpha\right)}{\sqrt{\mathsf{fma}\left(i + \left(\beta + \alpha\right), i, \beta \cdot \alpha\right)}}}}{\mathsf{fma}\left(2, i, \beta + \alpha\right)} \cdot \frac{1}{\frac{\mathsf{fma}\left(2, i, \beta + \alpha\right)}{\frac{i + \left(\beta + \alpha\right)}{\frac{\mathsf{fma}\left(2, i, \beta + \alpha\right) - \sqrt{1.0}}{i}}}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r1804779 = i;
double r1804780 = alpha;
double r1804781 = beta;
double r1804782 = r1804780 + r1804781;
double r1804783 = r1804782 + r1804779;
double r1804784 = r1804779 * r1804783;
double r1804785 = r1804781 * r1804780;
double r1804786 = r1804785 + r1804784;
double r1804787 = r1804784 * r1804786;
double r1804788 = 2.0;
double r1804789 = r1804788 * r1804779;
double r1804790 = r1804782 + r1804789;
double r1804791 = r1804790 * r1804790;
double r1804792 = r1804787 / r1804791;
double r1804793 = 1.0;
double r1804794 = r1804791 - r1804793;
double r1804795 = r1804792 / r1804794;
return r1804795;
}
double f(double alpha, double beta, double i) {
double r1804796 = alpha;
double r1804797 = 4.18445548900063e+197;
bool r1804798 = r1804796 <= r1804797;
double r1804799 = i;
double r1804800 = beta;
double r1804801 = r1804800 + r1804796;
double r1804802 = r1804799 + r1804801;
double r1804803 = r1804800 * r1804796;
double r1804804 = fma(r1804802, r1804799, r1804803);
double r1804805 = sqrt(r1804804);
double r1804806 = 1.0;
double r1804807 = sqrt(r1804806);
double r1804808 = 2.0;
double r1804809 = fma(r1804808, r1804799, r1804801);
double r1804810 = r1804807 + r1804809;
double r1804811 = r1804810 / r1804805;
double r1804812 = r1804805 / r1804811;
double r1804813 = r1804812 / r1804809;
double r1804814 = 1.0;
double r1804815 = r1804809 - r1804807;
double r1804816 = r1804815 / r1804799;
double r1804817 = r1804802 / r1804816;
double r1804818 = r1804809 / r1804817;
double r1804819 = r1804814 / r1804818;
double r1804820 = r1804813 * r1804819;
double r1804821 = 0.0;
double r1804822 = r1804798 ? r1804820 : r1804821;
return r1804822;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 4.18445548900063e+197Initial program 51.5
Simplified51.5
rmApplied add-sqr-sqrt51.5
Applied difference-of-squares51.5
Applied times-frac37.0
Applied times-frac34.6
rmApplied clear-num34.6
rmApplied add-sqr-sqrt34.7
Applied associate-/l*34.6
rmApplied associate-/l*34.6
if 4.18445548900063e+197 < alpha Initial program 62.6
Simplified62.6
Taylor expanded around inf 42.5
Final simplification35.6
herbie shell --seed 2019154 +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)))