\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 8.3916791935312585 \cdot 10^{223}:\\
\;\;\;\;\frac{\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r166883 = i;
double r166884 = alpha;
double r166885 = beta;
double r166886 = r166884 + r166885;
double r166887 = r166886 + r166883;
double r166888 = r166883 * r166887;
double r166889 = r166885 * r166884;
double r166890 = r166889 + r166888;
double r166891 = r166888 * r166890;
double r166892 = 2.0;
double r166893 = r166892 * r166883;
double r166894 = r166886 + r166893;
double r166895 = r166894 * r166894;
double r166896 = r166891 / r166895;
double r166897 = 1.0;
double r166898 = r166895 - r166897;
double r166899 = r166896 / r166898;
return r166899;
}
double f(double alpha, double beta, double i) {
double r166900 = alpha;
double r166901 = 8.391679193531258e+223;
bool r166902 = r166900 <= r166901;
double r166903 = i;
double r166904 = beta;
double r166905 = r166900 + r166904;
double r166906 = r166905 + r166903;
double r166907 = r166903 * r166906;
double r166908 = 2.0;
double r166909 = r166908 * r166903;
double r166910 = r166905 + r166909;
double r166911 = r166907 / r166910;
double r166912 = r166904 * r166900;
double r166913 = r166912 + r166907;
double r166914 = r166913 / r166910;
double r166915 = r166911 * r166914;
double r166916 = 1.0;
double r166917 = sqrt(r166916);
double r166918 = r166910 - r166917;
double r166919 = r166915 / r166918;
double r166920 = r166910 + r166917;
double r166921 = r166919 / r166920;
double r166922 = 0.0;
double r166923 = r166902 ? r166921 : r166922;
return r166923;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 8.391679193531258e+223Initial program 53.1
rmApplied add-sqr-sqrt53.1
Applied difference-of-squares53.1
Applied times-frac38.2
Applied times-frac35.9
rmApplied associate-*l/35.9
rmApplied associate-*r/35.9
if 8.391679193531258e+223 < alpha Initial program 64.0
Taylor expanded around inf 44.0
Final simplification36.6
herbie shell --seed 2020039
(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)))