\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 4.718881236776059 \cdot 10^{+214}:\\
\;\;\;\;\frac{\sqrt{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}}{\frac{\sqrt{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}}{\left(\alpha + \beta\right) + 2 \cdot i}}} \cdot \left(\frac{\sqrt{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1.0}}} \cdot \frac{\sqrt{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1.0}}}\right)\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r1385205 = i;
double r1385206 = alpha;
double r1385207 = beta;
double r1385208 = r1385206 + r1385207;
double r1385209 = r1385208 + r1385205;
double r1385210 = r1385205 * r1385209;
double r1385211 = r1385207 * r1385206;
double r1385212 = r1385211 + r1385210;
double r1385213 = r1385210 * r1385212;
double r1385214 = 2.0;
double r1385215 = r1385214 * r1385205;
double r1385216 = r1385208 + r1385215;
double r1385217 = r1385216 * r1385216;
double r1385218 = r1385213 / r1385217;
double r1385219 = 1.0;
double r1385220 = r1385217 - r1385219;
double r1385221 = r1385218 / r1385220;
return r1385221;
}
double f(double alpha, double beta, double i) {
double r1385222 = alpha;
double r1385223 = 4.718881236776059e+214;
bool r1385224 = r1385222 <= r1385223;
double r1385225 = i;
double r1385226 = beta;
double r1385227 = r1385222 + r1385226;
double r1385228 = r1385225 + r1385227;
double r1385229 = r1385225 * r1385228;
double r1385230 = r1385226 * r1385222;
double r1385231 = r1385229 + r1385230;
double r1385232 = sqrt(r1385231);
double r1385233 = 2.0;
double r1385234 = r1385233 * r1385225;
double r1385235 = r1385227 + r1385234;
double r1385236 = 1.0;
double r1385237 = sqrt(r1385236);
double r1385238 = r1385235 - r1385237;
double r1385239 = r1385232 / r1385235;
double r1385240 = r1385238 / r1385239;
double r1385241 = r1385232 / r1385240;
double r1385242 = r1385229 / r1385235;
double r1385243 = sqrt(r1385242);
double r1385244 = r1385235 + r1385237;
double r1385245 = sqrt(r1385244);
double r1385246 = r1385243 / r1385245;
double r1385247 = r1385246 * r1385246;
double r1385248 = r1385241 * r1385247;
double r1385249 = 0.0;
double r1385250 = r1385224 ? r1385248 : r1385249;
return r1385250;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 4.718881236776059e+214Initial program 51.3
rmApplied add-sqr-sqrt51.3
Applied difference-of-squares51.3
Applied times-frac37.2
Applied times-frac34.7
rmApplied add-sqr-sqrt34.9
Applied add-sqr-sqrt34.8
Applied times-frac34.8
rmApplied *-un-lft-identity34.8
Applied add-sqr-sqrt34.8
Applied times-frac34.7
Applied associate-/l*34.7
if 4.718881236776059e+214 < alpha Initial program 62.6
Taylor expanded around inf 42.7
Final simplification35.5
herbie shell --seed 2019153 +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)))