\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 1.8040722187546411 \cdot 10^{+195}:\\
\;\;\;\;\left(\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \frac{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}\right) \cdot \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r4650968 = i;
double r4650969 = alpha;
double r4650970 = beta;
double r4650971 = r4650969 + r4650970;
double r4650972 = r4650971 + r4650968;
double r4650973 = r4650968 * r4650972;
double r4650974 = r4650970 * r4650969;
double r4650975 = r4650974 + r4650973;
double r4650976 = r4650973 * r4650975;
double r4650977 = 2.0;
double r4650978 = r4650977 * r4650968;
double r4650979 = r4650971 + r4650978;
double r4650980 = r4650979 * r4650979;
double r4650981 = r4650976 / r4650980;
double r4650982 = 1.0;
double r4650983 = r4650980 - r4650982;
double r4650984 = r4650981 / r4650983;
return r4650984;
}
double f(double alpha, double beta, double i) {
double r4650985 = alpha;
double r4650986 = 1.8040722187546411e+195;
bool r4650987 = r4650985 <= r4650986;
double r4650988 = i;
double r4650989 = beta;
double r4650990 = r4650985 + r4650989;
double r4650991 = r4650988 + r4650990;
double r4650992 = r4650988 * r4650991;
double r4650993 = r4650989 * r4650985;
double r4650994 = r4650992 + r4650993;
double r4650995 = 2.0;
double r4650996 = r4650995 * r4650988;
double r4650997 = r4650990 + r4650996;
double r4650998 = r4650994 / r4650997;
double r4650999 = r4650992 / r4650997;
double r4651000 = 1.0;
double r4651001 = sqrt(r4651000);
double r4651002 = r4651001 + r4650997;
double r4651003 = r4650999 / r4651002;
double r4651004 = r4650998 * r4651003;
double r4651005 = 1.0;
double r4651006 = r4650997 - r4651001;
double r4651007 = r4651005 / r4651006;
double r4651008 = r4651004 * r4651007;
double r4651009 = 0.0;
double r4651010 = r4650987 ? r4651008 : r4651009;
return r4651010;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.8040722187546411e+195Initial program 51.2
rmApplied add-sqr-sqrt51.2
Applied difference-of-squares51.2
Applied times-frac36.3
Applied times-frac34.1
rmApplied div-inv34.1
Applied associate-*r*34.1
if 1.8040722187546411e+195 < alpha Initial program 62.6
Taylor expanded around -inf 43.6
Final simplification35.3
herbie shell --seed 2019142
(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)))