\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}\;i \le 2.495505368754722 \cdot 10^{+120}:\\
\;\;\;\;\frac{\frac{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)} \cdot \frac{\left(\left(\alpha + \beta\right) + i\right) \cdot i + \alpha \cdot \beta}{\left(\alpha + \beta\right) + i \cdot 2}}{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1.0}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\sqrt{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}}{\sqrt{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}} \cdot \frac{\sqrt{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}}{\sqrt{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}}\right) \cdot \frac{\frac{1}{4} \cdot \left(\alpha + \beta\right) + \frac{1}{2} \cdot i}{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1.0}}\\
\end{array}double f(double alpha, double beta, double i) {
double r4414498 = i;
double r4414499 = alpha;
double r4414500 = beta;
double r4414501 = r4414499 + r4414500;
double r4414502 = r4414501 + r4414498;
double r4414503 = r4414498 * r4414502;
double r4414504 = r4414500 * r4414499;
double r4414505 = r4414504 + r4414503;
double r4414506 = r4414503 * r4414505;
double r4414507 = 2.0;
double r4414508 = r4414507 * r4414498;
double r4414509 = r4414501 + r4414508;
double r4414510 = r4414509 * r4414509;
double r4414511 = r4414506 / r4414510;
double r4414512 = 1.0;
double r4414513 = r4414510 - r4414512;
double r4414514 = r4414511 / r4414513;
return r4414514;
}
double f(double alpha, double beta, double i) {
double r4414515 = i;
double r4414516 = 2.495505368754722e+120;
bool r4414517 = r4414515 <= r4414516;
double r4414518 = alpha;
double r4414519 = beta;
double r4414520 = r4414518 + r4414519;
double r4414521 = 2.0;
double r4414522 = r4414515 * r4414521;
double r4414523 = r4414520 + r4414522;
double r4414524 = r4414520 + r4414515;
double r4414525 = r4414523 / r4414524;
double r4414526 = r4414515 / r4414525;
double r4414527 = 1.0;
double r4414528 = sqrt(r4414527);
double r4414529 = r4414528 + r4414523;
double r4414530 = r4414526 / r4414529;
double r4414531 = r4414524 * r4414515;
double r4414532 = r4414518 * r4414519;
double r4414533 = r4414531 + r4414532;
double r4414534 = r4414533 / r4414523;
double r4414535 = r4414530 * r4414534;
double r4414536 = r4414523 - r4414528;
double r4414537 = r4414535 / r4414536;
double r4414538 = sqrt(r4414526);
double r4414539 = sqrt(r4414529);
double r4414540 = r4414538 / r4414539;
double r4414541 = r4414540 * r4414540;
double r4414542 = 0.25;
double r4414543 = r4414542 * r4414520;
double r4414544 = 0.5;
double r4414545 = r4414544 * r4414515;
double r4414546 = r4414543 + r4414545;
double r4414547 = r4414546 / r4414536;
double r4414548 = r4414541 * r4414547;
double r4414549 = r4414517 ? r4414537 : r4414548;
return r4414549;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if i < 2.495505368754722e+120Initial program 37.3
rmApplied add-sqr-sqrt37.3
Applied difference-of-squares37.3
Applied times-frac14.7
Applied times-frac10.0
rmApplied associate-/l*10.0
rmApplied associate-*r/9.9
if 2.495505368754722e+120 < i Initial program 62.1
rmApplied add-sqr-sqrt62.1
Applied difference-of-squares62.1
Applied times-frac54.9
Applied times-frac54.6
rmApplied associate-/l*54.6
Taylor expanded around 0 11.8
Simplified11.8
rmApplied add-sqr-sqrt12.3
Applied add-sqr-sqrt11.8
Applied times-frac11.8
Final simplification11.1
herbie shell --seed 2019163
(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)))