\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\begin{array}{l}
\mathbf{if}\;\beta \le 9.721931493003979219421344665658321487218 \cdot 10^{170}:\\
\;\;\;\;\frac{\sqrt{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\sqrt{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}\\
\mathbf{else}:\\
\;\;\;\;0 \cdot \frac{\left(\alpha + \beta\right) - 2 \cdot 1}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r406152 = alpha;
double r406153 = beta;
double r406154 = r406152 + r406153;
double r406155 = r406153 * r406152;
double r406156 = r406154 + r406155;
double r406157 = 1.0;
double r406158 = r406156 + r406157;
double r406159 = 2.0;
double r406160 = r406159 * r406157;
double r406161 = r406154 + r406160;
double r406162 = r406158 / r406161;
double r406163 = r406162 / r406161;
double r406164 = r406161 + r406157;
double r406165 = r406163 / r406164;
return r406165;
}
double f(double alpha, double beta) {
double r406166 = beta;
double r406167 = 9.72193149300398e+170;
bool r406168 = r406166 <= r406167;
double r406169 = alpha;
double r406170 = r406169 + r406166;
double r406171 = r406166 * r406169;
double r406172 = r406170 + r406171;
double r406173 = 1.0;
double r406174 = r406172 + r406173;
double r406175 = 2.0;
double r406176 = r406175 * r406173;
double r406177 = r406170 + r406176;
double r406178 = r406174 / r406177;
double r406179 = r406178 / r406177;
double r406180 = sqrt(r406179);
double r406181 = fma(r406175, r406173, r406173);
double r406182 = r406170 + r406181;
double r406183 = r406182 / r406180;
double r406184 = r406180 / r406183;
double r406185 = 0.0;
double r406186 = r406170 - r406176;
double r406187 = r406177 + r406173;
double r406188 = r406186 / r406187;
double r406189 = r406185 * r406188;
double r406190 = r406168 ? r406184 : r406189;
return r406190;
}



Bits error versus alpha



Bits error versus beta
if beta < 9.72193149300398e+170Initial program 1.3
rmApplied add-sqr-sqrt1.4
Applied associate-/l*1.4
Simplified1.4
if 9.72193149300398e+170 < beta Initial program 16.5
rmApplied *-un-lft-identity16.5
Applied flip-+17.8
Applied associate-/r/17.8
Applied times-frac17.8
Simplified16.5
Taylor expanded around inf 7.0
Final simplification2.2
herbie shell --seed 2020001 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1)))