\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}\;\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} \le 0.08338550795749055666306048806291073560715:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\frac{\beta + \left(\alpha + \mathsf{fma}\left(1, 2, 1\right)\right)}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log \left({\left(e^{\frac{1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}\right)}^{\left(\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}\right)}\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r71654 = alpha;
double r71655 = beta;
double r71656 = r71654 + r71655;
double r71657 = r71655 * r71654;
double r71658 = r71656 + r71657;
double r71659 = 1.0;
double r71660 = r71658 + r71659;
double r71661 = 2.0;
double r71662 = r71661 * r71659;
double r71663 = r71656 + r71662;
double r71664 = r71660 / r71663;
double r71665 = r71664 / r71663;
double r71666 = r71663 + r71659;
double r71667 = r71665 / r71666;
return r71667;
}
double f(double alpha, double beta) {
double r71668 = alpha;
double r71669 = beta;
double r71670 = r71668 + r71669;
double r71671 = r71669 * r71668;
double r71672 = r71670 + r71671;
double r71673 = 1.0;
double r71674 = r71672 + r71673;
double r71675 = 2.0;
double r71676 = r71675 * r71673;
double r71677 = r71670 + r71676;
double r71678 = r71674 / r71677;
double r71679 = r71678 / r71677;
double r71680 = r71677 + r71673;
double r71681 = r71679 / r71680;
double r71682 = 0.08338550795749056;
bool r71683 = r71681 <= r71682;
double r71684 = sqrt(r71674);
double r71685 = sqrt(r71677);
double r71686 = r71684 / r71685;
double r71687 = r71686 / r71685;
double r71688 = fma(r71673, r71675, r71673);
double r71689 = r71668 + r71688;
double r71690 = r71669 + r71689;
double r71691 = r71690 / r71684;
double r71692 = fma(r71673, r71675, r71670);
double r71693 = r71691 * r71692;
double r71694 = r71687 / r71693;
double r71695 = 1.0;
double r71696 = r71695 / r71692;
double r71697 = exp(r71696);
double r71698 = r71674 / r71692;
double r71699 = pow(r71697, r71698);
double r71700 = log(r71699);
double r71701 = r71700 / r71680;
double r71702 = r71683 ? r71694 : r71701;
return r71702;
}



Bits error versus alpha



Bits error versus beta
if (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)) < 0.08338550795749056Initial program 0.1
rmApplied add-sqr-sqrt0.6
Applied add-sqr-sqrt1.0
Applied add-sqr-sqrt0.9
Applied times-frac0.9
Applied times-frac0.7
Applied associate-/l*0.7
Simplified0.2
if 0.08338550795749056 < (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)) Initial program 60.3
rmApplied add-sqr-sqrt60.3
Applied add-sqr-sqrt60.3
Applied *-un-lft-identity60.3
Applied times-frac60.3
Applied times-frac60.3
Simplified60.3
Simplified60.3
rmApplied add-log-exp60.3
Simplified21.7
Final simplification1.5
herbie shell --seed 2019353 +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)))