\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \le -0.9999439615156119:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\left(\frac{4.0}{\alpha \cdot \alpha} - \frac{2.0}{\alpha}\right) - \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right)}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1.0 \cdot \left(1.0 \cdot 1.0\right) + \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \cdot \left(\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0}\right)}{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + \left(1.0 \cdot 1.0 - \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \cdot 1.0\right)}}{2.0}\\
\end{array}double f(double alpha, double beta) {
double r32863290 = beta;
double r32863291 = alpha;
double r32863292 = r32863290 - r32863291;
double r32863293 = r32863291 + r32863290;
double r32863294 = 2.0;
double r32863295 = r32863293 + r32863294;
double r32863296 = r32863292 / r32863295;
double r32863297 = 1.0;
double r32863298 = r32863296 + r32863297;
double r32863299 = r32863298 / r32863294;
return r32863299;
}
double f(double alpha, double beta) {
double r32863300 = beta;
double r32863301 = alpha;
double r32863302 = r32863300 - r32863301;
double r32863303 = r32863301 + r32863300;
double r32863304 = 2.0;
double r32863305 = r32863303 + r32863304;
double r32863306 = r32863302 / r32863305;
double r32863307 = -0.9999439615156119;
bool r32863308 = r32863306 <= r32863307;
double r32863309 = r32863300 / r32863305;
double r32863310 = 4.0;
double r32863311 = r32863301 * r32863301;
double r32863312 = r32863310 / r32863311;
double r32863313 = r32863304 / r32863301;
double r32863314 = r32863312 - r32863313;
double r32863315 = 8.0;
double r32863316 = r32863315 / r32863301;
double r32863317 = r32863316 / r32863311;
double r32863318 = r32863314 - r32863317;
double r32863319 = r32863309 - r32863318;
double r32863320 = r32863319 / r32863304;
double r32863321 = 1.0;
double r32863322 = r32863321 * r32863321;
double r32863323 = r32863321 * r32863322;
double r32863324 = r32863306 * r32863306;
double r32863325 = r32863306 * r32863324;
double r32863326 = r32863323 + r32863325;
double r32863327 = r32863306 * r32863321;
double r32863328 = r32863322 - r32863327;
double r32863329 = r32863324 + r32863328;
double r32863330 = r32863326 / r32863329;
double r32863331 = r32863330 / r32863304;
double r32863332 = r32863308 ? r32863320 : r32863331;
return r32863332;
}



Bits error versus alpha



Bits error versus beta
Results
if (/ (- beta alpha) (+ (+ alpha beta) 2.0)) < -0.9999439615156119Initial program 59.3
rmApplied div-sub59.2
Applied associate-+l-57.4
Taylor expanded around -inf 11.5
Simplified11.5
if -0.9999439615156119 < (/ (- beta alpha) (+ (+ alpha beta) 2.0)) Initial program 0.0
rmApplied flip3-+0.1
Simplified0.1
Final simplification3.3
herbie shell --seed 2019128
(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))