\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 6.006963476966065673239901730162017507115 \cdot 10^{202}:\\
\;\;\;\;\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + i\right) \cdot i}{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \frac{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{\sqrt{1} + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r71668 = i;
double r71669 = alpha;
double r71670 = beta;
double r71671 = r71669 + r71670;
double r71672 = r71671 + r71668;
double r71673 = r71668 * r71672;
double r71674 = r71670 * r71669;
double r71675 = r71674 + r71673;
double r71676 = r71673 * r71675;
double r71677 = 2.0;
double r71678 = r71677 * r71668;
double r71679 = r71671 + r71678;
double r71680 = r71679 * r71679;
double r71681 = r71676 / r71680;
double r71682 = 1.0;
double r71683 = r71680 - r71682;
double r71684 = r71681 / r71683;
return r71684;
}
double f(double alpha, double beta, double i) {
double r71685 = beta;
double r71686 = 6.006963476966066e+202;
bool r71687 = r71685 <= r71686;
double r71688 = alpha;
double r71689 = r71688 + r71685;
double r71690 = i;
double r71691 = r71689 + r71690;
double r71692 = r71691 * r71690;
double r71693 = 2.0;
double r71694 = fma(r71693, r71690, r71689);
double r71695 = r71692 / r71694;
double r71696 = r71690 * r71691;
double r71697 = fma(r71685, r71688, r71696);
double r71698 = r71697 / r71694;
double r71699 = r71695 * r71698;
double r71700 = 1.0;
double r71701 = sqrt(r71700);
double r71702 = r71701 + r71694;
double r71703 = r71699 / r71702;
double r71704 = r71693 * r71690;
double r71705 = r71689 + r71704;
double r71706 = r71705 - r71701;
double r71707 = r71703 / r71706;
double r71708 = 0.0;
double r71709 = r71687 ? r71707 : r71708;
return r71709;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if beta < 6.006963476966066e+202Initial program 53.2
rmApplied times-frac37.6
Simplified37.6
Simplified37.6
rmApplied add-sqr-sqrt37.6
Applied difference-of-squares37.6
Applied associate-/r*35.1
Simplified35.1
if 6.006963476966066e+202 < beta Initial program 64.0
Taylor expanded around inf 44.9
Final simplification36.2
herbie shell --seed 2019303 +o rules:numerics
(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)))