\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 8.4856429570103299 \cdot 10^{177}:\\
\;\;\;\;\frac{\frac{\frac{1 + \left(\alpha \cdot \beta + \left(\alpha + \beta\right)\right)}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{0}{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}\\
\end{array}double f(double alpha, double beta) {
double r119402 = alpha;
double r119403 = beta;
double r119404 = r119402 + r119403;
double r119405 = r119403 * r119402;
double r119406 = r119404 + r119405;
double r119407 = 1.0;
double r119408 = r119406 + r119407;
double r119409 = 2.0;
double r119410 = r119409 * r119407;
double r119411 = r119404 + r119410;
double r119412 = r119408 / r119411;
double r119413 = r119412 / r119411;
double r119414 = r119411 + r119407;
double r119415 = r119413 / r119414;
return r119415;
}
double f(double alpha, double beta) {
double r119416 = beta;
double r119417 = 8.48564295701033e+177;
bool r119418 = r119416 <= r119417;
double r119419 = 1.0;
double r119420 = alpha;
double r119421 = r119420 * r119416;
double r119422 = r119420 + r119416;
double r119423 = r119421 + r119422;
double r119424 = r119419 + r119423;
double r119425 = 2.0;
double r119426 = fma(r119419, r119425, r119422);
double r119427 = r119424 / r119426;
double r119428 = r119427 / r119426;
double r119429 = fma(r119425, r119419, r119419);
double r119430 = r119422 + r119429;
double r119431 = r119428 / r119430;
double r119432 = 0.0;
double r119433 = r119432 / r119430;
double r119434 = r119418 ? r119431 : r119433;
return r119434;
}



Bits error versus alpha



Bits error versus beta
if beta < 8.48564295701033e+177Initial program 1.6
Simplified1.6
rmApplied fma-udef1.6
if 8.48564295701033e+177 < beta Initial program 16.3
Simplified16.3
Taylor expanded around inf 6.4
Final simplification2.3
herbie shell --seed 2020047 +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)))