\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 9.447545610483609 \cdot 10^{+144}:\\
\;\;\;\;\frac{1.0 + \left(\left(\beta + \alpha\right) + \beta \cdot \alpha\right)}{4 - \left(\beta + \alpha\right) \cdot \left(\beta + \alpha\right)} \cdot \frac{1}{\frac{1.0 + \left(2 + \left(\beta + \alpha\right)\right)}{\frac{2 - \left(\beta + \alpha\right)}{2 + \left(\beta + \alpha\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{1.0 + \left(2 + \left(\beta + \alpha\right)\right)}{\frac{\left(1 - \frac{1.0}{\alpha}\right) + \frac{1}{\alpha \cdot \alpha} \cdot 2.0}{2 + \left(\beta + \alpha\right)}}}\\
\end{array}double f(double alpha, double beta) {
double r4213503 = alpha;
double r4213504 = beta;
double r4213505 = r4213503 + r4213504;
double r4213506 = r4213504 * r4213503;
double r4213507 = r4213505 + r4213506;
double r4213508 = 1.0;
double r4213509 = r4213507 + r4213508;
double r4213510 = 2.0;
double r4213511 = 1.0;
double r4213512 = r4213510 * r4213511;
double r4213513 = r4213505 + r4213512;
double r4213514 = r4213509 / r4213513;
double r4213515 = r4213514 / r4213513;
double r4213516 = r4213513 + r4213508;
double r4213517 = r4213515 / r4213516;
return r4213517;
}
double f(double alpha, double beta) {
double r4213518 = alpha;
double r4213519 = 9.447545610483609e+144;
bool r4213520 = r4213518 <= r4213519;
double r4213521 = 1.0;
double r4213522 = beta;
double r4213523 = r4213522 + r4213518;
double r4213524 = r4213522 * r4213518;
double r4213525 = r4213523 + r4213524;
double r4213526 = r4213521 + r4213525;
double r4213527 = 4.0;
double r4213528 = r4213523 * r4213523;
double r4213529 = r4213527 - r4213528;
double r4213530 = r4213526 / r4213529;
double r4213531 = 1.0;
double r4213532 = 2.0;
double r4213533 = r4213532 + r4213523;
double r4213534 = r4213521 + r4213533;
double r4213535 = r4213532 - r4213523;
double r4213536 = r4213535 / r4213533;
double r4213537 = r4213534 / r4213536;
double r4213538 = r4213531 / r4213537;
double r4213539 = r4213530 * r4213538;
double r4213540 = r4213521 / r4213518;
double r4213541 = r4213531 - r4213540;
double r4213542 = r4213518 * r4213518;
double r4213543 = r4213531 / r4213542;
double r4213544 = 2.0;
double r4213545 = r4213543 * r4213544;
double r4213546 = r4213541 + r4213545;
double r4213547 = r4213546 / r4213533;
double r4213548 = r4213534 / r4213547;
double r4213549 = r4213531 / r4213548;
double r4213550 = r4213520 ? r4213539 : r4213549;
return r4213550;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 9.447545610483609e+144Initial program 1.0
Simplified1.0
rmApplied clear-num1.2
rmApplied *-un-lft-identity1.2
Applied *-un-lft-identity1.2
Applied distribute-lft-out1.2
Applied *-un-lft-identity1.2
Applied distribute-lft-out1.2
Applied flip-+1.5
Applied associate-/r/1.5
Applied times-frac1.5
Applied *-un-lft-identity1.5
Applied *-un-lft-identity1.5
Applied distribute-lft-out1.5
Applied times-frac1.5
Applied *-un-lft-identity1.5
Applied times-frac1.6
Simplified1.5
if 9.447545610483609e+144 < alpha Initial program 16.1
Simplified16.1
rmApplied clear-num16.9
Taylor expanded around inf 9.2
Simplified9.2
Final simplification2.9
herbie shell --seed 2019151
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))