\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 2.872224495905669328648186078956009938034 \cdot 10^{169}:\\
\;\;\;\;\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}} \cdot \left(\frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\right)\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r135774 = i;
double r135775 = alpha;
double r135776 = beta;
double r135777 = r135775 + r135776;
double r135778 = r135777 + r135774;
double r135779 = r135774 * r135778;
double r135780 = r135776 * r135775;
double r135781 = r135780 + r135779;
double r135782 = r135779 * r135781;
double r135783 = 2.0;
double r135784 = r135783 * r135774;
double r135785 = r135777 + r135784;
double r135786 = r135785 * r135785;
double r135787 = r135782 / r135786;
double r135788 = 1.0;
double r135789 = r135786 - r135788;
double r135790 = r135787 / r135789;
return r135790;
}
double f(double alpha, double beta, double i) {
double r135791 = beta;
double r135792 = 2.8722244959056693e+169;
bool r135793 = r135791 <= r135792;
double r135794 = i;
double r135795 = alpha;
double r135796 = r135795 + r135791;
double r135797 = r135796 + r135794;
double r135798 = r135794 * r135797;
double r135799 = 2.0;
double r135800 = r135799 * r135794;
double r135801 = r135796 + r135800;
double r135802 = r135798 / r135801;
double r135803 = 1.0;
double r135804 = sqrt(r135803);
double r135805 = r135801 + r135804;
double r135806 = r135802 / r135805;
double r135807 = r135791 * r135795;
double r135808 = r135807 + r135798;
double r135809 = r135808 / r135801;
double r135810 = 1.0;
double r135811 = r135801 - r135804;
double r135812 = r135810 / r135811;
double r135813 = r135809 * r135812;
double r135814 = r135806 * r135813;
double r135815 = 0.0;
double r135816 = r135793 ? r135814 : r135815;
return r135816;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 2.8722244959056693e+169Initial program 52.0
rmApplied add-sqr-sqrt52.0
Applied difference-of-squares52.0
Applied times-frac36.2
Applied times-frac34.5
rmApplied div-inv34.5
if 2.8722244959056693e+169 < beta Initial program 64.0
Taylor expanded around inf 46.6
Final simplification36.4
herbie shell --seed 2019356
(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)))