\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1290203807327944437661696:\\
\;\;\;\;\frac{\log \left(e^{\frac{\beta}{\left(\alpha + \beta\right) + 2}}\right) - \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\sqrt[3]{\beta} \cdot \sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2}}, \frac{\sqrt[3]{\beta}}{\sqrt[3]{\left(\alpha + \beta\right) + 2}}, -\mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r154107 = beta;
double r154108 = alpha;
double r154109 = r154107 - r154108;
double r154110 = r154108 + r154107;
double r154111 = 2.0;
double r154112 = r154110 + r154111;
double r154113 = r154109 / r154112;
double r154114 = 1.0;
double r154115 = r154113 + r154114;
double r154116 = r154115 / r154111;
return r154116;
}
double f(double alpha, double beta) {
double r154117 = alpha;
double r154118 = 1.2902038073279444e+24;
bool r154119 = r154117 <= r154118;
double r154120 = beta;
double r154121 = r154117 + r154120;
double r154122 = 2.0;
double r154123 = r154121 + r154122;
double r154124 = r154120 / r154123;
double r154125 = exp(r154124);
double r154126 = log(r154125);
double r154127 = r154117 / r154123;
double r154128 = 1.0;
double r154129 = r154127 - r154128;
double r154130 = r154126 - r154129;
double r154131 = r154130 / r154122;
double r154132 = cbrt(r154120);
double r154133 = r154132 * r154132;
double r154134 = cbrt(r154123);
double r154135 = r154134 * r154134;
double r154136 = r154133 / r154135;
double r154137 = r154132 / r154134;
double r154138 = 4.0;
double r154139 = 1.0;
double r154140 = 2.0;
double r154141 = pow(r154117, r154140);
double r154142 = r154139 / r154141;
double r154143 = r154139 / r154117;
double r154144 = 8.0;
double r154145 = 3.0;
double r154146 = pow(r154117, r154145);
double r154147 = r154139 / r154146;
double r154148 = r154144 * r154147;
double r154149 = fma(r154122, r154143, r154148);
double r154150 = -r154149;
double r154151 = fma(r154138, r154142, r154150);
double r154152 = -r154151;
double r154153 = fma(r154136, r154137, r154152);
double r154154 = r154153 / r154122;
double r154155 = r154119 ? r154131 : r154154;
return r154155;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.2902038073279444e+24Initial program 0.7
rmApplied div-sub0.7
Applied associate-+l-0.7
rmApplied add-log-exp0.7
if 1.2902038073279444e+24 < alpha Initial program 50.1
rmApplied div-sub50.1
Applied associate-+l-48.6
rmApplied add-cube-cbrt48.7
Applied add-cube-cbrt48.6
Applied times-frac48.6
Applied fma-neg48.6
Taylor expanded around inf 17.8
Simplified17.8
Final simplification5.9
herbie shell --seed 2020001 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))