\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 408422.37095922505:\\
\;\;\;\;\frac{e^{\log \left(\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \mathsf{fma}\left(\frac{1}{\sqrt{2.0 + \left(\beta + \alpha\right)}}, \frac{\alpha}{\sqrt{2.0 + \left(\beta + \alpha\right)}}, -1.0\right)\right)}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{2.0 + \left(\beta + \alpha\right)} - \left(\left(\frac{4.0}{\alpha \cdot \alpha} - \frac{2.0}{\alpha}\right) - \frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right)}{2.0}\\
\end{array}double f(double alpha, double beta) {
double r2143855 = beta;
double r2143856 = alpha;
double r2143857 = r2143855 - r2143856;
double r2143858 = r2143856 + r2143855;
double r2143859 = 2.0;
double r2143860 = r2143858 + r2143859;
double r2143861 = r2143857 / r2143860;
double r2143862 = 1.0;
double r2143863 = r2143861 + r2143862;
double r2143864 = r2143863 / r2143859;
return r2143864;
}
double f(double alpha, double beta) {
double r2143865 = alpha;
double r2143866 = 408422.37095922505;
bool r2143867 = r2143865 <= r2143866;
double r2143868 = beta;
double r2143869 = 2.0;
double r2143870 = r2143868 + r2143865;
double r2143871 = r2143869 + r2143870;
double r2143872 = r2143868 / r2143871;
double r2143873 = 1.0;
double r2143874 = sqrt(r2143871);
double r2143875 = r2143873 / r2143874;
double r2143876 = r2143865 / r2143874;
double r2143877 = 1.0;
double r2143878 = -r2143877;
double r2143879 = fma(r2143875, r2143876, r2143878);
double r2143880 = r2143872 - r2143879;
double r2143881 = log(r2143880);
double r2143882 = exp(r2143881);
double r2143883 = r2143882 / r2143869;
double r2143884 = 4.0;
double r2143885 = r2143865 * r2143865;
double r2143886 = r2143884 / r2143885;
double r2143887 = r2143869 / r2143865;
double r2143888 = r2143886 - r2143887;
double r2143889 = 8.0;
double r2143890 = r2143865 * r2143885;
double r2143891 = r2143889 / r2143890;
double r2143892 = r2143888 - r2143891;
double r2143893 = r2143872 - r2143892;
double r2143894 = r2143893 / r2143869;
double r2143895 = r2143867 ? r2143883 : r2143894;
return r2143895;
}



Bits error versus alpha



Bits error versus beta
if alpha < 408422.37095922505Initial program 0.0
rmApplied div-sub0.0
Applied associate-+l-0.0
rmApplied add-exp-log0.0
rmApplied add-sqr-sqrt0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Applied fma-neg0.0
if 408422.37095922505 < alpha Initial program 49.9
rmApplied div-sub49.9
Applied associate-+l-48.4
Taylor expanded around -inf 17.6
Simplified17.6
Final simplification5.8
herbie shell --seed 2019134 +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))