\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.718881236776059 \cdot 10^{+214}:\\
\;\;\;\;\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right) + \beta \cdot \alpha}{\left(\alpha + \beta\right) + i \cdot 2}}{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1.0}} \cdot \frac{1}{\sqrt{\frac{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + i \cdot 2}}} \cdot \sqrt{\frac{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + i \cdot 2}}}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r1950808 = i;
double r1950809 = alpha;
double r1950810 = beta;
double r1950811 = r1950809 + r1950810;
double r1950812 = r1950811 + r1950808;
double r1950813 = r1950808 * r1950812;
double r1950814 = r1950810 * r1950809;
double r1950815 = r1950814 + r1950813;
double r1950816 = r1950813 * r1950815;
double r1950817 = 2.0;
double r1950818 = r1950817 * r1950808;
double r1950819 = r1950811 + r1950818;
double r1950820 = r1950819 * r1950819;
double r1950821 = r1950816 / r1950820;
double r1950822 = 1.0;
double r1950823 = r1950820 - r1950822;
double r1950824 = r1950821 / r1950823;
return r1950824;
}
double f(double alpha, double beta, double i) {
double r1950825 = alpha;
double r1950826 = 4.718881236776059e+214;
bool r1950827 = r1950825 <= r1950826;
double r1950828 = i;
double r1950829 = beta;
double r1950830 = r1950825 + r1950829;
double r1950831 = r1950830 + r1950828;
double r1950832 = r1950828 * r1950831;
double r1950833 = r1950829 * r1950825;
double r1950834 = r1950832 + r1950833;
double r1950835 = 2.0;
double r1950836 = r1950828 * r1950835;
double r1950837 = r1950830 + r1950836;
double r1950838 = r1950834 / r1950837;
double r1950839 = 1.0;
double r1950840 = sqrt(r1950839);
double r1950841 = r1950837 - r1950840;
double r1950842 = r1950838 / r1950841;
double r1950843 = 1.0;
double r1950844 = r1950840 + r1950837;
double r1950845 = r1950832 / r1950837;
double r1950846 = r1950844 / r1950845;
double r1950847 = sqrt(r1950846);
double r1950848 = r1950847 * r1950847;
double r1950849 = r1950843 / r1950848;
double r1950850 = r1950842 * r1950849;
double r1950851 = 0.0;
double r1950852 = r1950827 ? r1950850 : r1950851;
return r1950852;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 4.718881236776059e+214Initial program 51.3
rmApplied add-sqr-sqrt51.3
Applied difference-of-squares51.3
Applied times-frac37.2
Applied times-frac34.7
rmApplied *-un-lft-identity34.7
Applied associate-/l*34.7
rmApplied add-sqr-sqrt34.7
if 4.718881236776059e+214 < alpha Initial program 62.6
Taylor expanded around -inf 42.7
Final simplification35.5
herbie shell --seed 2019153
(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)))