\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 14037838382120007680:\\
\;\;\;\;\frac{\sqrt[3]{\frac{\beta}{2 + \left(\beta + \alpha\right)}} \cdot \left(\sqrt[3]{\frac{\beta}{2 + \left(\beta + \alpha\right)}} \cdot \left(\log \left(\sqrt{e^{\sqrt[3]{\frac{\beta}{\alpha + \left(\beta + 2\right)}}}}\right) + \log \left(\sqrt{e^{\sqrt[3]{\frac{\beta}{\alpha + \left(\beta + 2\right)}}}}\right)\right)\right) - \left(\frac{\alpha}{\alpha + \left(\beta + 2\right)} - 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{2 + \left(\beta + \alpha\right)} - \left(\left(\frac{4}{\alpha \cdot \alpha} - \frac{2}{\alpha}\right) - \frac{8}{{\alpha}^{3}}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r78947 = beta;
double r78948 = alpha;
double r78949 = r78947 - r78948;
double r78950 = r78948 + r78947;
double r78951 = 2.0;
double r78952 = r78950 + r78951;
double r78953 = r78949 / r78952;
double r78954 = 1.0;
double r78955 = r78953 + r78954;
double r78956 = r78955 / r78951;
return r78956;
}
double f(double alpha, double beta) {
double r78957 = alpha;
double r78958 = 1.4037838382120008e+19;
bool r78959 = r78957 <= r78958;
double r78960 = beta;
double r78961 = 2.0;
double r78962 = r78960 + r78957;
double r78963 = r78961 + r78962;
double r78964 = r78960 / r78963;
double r78965 = cbrt(r78964);
double r78966 = r78960 + r78961;
double r78967 = r78957 + r78966;
double r78968 = r78960 / r78967;
double r78969 = cbrt(r78968);
double r78970 = exp(r78969);
double r78971 = sqrt(r78970);
double r78972 = log(r78971);
double r78973 = r78972 + r78972;
double r78974 = r78965 * r78973;
double r78975 = r78965 * r78974;
double r78976 = r78957 / r78967;
double r78977 = 1.0;
double r78978 = r78976 - r78977;
double r78979 = r78975 - r78978;
double r78980 = r78979 / r78961;
double r78981 = 4.0;
double r78982 = r78957 * r78957;
double r78983 = r78981 / r78982;
double r78984 = r78961 / r78957;
double r78985 = r78983 - r78984;
double r78986 = 8.0;
double r78987 = 3.0;
double r78988 = pow(r78957, r78987);
double r78989 = r78986 / r78988;
double r78990 = r78985 - r78989;
double r78991 = r78964 - r78990;
double r78992 = r78991 / r78961;
double r78993 = r78959 ? r78980 : r78992;
return r78993;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.4037838382120008e+19Initial program 0.6
rmApplied div-sub0.6
Applied associate-+l-0.6
Simplified0.6
rmApplied add-cube-cbrt0.6
Simplified0.6
Simplified0.6
rmApplied add-log-exp0.6
Simplified0.6
rmApplied add-sqr-sqrt0.6
Applied log-prod0.6
Simplified0.6
Simplified0.6
if 1.4037838382120008e+19 < alpha Initial program 50.6
rmApplied div-sub50.6
Applied associate-+l-49.1
Simplified49.1
Taylor expanded around inf 17.9
Simplified17.9
Final simplification6.1
herbie shell --seed 2019195 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))