\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}\;\alpha \le 1.054433814820164952872972799641075608789 \cdot 10^{117}:\\
\;\;\;\;\frac{\left(\left(i + \left(\alpha + \beta\right)\right) \cdot \frac{i}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}\right) \cdot \frac{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(2, i, \alpha + \beta\right), \mathsf{fma}\left(2, i, \alpha + \beta\right), -1\right)} \cdot \mathsf{fma}\left(2, i, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(2, i, \alpha + \beta\right), \mathsf{fma}\left(2, i, \alpha + \beta\right), -1\right)}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{i + \left(\alpha + \beta\right)}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(2, i, \alpha + \beta\right), \mathsf{fma}\left(2, i, \alpha + \beta\right), -1\right)}} \cdot \frac{i}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}\right) \cdot 0\\
\end{array}double f(double alpha, double beta, double i) {
double r79826 = i;
double r79827 = alpha;
double r79828 = beta;
double r79829 = r79827 + r79828;
double r79830 = r79829 + r79826;
double r79831 = r79826 * r79830;
double r79832 = r79828 * r79827;
double r79833 = r79832 + r79831;
double r79834 = r79831 * r79833;
double r79835 = 2.0;
double r79836 = r79835 * r79826;
double r79837 = r79829 + r79836;
double r79838 = r79837 * r79837;
double r79839 = r79834 / r79838;
double r79840 = 1.0;
double r79841 = r79838 - r79840;
double r79842 = r79839 / r79841;
return r79842;
}
double f(double alpha, double beta, double i) {
double r79843 = alpha;
double r79844 = 1.054433814820165e+117;
bool r79845 = r79843 <= r79844;
double r79846 = i;
double r79847 = beta;
double r79848 = r79843 + r79847;
double r79849 = r79846 + r79848;
double r79850 = 2.0;
double r79851 = fma(r79850, r79846, r79848);
double r79852 = r79846 / r79851;
double r79853 = r79849 * r79852;
double r79854 = r79848 + r79846;
double r79855 = r79846 * r79854;
double r79856 = fma(r79847, r79843, r79855);
double r79857 = 1.0;
double r79858 = -r79857;
double r79859 = fma(r79851, r79851, r79858);
double r79860 = sqrt(r79859);
double r79861 = r79860 * r79851;
double r79862 = r79856 / r79861;
double r79863 = r79853 * r79862;
double r79864 = r79863 / r79860;
double r79865 = r79849 / r79860;
double r79866 = r79865 * r79852;
double r79867 = 0.0;
double r79868 = r79866 * r79867;
double r79869 = r79845 ? r79864 : r79868;
return r79869;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 1.054433814820165e+117Initial program 51.6
rmApplied add-sqr-sqrt51.6
Applied times-frac36.1
Applied times-frac36.1
Simplified36.1
Simplified36.1
rmApplied associate-*l/36.1
Applied associate-*l/36.1
if 1.054433814820165e+117 < alpha Initial program 63.2
rmApplied add-sqr-sqrt63.2
Applied times-frac53.4
Applied times-frac53.4
Simplified53.4
Simplified53.4
Taylor expanded around inf 50.2
Final simplification39.1
herbie shell --seed 2019347 +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)))