\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.0321689507084963 \cdot 10^{+99}:\\
\;\;\;\;\frac{\frac{\sqrt{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{\sqrt{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}} \cdot \frac{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(i \cdot i\right) \cdot \frac{1}{4}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}}\\
\end{array}double f(double alpha, double beta, double i) {
double r4784696 = i;
double r4784697 = alpha;
double r4784698 = beta;
double r4784699 = r4784697 + r4784698;
double r4784700 = r4784699 + r4784696;
double r4784701 = r4784696 * r4784700;
double r4784702 = r4784698 * r4784697;
double r4784703 = r4784702 + r4784701;
double r4784704 = r4784701 * r4784703;
double r4784705 = 2.0;
double r4784706 = r4784705 * r4784696;
double r4784707 = r4784699 + r4784706;
double r4784708 = r4784707 * r4784707;
double r4784709 = r4784704 / r4784708;
double r4784710 = 1.0;
double r4784711 = r4784708 - r4784710;
double r4784712 = r4784709 / r4784711;
return r4784712;
}
double f(double alpha, double beta, double i) {
double r4784713 = alpha;
double r4784714 = 1.0321689507084963e+99;
bool r4784715 = r4784713 <= r4784714;
double r4784716 = i;
double r4784717 = beta;
double r4784718 = r4784713 + r4784717;
double r4784719 = r4784716 + r4784718;
double r4784720 = r4784716 * r4784719;
double r4784721 = r4784717 * r4784713;
double r4784722 = r4784720 + r4784721;
double r4784723 = sqrt(r4784722);
double r4784724 = 2.0;
double r4784725 = r4784724 * r4784716;
double r4784726 = r4784718 + r4784725;
double r4784727 = r4784726 / r4784723;
double r4784728 = r4784723 / r4784727;
double r4784729 = 1.0;
double r4784730 = sqrt(r4784729);
double r4784731 = r4784726 - r4784730;
double r4784732 = r4784728 / r4784731;
double r4784733 = r4784720 / r4784726;
double r4784734 = r4784730 + r4784726;
double r4784735 = r4784733 / r4784734;
double r4784736 = r4784732 * r4784735;
double r4784737 = r4784716 * r4784716;
double r4784738 = 0.25;
double r4784739 = r4784737 * r4784738;
double r4784740 = r4784739 / r4784734;
double r4784741 = r4784740 / r4784731;
double r4784742 = r4784715 ? r4784736 : r4784741;
return r4784742;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.0321689507084963e+99Initial program 50.1
rmApplied add-sqr-sqrt50.1
Applied difference-of-squares50.1
Applied times-frac35.1
Applied times-frac33.7
rmApplied add-sqr-sqrt33.7
Applied associate-/l*33.7
if 1.0321689507084963e+99 < alpha Initial program 61.5
Taylor expanded around inf 49.5
Simplified49.5
rmApplied add-sqr-sqrt49.5
Applied difference-of-squares49.5
Applied associate-/r*48.4
Final simplification37.1
herbie shell --seed 2019133
(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)))