\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.5516067629565482 \cdot 10^{+212}:\\
\;\;\;\;\frac{i}{\frac{\sqrt{1.0} + \left(2 \cdot i + \left(\alpha + \beta\right)\right)}{\frac{i + \left(\alpha + \beta\right)}{2 \cdot i + \left(\alpha + \beta\right)}}} \cdot \left(\frac{\sqrt{\frac{\left(i + \left(\alpha + \beta\right)\right) \cdot i + \alpha \cdot \beta}{2 \cdot i + \left(\alpha + \beta\right)}}}{\sqrt{\left(2 \cdot i + \left(\alpha + \beta\right)\right) - \sqrt{1.0}}} \cdot \frac{\sqrt{\frac{\left(i + \left(\alpha + \beta\right)\right) \cdot i + \alpha \cdot \beta}{2 \cdot i + \left(\alpha + \beta\right)}}}{\sqrt{\left(2 \cdot i + \left(\alpha + \beta\right)\right) - \sqrt{1.0}}}\right)\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r3788201 = i;
double r3788202 = alpha;
double r3788203 = beta;
double r3788204 = r3788202 + r3788203;
double r3788205 = r3788204 + r3788201;
double r3788206 = r3788201 * r3788205;
double r3788207 = r3788203 * r3788202;
double r3788208 = r3788207 + r3788206;
double r3788209 = r3788206 * r3788208;
double r3788210 = 2.0;
double r3788211 = r3788210 * r3788201;
double r3788212 = r3788204 + r3788211;
double r3788213 = r3788212 * r3788212;
double r3788214 = r3788209 / r3788213;
double r3788215 = 1.0;
double r3788216 = r3788213 - r3788215;
double r3788217 = r3788214 / r3788216;
return r3788217;
}
double f(double alpha, double beta, double i) {
double r3788218 = alpha;
double r3788219 = 2.5516067629565482e+212;
bool r3788220 = r3788218 <= r3788219;
double r3788221 = i;
double r3788222 = 1.0;
double r3788223 = sqrt(r3788222);
double r3788224 = 2.0;
double r3788225 = r3788224 * r3788221;
double r3788226 = beta;
double r3788227 = r3788218 + r3788226;
double r3788228 = r3788225 + r3788227;
double r3788229 = r3788223 + r3788228;
double r3788230 = r3788221 + r3788227;
double r3788231 = r3788230 / r3788228;
double r3788232 = r3788229 / r3788231;
double r3788233 = r3788221 / r3788232;
double r3788234 = r3788230 * r3788221;
double r3788235 = r3788218 * r3788226;
double r3788236 = r3788234 + r3788235;
double r3788237 = r3788236 / r3788228;
double r3788238 = sqrt(r3788237);
double r3788239 = r3788228 - r3788223;
double r3788240 = sqrt(r3788239);
double r3788241 = r3788238 / r3788240;
double r3788242 = r3788241 * r3788241;
double r3788243 = r3788233 * r3788242;
double r3788244 = 0.0;
double r3788245 = r3788220 ? r3788243 : r3788244;
return r3788245;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 2.5516067629565482e+212Initial program 51.4
rmApplied add-sqr-sqrt51.4
Applied difference-of-squares51.4
Applied times-frac37.2
Applied times-frac34.6
rmApplied add-sqr-sqrt34.7
Applied add-sqr-sqrt34.6
Applied times-frac34.6
rmApplied *-un-lft-identity34.6
Applied times-frac34.6
Applied associate-/l*34.6
if 2.5516067629565482e+212 < alpha Initial program 62.6
Taylor expanded around inf 43.0
Final simplification35.4
herbie shell --seed 2019146 +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)))