\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}\;\beta \le 4.050770647237195 \cdot 10^{+207}:\\
\;\;\;\;\frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{1.0} + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\sqrt{i \cdot \left(i + \left(\beta + \alpha\right)\right) + \alpha \cdot \beta} \cdot \frac{\frac{\sqrt{i \cdot \left(i + \left(\beta + \alpha\right)\right) + \alpha \cdot \beta}}{\left(\beta + \alpha\right) + 2 \cdot i}}{\left(\left(\beta + \alpha\right) + 2 \cdot i\right) - \sqrt{1.0}}\right)\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r5365810 = i;
double r5365811 = alpha;
double r5365812 = beta;
double r5365813 = r5365811 + r5365812;
double r5365814 = r5365813 + r5365810;
double r5365815 = r5365810 * r5365814;
double r5365816 = r5365812 * r5365811;
double r5365817 = r5365816 + r5365815;
double r5365818 = r5365815 * r5365817;
double r5365819 = 2.0;
double r5365820 = r5365819 * r5365810;
double r5365821 = r5365813 + r5365820;
double r5365822 = r5365821 * r5365821;
double r5365823 = r5365818 / r5365822;
double r5365824 = 1.0;
double r5365825 = r5365822 - r5365824;
double r5365826 = r5365823 / r5365825;
return r5365826;
}
double f(double alpha, double beta, double i) {
double r5365827 = beta;
double r5365828 = 4.050770647237195e+207;
bool r5365829 = r5365827 <= r5365828;
double r5365830 = i;
double r5365831 = alpha;
double r5365832 = r5365827 + r5365831;
double r5365833 = r5365830 + r5365832;
double r5365834 = r5365830 * r5365833;
double r5365835 = 2.0;
double r5365836 = r5365835 * r5365830;
double r5365837 = r5365832 + r5365836;
double r5365838 = r5365834 / r5365837;
double r5365839 = 1.0;
double r5365840 = sqrt(r5365839);
double r5365841 = r5365840 + r5365837;
double r5365842 = r5365838 / r5365841;
double r5365843 = r5365831 * r5365827;
double r5365844 = r5365834 + r5365843;
double r5365845 = sqrt(r5365844);
double r5365846 = r5365845 / r5365837;
double r5365847 = r5365837 - r5365840;
double r5365848 = r5365846 / r5365847;
double r5365849 = r5365845 * r5365848;
double r5365850 = r5365842 * r5365849;
double r5365851 = 0.0;
double r5365852 = r5365829 ? r5365850 : r5365851;
return r5365852;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 4.050770647237195e+207Initial program 51.5
rmApplied add-sqr-sqrt51.5
Applied difference-of-squares51.5
Applied times-frac37.0
Applied times-frac34.5
rmApplied *-un-lft-identity34.5
Applied *-un-lft-identity34.5
Applied add-sqr-sqrt34.5
Applied times-frac34.5
Applied times-frac34.5
if 4.050770647237195e+207 < beta Initial program 62.6
Taylor expanded around inf 44.9
Final simplification35.7
herbie shell --seed 2019130 +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)))