\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}\;i \le 1.3506935660190156 \cdot 10^{51}:\\
\;\;\;\;\frac{\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \frac{\beta \cdot \alpha + 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}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\\
\mathbf{elif}\;i \le 2.6821538378639874 \cdot 10^{61}:\\
\;\;\;\;\frac{0.25 \cdot {i}^{2}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1}\\
\mathbf{elif}\;i \le 1.36417232109834312 \cdot 10^{154}:\\
\;\;\;\;\frac{\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \frac{\beta \cdot \alpha + 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}}}{\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 r145659 = i;
double r145660 = alpha;
double r145661 = beta;
double r145662 = r145660 + r145661;
double r145663 = r145662 + r145659;
double r145664 = r145659 * r145663;
double r145665 = r145661 * r145660;
double r145666 = r145665 + r145664;
double r145667 = r145664 * r145666;
double r145668 = 2.0;
double r145669 = r145668 * r145659;
double r145670 = r145662 + r145669;
double r145671 = r145670 * r145670;
double r145672 = r145667 / r145671;
double r145673 = 1.0;
double r145674 = r145671 - r145673;
double r145675 = r145672 / r145674;
return r145675;
}
double f(double alpha, double beta, double i) {
double r145676 = i;
double r145677 = 1.3506935660190156e+51;
bool r145678 = r145676 <= r145677;
double r145679 = alpha;
double r145680 = beta;
double r145681 = r145679 + r145680;
double r145682 = r145681 + r145676;
double r145683 = r145676 * r145682;
double r145684 = 2.0;
double r145685 = r145684 * r145676;
double r145686 = r145681 + r145685;
double r145687 = r145683 / r145686;
double r145688 = r145680 * r145679;
double r145689 = r145688 + r145683;
double r145690 = r145689 / r145686;
double r145691 = r145687 * r145690;
double r145692 = 1.0;
double r145693 = sqrt(r145692);
double r145694 = r145686 + r145693;
double r145695 = r145691 / r145694;
double r145696 = r145686 - r145693;
double r145697 = r145695 / r145696;
double r145698 = 2.6821538378639874e+61;
bool r145699 = r145676 <= r145698;
double r145700 = 0.25;
double r145701 = 2.0;
double r145702 = pow(r145676, r145701);
double r145703 = r145700 * r145702;
double r145704 = r145686 * r145686;
double r145705 = r145704 - r145692;
double r145706 = r145703 / r145705;
double r145707 = 1.364172321098343e+154;
bool r145708 = r145676 <= r145707;
double r145709 = 0.0;
double r145710 = r145708 ? r145697 : r145709;
double r145711 = r145699 ? r145706 : r145710;
double r145712 = r145678 ? r145697 : r145711;
return r145712;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if i < 1.3506935660190156e+51 or 2.6821538378639874e+61 < i < 1.364172321098343e+154Initial program 45.4
rmApplied add-sqr-sqrt45.4
Applied difference-of-squares45.4
Applied times-frac15.8
Applied times-frac11.8
rmApplied associate-*r/11.7
rmApplied associate-*l/11.7
if 1.3506935660190156e+51 < i < 2.6821538378639874e+61Initial program 25.4
Taylor expanded around inf 17.4
if 1.364172321098343e+154 < i Initial program 64.0
Taylor expanded around inf 61.9
Final simplification36.9
herbie shell --seed 2020020
(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)))