\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 6.203807759670183 \cdot 10^{+18}:\\
\;\;\;\;\frac{\beta \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) - \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)} - 1.0 \cdot 1.0\right) \cdot \left(2.0 + \left(\beta + \alpha\right)\right)}{\left(\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) \cdot \left(2.0 + \left(\beta + \alpha\right)\right)\right) \cdot 2.0}\\
\mathbf{elif}\;\alpha \le 3.102091968712784 \cdot 10^{+51}:\\
\;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{\frac{8.0}{\alpha \cdot \alpha}}{\alpha} + \frac{2.0}{\alpha}\right)\right)}{2.0}\\
\mathbf{elif}\;\alpha \le 7.950393235852575 \cdot 10^{+108}:\\
\;\;\;\;\frac{\beta \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) - \frac{\frac{{\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)}\right)}^{3} \cdot {\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)}\right)}^{3} - {\left(1.0 \cdot 1.0\right)}^{3} \cdot {\left(1.0 \cdot 1.0\right)}^{3}}{{\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)}\right)}^{3} + {\left(1.0 \cdot 1.0\right)}^{3}}}{\left(\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)}\right) \cdot \left(1.0 \cdot 1.0\right) + \left(1.0 \cdot 1.0\right) \cdot \left(1.0 \cdot 1.0\right)\right) + \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)}\right) \cdot \left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} \cdot \frac{\alpha}{2.0 + \left(\beta + \alpha\right)}\right)} \cdot \left(2.0 + \left(\beta + \alpha\right)\right)}{\left(\left(\frac{\alpha}{2.0 + \left(\beta + \alpha\right)} + 1.0\right) \cdot \left(2.0 + \left(\beta + \alpha\right)\right)\right) \cdot 2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{\frac{8.0}{\alpha \cdot \alpha}}{\alpha} + \frac{2.0}{\alpha}\right)\right)}{2.0}\\
\end{array}double f(double alpha, double beta) {
double r16245662 = beta;
double r16245663 = alpha;
double r16245664 = r16245662 - r16245663;
double r16245665 = r16245663 + r16245662;
double r16245666 = 2.0;
double r16245667 = r16245665 + r16245666;
double r16245668 = r16245664 / r16245667;
double r16245669 = 1.0;
double r16245670 = r16245668 + r16245669;
double r16245671 = r16245670 / r16245666;
return r16245671;
}
double f(double alpha, double beta) {
double r16245672 = alpha;
double r16245673 = 6.203807759670183e+18;
bool r16245674 = r16245672 <= r16245673;
double r16245675 = beta;
double r16245676 = 2.0;
double r16245677 = r16245675 + r16245672;
double r16245678 = r16245676 + r16245677;
double r16245679 = r16245672 / r16245678;
double r16245680 = 1.0;
double r16245681 = r16245679 + r16245680;
double r16245682 = r16245675 * r16245681;
double r16245683 = r16245679 * r16245679;
double r16245684 = r16245680 * r16245680;
double r16245685 = r16245683 - r16245684;
double r16245686 = r16245685 * r16245678;
double r16245687 = r16245682 - r16245686;
double r16245688 = r16245681 * r16245678;
double r16245689 = r16245688 * r16245676;
double r16245690 = r16245687 / r16245689;
double r16245691 = 3.102091968712784e+51;
bool r16245692 = r16245672 <= r16245691;
double r16245693 = r16245675 / r16245678;
double r16245694 = 4.0;
double r16245695 = r16245672 * r16245672;
double r16245696 = r16245694 / r16245695;
double r16245697 = 8.0;
double r16245698 = r16245697 / r16245695;
double r16245699 = r16245698 / r16245672;
double r16245700 = r16245676 / r16245672;
double r16245701 = r16245699 + r16245700;
double r16245702 = r16245696 - r16245701;
double r16245703 = r16245693 - r16245702;
double r16245704 = r16245703 / r16245676;
double r16245705 = 7.950393235852575e+108;
bool r16245706 = r16245672 <= r16245705;
double r16245707 = 3.0;
double r16245708 = pow(r16245683, r16245707);
double r16245709 = r16245708 * r16245708;
double r16245710 = pow(r16245684, r16245707);
double r16245711 = r16245710 * r16245710;
double r16245712 = r16245709 - r16245711;
double r16245713 = r16245708 + r16245710;
double r16245714 = r16245712 / r16245713;
double r16245715 = r16245683 * r16245684;
double r16245716 = r16245684 * r16245684;
double r16245717 = r16245715 + r16245716;
double r16245718 = r16245683 * r16245683;
double r16245719 = r16245717 + r16245718;
double r16245720 = r16245714 / r16245719;
double r16245721 = r16245720 * r16245678;
double r16245722 = r16245682 - r16245721;
double r16245723 = r16245722 / r16245689;
double r16245724 = r16245706 ? r16245723 : r16245704;
double r16245725 = r16245692 ? r16245704 : r16245724;
double r16245726 = r16245674 ? r16245690 : r16245725;
return r16245726;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 6.203807759670183e+18Initial program 0.6
rmApplied div-sub0.6
Applied associate-+l-0.6
rmApplied flip--0.6
Applied frac-sub0.6
Applied associate-/l/0.6
if 6.203807759670183e+18 < alpha < 3.102091968712784e+51 or 7.950393235852575e+108 < alpha Initial program 51.7
rmApplied div-sub51.7
Applied associate-+l-49.9
Taylor expanded around -inf 18.0
Simplified18.0
if 3.102091968712784e+51 < alpha < 7.950393235852575e+108Initial program 42.6
rmApplied div-sub42.5
Applied associate-+l-41.5
rmApplied flip--41.5
Applied frac-sub41.5
Applied associate-/l/41.5
rmApplied flip3--41.5
rmApplied flip--41.5
Final simplification7.6
herbie shell --seed 2019120 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))