\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}\;\alpha \le 4.441712688807933701219879934380300457676 \cdot 10^{210}:\\
\;\;\;\;\frac{\frac{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}} \cdot \left(\frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\right)\\
\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 r95609 = i;
double r95610 = alpha;
double r95611 = beta;
double r95612 = r95610 + r95611;
double r95613 = r95612 + r95609;
double r95614 = r95609 * r95613;
double r95615 = r95611 * r95610;
double r95616 = r95615 + r95614;
double r95617 = r95614 * r95616;
double r95618 = 2.0;
double r95619 = r95618 * r95609;
double r95620 = r95612 + r95619;
double r95621 = r95620 * r95620;
double r95622 = r95617 / r95621;
double r95623 = 1.0;
double r95624 = r95621 - r95623;
double r95625 = r95622 / r95624;
return r95625;
}
double f(double alpha, double beta, double i) {
double r95626 = alpha;
double r95627 = 4.4417126888079337e+210;
bool r95628 = r95626 <= r95627;
double r95629 = i;
double r95630 = beta;
double r95631 = r95626 + r95630;
double r95632 = r95631 + r95629;
double r95633 = r95629 * r95632;
double r95634 = 2.0;
double r95635 = r95634 * r95629;
double r95636 = r95631 + r95635;
double r95637 = r95633 / r95636;
double r95638 = 1.0;
double r95639 = sqrt(r95638);
double r95640 = r95636 + r95639;
double r95641 = r95637 / r95640;
double r95642 = r95630 * r95626;
double r95643 = r95642 + r95633;
double r95644 = r95643 / r95636;
double r95645 = 1.0;
double r95646 = r95636 - r95639;
double r95647 = r95645 / r95646;
double r95648 = r95644 * r95647;
double r95649 = r95641 * r95648;
double r95650 = 0.0;
double r95651 = r95636 * r95636;
double r95652 = r95650 / r95651;
double r95653 = r95651 - r95638;
double r95654 = r95652 / r95653;
double r95655 = r95628 ? r95649 : r95654;
return r95655;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 4.4417126888079337e+210Initial program 53.4
rmApplied add-sqr-sqrt53.4
Applied difference-of-squares53.4
Applied times-frac38.2
Applied times-frac35.8
rmApplied div-inv35.8
if 4.4417126888079337e+210 < alpha Initial program 64.0
Taylor expanded around 0 43.2
Final simplification36.6
herbie shell --seed 2019353
(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)))