\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.2994741600183278 \cdot 10^{+189}:\\
\;\;\;\;\sqrt{\frac{\frac{i + \left(\alpha + \beta\right)}{\left(\alpha + \beta\right) + i \cdot 2} \cdot i}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}} \cdot \left(\frac{\sqrt{\beta \cdot \alpha + i \cdot \left(i + \left(\alpha + \beta\right)\right)}}{\frac{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1.0}}{\frac{\sqrt{\beta \cdot \alpha + i \cdot \left(i + \left(\alpha + \beta\right)\right)}}{\left(\alpha + \beta\right) + i \cdot 2}}} \cdot \sqrt{\frac{\frac{i + \left(\alpha + \beta\right)}{\left(\alpha + \beta\right) + i \cdot 2} \cdot i}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}}\right)\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r10169374 = i;
double r10169375 = alpha;
double r10169376 = beta;
double r10169377 = r10169375 + r10169376;
double r10169378 = r10169377 + r10169374;
double r10169379 = r10169374 * r10169378;
double r10169380 = r10169376 * r10169375;
double r10169381 = r10169380 + r10169379;
double r10169382 = r10169379 * r10169381;
double r10169383 = 2.0;
double r10169384 = r10169383 * r10169374;
double r10169385 = r10169377 + r10169384;
double r10169386 = r10169385 * r10169385;
double r10169387 = r10169382 / r10169386;
double r10169388 = 1.0;
double r10169389 = r10169386 - r10169388;
double r10169390 = r10169387 / r10169389;
return r10169390;
}
double f(double alpha, double beta, double i) {
double r10169391 = alpha;
double r10169392 = 1.2994741600183278e+189;
bool r10169393 = r10169391 <= r10169392;
double r10169394 = i;
double r10169395 = beta;
double r10169396 = r10169391 + r10169395;
double r10169397 = r10169394 + r10169396;
double r10169398 = 2.0;
double r10169399 = r10169394 * r10169398;
double r10169400 = r10169396 + r10169399;
double r10169401 = r10169397 / r10169400;
double r10169402 = r10169401 * r10169394;
double r10169403 = 1.0;
double r10169404 = sqrt(r10169403);
double r10169405 = r10169404 + r10169400;
double r10169406 = r10169402 / r10169405;
double r10169407 = sqrt(r10169406);
double r10169408 = r10169395 * r10169391;
double r10169409 = r10169394 * r10169397;
double r10169410 = r10169408 + r10169409;
double r10169411 = sqrt(r10169410);
double r10169412 = r10169400 - r10169404;
double r10169413 = r10169411 / r10169400;
double r10169414 = r10169412 / r10169413;
double r10169415 = r10169411 / r10169414;
double r10169416 = r10169415 * r10169407;
double r10169417 = r10169407 * r10169416;
double r10169418 = 0.0;
double r10169419 = r10169393 ? r10169417 : r10169418;
return r10169419;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.2994741600183278e+189Initial program 50.9
rmApplied add-sqr-sqrt50.9
Applied difference-of-squares50.9
Applied times-frac35.9
Applied times-frac33.7
rmApplied *-un-lft-identity33.7
Applied add-sqr-sqrt33.7
Applied times-frac33.7
Applied associate-/l*33.7
rmApplied *-un-lft-identity33.7
Applied times-frac33.7
Simplified33.7
rmApplied add-sqr-sqrt33.7
Applied associate-*l*33.7
if 1.2994741600183278e+189 < alpha Initial program 62.6
Taylor expanded around -inf 46.8
Final simplification35.3
herbie shell --seed 2019141
(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)))