\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 2.387509605763981 \cdot 10^{+198}:\\
\;\;\;\;\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)} \cdot \frac{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\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 r5313991 = i;
double r5313992 = alpha;
double r5313993 = beta;
double r5313994 = r5313992 + r5313993;
double r5313995 = r5313994 + r5313991;
double r5313996 = r5313991 * r5313995;
double r5313997 = r5313993 * r5313992;
double r5313998 = r5313997 + r5313996;
double r5313999 = r5313996 * r5313998;
double r5314000 = 2.0;
double r5314001 = r5314000 * r5313991;
double r5314002 = r5313994 + r5314001;
double r5314003 = r5314002 * r5314002;
double r5314004 = r5313999 / r5314003;
double r5314005 = 1.0;
double r5314006 = r5314003 - r5314005;
double r5314007 = r5314004 / r5314006;
return r5314007;
}
double f(double alpha, double beta, double i) {
double r5314008 = alpha;
double r5314009 = 2.387509605763981e+198;
bool r5314010 = r5314008 <= r5314009;
double r5314011 = i;
double r5314012 = beta;
double r5314013 = r5314008 + r5314012;
double r5314014 = r5314011 + r5314013;
double r5314015 = r5314011 * r5314014;
double r5314016 = 2.0;
double r5314017 = r5314016 * r5314011;
double r5314018 = r5314013 + r5314017;
double r5314019 = r5314015 / r5314018;
double r5314020 = 1.0;
double r5314021 = sqrt(r5314020);
double r5314022 = r5314021 + r5314018;
double r5314023 = r5314019 / r5314022;
double r5314024 = r5314012 * r5314008;
double r5314025 = r5314015 + r5314024;
double r5314026 = r5314025 / r5314018;
double r5314027 = r5314018 - r5314021;
double r5314028 = r5314026 / r5314027;
double r5314029 = r5314023 * r5314028;
double r5314030 = 0.0;
double r5314031 = r5314010 ? r5314029 : r5314030;
return r5314031;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 2.387509605763981e+198Initial program 50.5
rmApplied add-sqr-sqrt50.5
Applied difference-of-squares50.5
Applied times-frac36.4
Applied times-frac34.2
if 2.387509605763981e+198 < alpha Initial program 62.6
Taylor expanded around -inf 44.8
Final simplification35.5
herbie shell --seed 2019132
(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)))