\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 6.27941689034040465862877713210133236913 \cdot 10^{161}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{1}}{\frac{\left(\alpha + \beta\right) + 2 \cdot 1}{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\left(0.25 \cdot \left(\alpha + \beta\right) + 0.5\right) \cdot \frac{\frac{1}{\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 r98584 = alpha;
double r98585 = beta;
double r98586 = r98584 + r98585;
double r98587 = r98585 * r98584;
double r98588 = r98586 + r98587;
double r98589 = 1.0;
double r98590 = r98588 + r98589;
double r98591 = 2.0;
double r98592 = r98591 * r98589;
double r98593 = r98586 + r98592;
double r98594 = r98590 / r98593;
double r98595 = r98594 / r98593;
double r98596 = r98593 + r98589;
double r98597 = r98595 / r98596;
return r98597;
}
double f(double alpha, double beta) {
double r98598 = beta;
double r98599 = 6.279416890340405e+161;
bool r98600 = r98598 <= r98599;
double r98601 = alpha;
double r98602 = r98601 + r98598;
double r98603 = r98598 * r98601;
double r98604 = r98602 + r98603;
double r98605 = 1.0;
double r98606 = r98604 + r98605;
double r98607 = sqrt(r98606);
double r98608 = 1.0;
double r98609 = r98607 / r98608;
double r98610 = 2.0;
double r98611 = r98610 * r98605;
double r98612 = r98602 + r98611;
double r98613 = r98607 / r98612;
double r98614 = r98612 / r98613;
double r98615 = r98609 / r98614;
double r98616 = r98612 + r98605;
double r98617 = r98615 / r98616;
double r98618 = 0.25;
double r98619 = r98618 * r98602;
double r98620 = 0.5;
double r98621 = r98619 + r98620;
double r98622 = r98608 / r98612;
double r98623 = r98622 / r98616;
double r98624 = r98621 * r98623;
double r98625 = r98600 ? r98617 : r98624;
return r98625;
}



Bits error versus alpha



Bits error versus beta
Results
if beta < 6.279416890340405e+161Initial program 1.4
rmApplied *-un-lft-identity1.4
Applied add-sqr-sqrt1.5
Applied times-frac1.5
Applied associate-/l*1.5
if 6.279416890340405e+161 < beta Initial program 15.8
rmApplied *-un-lft-identity15.8
Applied div-inv15.8
Applied times-frac17.1
Simplified17.1
Taylor expanded around 0 8.0
Simplified8.0
Final simplification2.5
herbie shell --seed 2019353
(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)))