\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 6769387663364106240:\\
\;\;\;\;\frac{e^{\log \left(\mathsf{fma}\left(\frac{\sqrt{1}}{\left(\alpha + \beta\right) + 2}, \frac{\sqrt{1}}{\frac{1}{\beta}}, -\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)\right)}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\sqrt{1}}{\left(\alpha + \beta\right) + 2}, \frac{\sqrt{1}}{\frac{1}{\beta}}, -\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 r109105 = beta;
double r109106 = alpha;
double r109107 = r109105 - r109106;
double r109108 = r109106 + r109105;
double r109109 = 2.0;
double r109110 = r109108 + r109109;
double r109111 = r109107 / r109110;
double r109112 = 1.0;
double r109113 = r109111 + r109112;
double r109114 = r109113 / r109109;
return r109114;
}
double f(double alpha, double beta) {
double r109115 = alpha;
double r109116 = 6.769387663364106e+18;
bool r109117 = r109115 <= r109116;
double r109118 = 1.0;
double r109119 = sqrt(r109118);
double r109120 = beta;
double r109121 = r109115 + r109120;
double r109122 = 2.0;
double r109123 = r109121 + r109122;
double r109124 = r109119 / r109123;
double r109125 = r109118 / r109120;
double r109126 = r109119 / r109125;
double r109127 = r109115 / r109123;
double r109128 = 1.0;
double r109129 = r109127 - r109128;
double r109130 = -r109129;
double r109131 = fma(r109124, r109126, r109130);
double r109132 = log(r109131);
double r109133 = exp(r109132);
double r109134 = r109133 / r109122;
double r109135 = 4.0;
double r109136 = 2.0;
double r109137 = pow(r109115, r109136);
double r109138 = r109118 / r109137;
double r109139 = r109118 / r109115;
double r109140 = 8.0;
double r109141 = 3.0;
double r109142 = pow(r109115, r109141);
double r109143 = r109118 / r109142;
double r109144 = r109140 * r109143;
double r109145 = fma(r109122, r109139, r109144);
double r109146 = -r109145;
double r109147 = fma(r109135, r109138, r109146);
double r109148 = -r109147;
double r109149 = fma(r109124, r109126, r109148);
double r109150 = r109149 / r109122;
double r109151 = r109117 ? r109134 : r109150;
return r109151;
}



Bits error versus alpha



Bits error versus beta
if alpha < 6.769387663364106e+18Initial program 0.7
rmApplied div-sub0.7
Applied associate-+l-0.7
rmApplied clear-num0.7
rmApplied div-inv0.7
Applied add-sqr-sqrt0.7
Applied times-frac0.7
Applied fma-neg0.7
rmApplied add-exp-log0.7
if 6.769387663364106e+18 < alpha Initial program 51.0
rmApplied div-sub50.9
Applied associate-+l-49.3
rmApplied clear-num49.4
rmApplied div-inv49.4
Applied add-sqr-sqrt49.4
Applied times-frac49.3
Applied fma-neg49.3
Taylor expanded around inf 17.6
Simplified17.6
Final simplification6.0
herbie shell --seed 2019352 +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))