\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 2.495505368754722 \cdot 10^{+120}:\\
\;\;\;\;\frac{\frac{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)} \cdot \frac{\left(\left(\alpha + \beta\right) + i\right) \cdot i + \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{\sqrt{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}}{\sqrt{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}} \cdot \frac{\sqrt{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}}{\sqrt{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}}\right) \cdot \frac{\frac{1}{4} \cdot \left(\alpha + \beta\right) + \frac{1}{2} \cdot i}{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1.0}}\\
\end{array}double f(double alpha, double beta, double i) {
double r4192729 = i;
double r4192730 = alpha;
double r4192731 = beta;
double r4192732 = r4192730 + r4192731;
double r4192733 = r4192732 + r4192729;
double r4192734 = r4192729 * r4192733;
double r4192735 = r4192731 * r4192730;
double r4192736 = r4192735 + r4192734;
double r4192737 = r4192734 * r4192736;
double r4192738 = 2.0;
double r4192739 = r4192738 * r4192729;
double r4192740 = r4192732 + r4192739;
double r4192741 = r4192740 * r4192740;
double r4192742 = r4192737 / r4192741;
double r4192743 = 1.0;
double r4192744 = r4192741 - r4192743;
double r4192745 = r4192742 / r4192744;
return r4192745;
}
double f(double alpha, double beta, double i) {
double r4192746 = i;
double r4192747 = 2.495505368754722e+120;
bool r4192748 = r4192746 <= r4192747;
double r4192749 = alpha;
double r4192750 = beta;
double r4192751 = r4192749 + r4192750;
double r4192752 = 2.0;
double r4192753 = r4192746 * r4192752;
double r4192754 = r4192751 + r4192753;
double r4192755 = r4192751 + r4192746;
double r4192756 = r4192754 / r4192755;
double r4192757 = r4192746 / r4192756;
double r4192758 = 1.0;
double r4192759 = sqrt(r4192758);
double r4192760 = r4192759 + r4192754;
double r4192761 = r4192757 / r4192760;
double r4192762 = r4192755 * r4192746;
double r4192763 = r4192749 * r4192750;
double r4192764 = r4192762 + r4192763;
double r4192765 = r4192764 / r4192754;
double r4192766 = r4192761 * r4192765;
double r4192767 = r4192754 - r4192759;
double r4192768 = r4192766 / r4192767;
double r4192769 = sqrt(r4192757);
double r4192770 = sqrt(r4192760);
double r4192771 = r4192769 / r4192770;
double r4192772 = r4192771 * r4192771;
double r4192773 = 0.25;
double r4192774 = r4192773 * r4192751;
double r4192775 = 0.5;
double r4192776 = r4192775 * r4192746;
double r4192777 = r4192774 + r4192776;
double r4192778 = r4192777 / r4192767;
double r4192779 = r4192772 * r4192778;
double r4192780 = r4192748 ? r4192768 : r4192779;
return r4192780;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if i < 2.495505368754722e+120Initial program 37.3
rmApplied add-sqr-sqrt37.3
Applied difference-of-squares37.3
Applied times-frac14.7
Applied times-frac10.0
rmApplied associate-/l*10.0
rmApplied associate-*r/9.9
if 2.495505368754722e+120 < i Initial program 62.1
rmApplied add-sqr-sqrt62.1
Applied difference-of-squares62.1
Applied times-frac54.9
Applied times-frac54.6
rmApplied associate-/l*54.6
Taylor expanded around 0 11.8
Simplified11.8
rmApplied add-sqr-sqrt12.3
Applied add-sqr-sqrt11.8
Applied times-frac11.8
Final simplification11.1
herbie shell --seed 2019163
(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)))