\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 6.866680421773357 \cdot 10^{+32}:\\
\;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \mathsf{fma}\left(\frac{1}{\sqrt[3]{2.0 + \left(\beta + \alpha\right)} \cdot \sqrt[3]{2.0 + \left(\beta + \alpha\right)}}, \frac{\alpha}{\sqrt[3]{2.0 + \left(\beta + \alpha\right)}}, -1.0\right)}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{2.0}{\alpha} + \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right)\right)}{2.0}\\
\end{array}double f(double alpha, double beta) {
double r3416862 = beta;
double r3416863 = alpha;
double r3416864 = r3416862 - r3416863;
double r3416865 = r3416863 + r3416862;
double r3416866 = 2.0;
double r3416867 = r3416865 + r3416866;
double r3416868 = r3416864 / r3416867;
double r3416869 = 1.0;
double r3416870 = r3416868 + r3416869;
double r3416871 = r3416870 / r3416866;
return r3416871;
}
double f(double alpha, double beta) {
double r3416872 = alpha;
double r3416873 = 6.866680421773357e+32;
bool r3416874 = r3416872 <= r3416873;
double r3416875 = beta;
double r3416876 = 2.0;
double r3416877 = r3416875 + r3416872;
double r3416878 = r3416876 + r3416877;
double r3416879 = r3416875 / r3416878;
double r3416880 = 1.0;
double r3416881 = cbrt(r3416878);
double r3416882 = r3416881 * r3416881;
double r3416883 = r3416880 / r3416882;
double r3416884 = r3416872 / r3416881;
double r3416885 = 1.0;
double r3416886 = -r3416885;
double r3416887 = fma(r3416883, r3416884, r3416886);
double r3416888 = r3416879 - r3416887;
double r3416889 = r3416888 / r3416876;
double r3416890 = 4.0;
double r3416891 = r3416872 * r3416872;
double r3416892 = r3416890 / r3416891;
double r3416893 = r3416876 / r3416872;
double r3416894 = 8.0;
double r3416895 = r3416894 / r3416872;
double r3416896 = r3416895 / r3416891;
double r3416897 = r3416893 + r3416896;
double r3416898 = r3416892 - r3416897;
double r3416899 = r3416879 - r3416898;
double r3416900 = r3416899 / r3416876;
double r3416901 = r3416874 ? r3416889 : r3416900;
return r3416901;
}



Bits error versus alpha



Bits error versus beta
if alpha < 6.866680421773357e+32Initial program 1.6
rmApplied div-sub1.6
Applied associate-+l-1.6
rmApplied add-cube-cbrt1.6
Applied *-un-lft-identity1.6
Applied times-frac1.6
Applied fma-neg1.6
if 6.866680421773357e+32 < alpha Initial program 50.6
rmApplied div-sub50.6
Applied associate-+l-49.0
Taylor expanded around inf 18.4
Simplified18.4
Final simplification6.5
herbie shell --seed 2019168 +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))