\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 1.2331841345710615 \cdot 10^{+151}:\\
\;\;\;\;\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + i \cdot 2}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)} \cdot \frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right) + \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{\frac{\left(\alpha + \beta\right) + i}{\left(\alpha + \beta\right) + i \cdot 2}}{\sqrt{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}} \cdot \frac{i}{\sqrt{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}}\right) \cdot \frac{\mathsf{fma}\left(\frac{1}{2}, i, \left(\left(\alpha + \beta\right) \cdot \frac{1}{4}\right)\right)}{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1.0}}\\
\end{array}double f(double alpha, double beta, double i) {
double r4455666 = i;
double r4455667 = alpha;
double r4455668 = beta;
double r4455669 = r4455667 + r4455668;
double r4455670 = r4455669 + r4455666;
double r4455671 = r4455666 * r4455670;
double r4455672 = r4455668 * r4455667;
double r4455673 = r4455672 + r4455671;
double r4455674 = r4455671 * r4455673;
double r4455675 = 2.0;
double r4455676 = r4455675 * r4455666;
double r4455677 = r4455669 + r4455676;
double r4455678 = r4455677 * r4455677;
double r4455679 = r4455674 / r4455678;
double r4455680 = 1.0;
double r4455681 = r4455678 - r4455680;
double r4455682 = r4455679 / r4455681;
return r4455682;
}
double f(double alpha, double beta, double i) {
double r4455683 = i;
double r4455684 = 1.2331841345710615e+151;
bool r4455685 = r4455683 <= r4455684;
double r4455686 = alpha;
double r4455687 = beta;
double r4455688 = r4455686 + r4455687;
double r4455689 = r4455688 + r4455683;
double r4455690 = r4455683 * r4455689;
double r4455691 = 2.0;
double r4455692 = r4455683 * r4455691;
double r4455693 = r4455688 + r4455692;
double r4455694 = r4455690 / r4455693;
double r4455695 = 1.0;
double r4455696 = sqrt(r4455695);
double r4455697 = r4455696 + r4455693;
double r4455698 = r4455694 / r4455697;
double r4455699 = r4455686 * r4455687;
double r4455700 = r4455690 + r4455699;
double r4455701 = r4455700 / r4455693;
double r4455702 = r4455693 - r4455696;
double r4455703 = r4455701 / r4455702;
double r4455704 = r4455698 * r4455703;
double r4455705 = r4455689 / r4455693;
double r4455706 = sqrt(r4455697);
double r4455707 = r4455705 / r4455706;
double r4455708 = r4455683 / r4455706;
double r4455709 = r4455707 * r4455708;
double r4455710 = 0.5;
double r4455711 = 0.25;
double r4455712 = r4455688 * r4455711;
double r4455713 = fma(r4455710, r4455683, r4455712);
double r4455714 = r4455713 / r4455702;
double r4455715 = r4455709 * r4455714;
double r4455716 = r4455685 ? r4455704 : r4455715;
return r4455716;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if i < 1.2331841345710615e+151Initial program 41.1
rmApplied add-sqr-sqrt41.1
Applied difference-of-squares41.1
Applied times-frac14.6
Applied times-frac10.3
if 1.2331841345710615e+151 < i Initial program 62.1
rmApplied add-sqr-sqrt62.1
Applied difference-of-squares62.1
Applied times-frac61.4
Applied times-frac61.3
rmApplied add-sqr-sqrt61.3
Applied *-un-lft-identity61.3
Applied times-frac61.3
Applied times-frac61.3
Taylor expanded around 0 10.2
Simplified10.2
Final simplification10.3
herbie shell --seed 2019132 +o rules:numerics
(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)))