\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.24495318689232558 \cdot 10^{213}:\\
\;\;\;\;\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \frac{\frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{0}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}}\\
\end{array}double f(double alpha, double beta, double i) {
double r144453 = i;
double r144454 = alpha;
double r144455 = beta;
double r144456 = r144454 + r144455;
double r144457 = r144456 + r144453;
double r144458 = r144453 * r144457;
double r144459 = r144455 * r144454;
double r144460 = r144459 + r144458;
double r144461 = r144458 * r144460;
double r144462 = 2.0;
double r144463 = r144462 * r144453;
double r144464 = r144456 + r144463;
double r144465 = r144464 * r144464;
double r144466 = r144461 / r144465;
double r144467 = 1.0;
double r144468 = r144465 - r144467;
double r144469 = r144466 / r144468;
return r144469;
}
double f(double alpha, double beta, double i) {
double r144470 = beta;
double r144471 = 1.2449531868923256e+213;
bool r144472 = r144470 <= r144471;
double r144473 = i;
double r144474 = alpha;
double r144475 = r144474 + r144470;
double r144476 = r144475 + r144473;
double r144477 = r144473 * r144476;
double r144478 = 2.0;
double r144479 = r144478 * r144473;
double r144480 = r144475 + r144479;
double r144481 = r144477 / r144480;
double r144482 = r144470 * r144474;
double r144483 = r144482 + r144477;
double r144484 = r144483 / r144480;
double r144485 = 1.0;
double r144486 = sqrt(r144485);
double r144487 = r144480 - r144486;
double r144488 = r144484 / r144487;
double r144489 = r144481 * r144488;
double r144490 = r144480 + r144486;
double r144491 = r144489 / r144490;
double r144492 = 0.0;
double r144493 = r144492 / r144490;
double r144494 = r144472 ? r144491 : r144493;
return r144494;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 1.2449531868923256e+213Initial program 53.0
rmApplied add-sqr-sqrt53.0
Applied difference-of-squares53.0
Applied times-frac38.0
Applied times-frac35.5
rmApplied associate-*l/35.5
if 1.2449531868923256e+213 < beta Initial program 64.0
rmApplied add-sqr-sqrt64.0
Applied difference-of-squares64.0
Applied times-frac57.0
Applied times-frac56.4
rmApplied associate-*l/56.4
Taylor expanded around inf 43.0
Final simplification36.3
herbie shell --seed 2019199
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:pre (and (> alpha -1.0) (> beta -1.0) (> i 1.0))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i)))) (- (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i))) 1.0)))