\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}\;\beta \le 8.636484859471028 \cdot 10^{+55}:\\
\;\;\;\;\frac{(\left(\alpha + \beta\right) \cdot \frac{1}{4} + \left(i \cdot \frac{1}{2}\right))_*}{\sqrt{1.0} + (2 \cdot i + \left(\alpha + \beta\right))_*} \cdot \log \left(e^{\frac{\left(i + \left(\alpha + \beta\right)\right) \cdot \frac{i}{(2 \cdot i + \left(\alpha + \beta\right))_*}}{(2 \cdot i + \left(\alpha + \beta\right))_* - \sqrt{1.0}}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{i}{\sqrt{1.0} + (2 \cdot i + \left(\alpha + \beta\right))_*} \cdot \frac{\left(i + \left(\alpha + \beta\right)\right) \cdot \frac{i}{(2 \cdot i + \left(\alpha + \beta\right))_*}}{(2 \cdot i + \left(\alpha + \beta\right))_* - \sqrt{1.0}}\\
\end{array}double f(double alpha, double beta, double i) {
double r20778016 = i;
double r20778017 = alpha;
double r20778018 = beta;
double r20778019 = r20778017 + r20778018;
double r20778020 = r20778019 + r20778016;
double r20778021 = r20778016 * r20778020;
double r20778022 = r20778018 * r20778017;
double r20778023 = r20778022 + r20778021;
double r20778024 = r20778021 * r20778023;
double r20778025 = 2.0;
double r20778026 = r20778025 * r20778016;
double r20778027 = r20778019 + r20778026;
double r20778028 = r20778027 * r20778027;
double r20778029 = r20778024 / r20778028;
double r20778030 = 1.0;
double r20778031 = r20778028 - r20778030;
double r20778032 = r20778029 / r20778031;
return r20778032;
}
double f(double alpha, double beta, double i) {
double r20778033 = beta;
double r20778034 = 8.636484859471028e+55;
bool r20778035 = r20778033 <= r20778034;
double r20778036 = alpha;
double r20778037 = r20778036 + r20778033;
double r20778038 = 0.25;
double r20778039 = i;
double r20778040 = 0.5;
double r20778041 = r20778039 * r20778040;
double r20778042 = fma(r20778037, r20778038, r20778041);
double r20778043 = 1.0;
double r20778044 = sqrt(r20778043);
double r20778045 = 2.0;
double r20778046 = fma(r20778045, r20778039, r20778037);
double r20778047 = r20778044 + r20778046;
double r20778048 = r20778042 / r20778047;
double r20778049 = r20778039 + r20778037;
double r20778050 = r20778039 / r20778046;
double r20778051 = r20778049 * r20778050;
double r20778052 = r20778046 - r20778044;
double r20778053 = r20778051 / r20778052;
double r20778054 = exp(r20778053);
double r20778055 = log(r20778054);
double r20778056 = r20778048 * r20778055;
double r20778057 = r20778039 / r20778047;
double r20778058 = r20778057 * r20778053;
double r20778059 = r20778035 ? r20778056 : r20778058;
return r20778059;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if beta < 8.636484859471028e+55Initial program 49.5
Simplified49.5
rmApplied add-sqr-sqrt49.5
Applied difference-of-squares49.5
Applied times-frac34.8
Applied times-frac33.5
rmApplied *-un-lft-identity33.5
Applied times-frac33.4
Taylor expanded around 0 10.5
Simplified10.5
rmApplied add-log-exp9.7
if 8.636484859471028e+55 < beta Initial program 60.1
Simplified60.1
rmApplied add-sqr-sqrt60.1
Applied difference-of-squares60.1
Applied times-frac49.0
Applied times-frac44.5
rmApplied *-un-lft-identity44.5
Applied times-frac44.5
Taylor expanded around -inf 26.6
Final simplification14.4
herbie shell --seed 2019107 +o rules:numerics
(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)))