\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}\begin{array}{l}
\mathbf{if}\;\beta \le 1.417457799825498220976824450146384509901 \cdot 10^{203}:\\
\;\;\;\;\frac{i \cdot \frac{\left(\alpha + \beta\right) + i}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}} \cdot \frac{\frac{\sqrt{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}}{1}}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}{\frac{\sqrt{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}}{\left(\alpha + \beta\right) + 2 \cdot i}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{0}{\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}\\
\end{array}double f(double alpha, double beta, double i) {
double r284375 = i;
double r284376 = alpha;
double r284377 = beta;
double r284378 = r284376 + r284377;
double r284379 = r284378 + r284375;
double r284380 = r284375 * r284379;
double r284381 = r284377 * r284376;
double r284382 = r284381 + r284380;
double r284383 = r284380 * r284382;
double r284384 = 2.0;
double r284385 = r284384 * r284375;
double r284386 = r284378 + r284385;
double r284387 = r284386 * r284386;
double r284388 = r284383 / r284387;
double r284389 = 1.0;
double r284390 = r284387 - r284389;
double r284391 = r284388 / r284390;
return r284391;
}
double f(double alpha, double beta, double i) {
double r284392 = beta;
double r284393 = 1.4174577998254982e+203;
bool r284394 = r284392 <= r284393;
double r284395 = i;
double r284396 = alpha;
double r284397 = r284396 + r284392;
double r284398 = r284397 + r284395;
double r284399 = 2.0;
double r284400 = r284399 * r284395;
double r284401 = r284397 + r284400;
double r284402 = r284398 / r284401;
double r284403 = r284395 * r284402;
double r284404 = 1.0;
double r284405 = sqrt(r284404);
double r284406 = r284401 + r284405;
double r284407 = r284403 / r284406;
double r284408 = r284392 * r284396;
double r284409 = r284395 * r284398;
double r284410 = r284408 + r284409;
double r284411 = sqrt(r284410);
double r284412 = 1.0;
double r284413 = r284411 / r284412;
double r284414 = r284401 - r284405;
double r284415 = r284411 / r284401;
double r284416 = r284414 / r284415;
double r284417 = r284413 / r284416;
double r284418 = r284407 * r284417;
double r284419 = 0.0;
double r284420 = r284401 * r284401;
double r284421 = r284419 / r284420;
double r284422 = r284420 - r284404;
double r284423 = r284421 / r284422;
double r284424 = r284394 ? r284418 : r284423;
return r284424;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 1.4174577998254982e+203Initial program 53.0
rmApplied add-sqr-sqrt53.0
Applied difference-of-squares53.1
Applied times-frac38.0
Applied times-frac35.7
rmApplied *-un-lft-identity35.7
Applied add-sqr-sqrt35.7
Applied times-frac35.7
Applied associate-/l*35.7
rmApplied *-un-lft-identity35.7
Applied times-frac35.7
Simplified35.7
if 1.4174577998254982e+203 < beta Initial program 64.0
Taylor expanded around 0 44.6
Final simplification36.6
herbie shell --seed 2019346
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:precision binary64
: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)))