double f(double alpha, double beta) {
double r17638300 = beta;
double r17638301 = alpha;
double r17638302 = r17638300 - r17638301;
double r17638303 = r17638301 + r17638300;
double r17638304 = 2.0;
double r17638305 = r17638303 + r17638304;
double r17638306 = r17638302 / r17638305;
double r17638307 = 1.0;
double r17638308 = r17638306 + r17638307;
double r17638309 = r17638308 / r17638304;
return r17638309;
}
double f(double alpha, double beta) {
double r17638310 = alpha;
double r17638311 = 1.2004402010900637e+17;
bool r17638312 = r17638310 <= r17638311;
double r17638313 = beta;
double r17638314 = r17638313 + r17638310;
double r17638315 = 2.0;
double r17638316 = r17638314 + r17638315;
double r17638317 = r17638313 / r17638316;
double r17638318 = r17638317 * r17638317;
double r17638319 = r17638317 * r17638318;
double r17638320 = r17638310 / r17638316;
double r17638321 = 1.0;
double r17638322 = r17638320 - r17638321;
double r17638323 = r17638322 * r17638322;
double r17638324 = r17638323 * r17638322;
double r17638325 = r17638319 - r17638324;
double r17638326 = r17638322 * r17638317;
double r17638327 = r17638323 + r17638326;
double r17638328 = r17638318 + r17638327;
double r17638329 = log(r17638328);
double r17638330 = exp(r17638329);
double r17638331 = r17638325 / r17638330;
double r17638332 = r17638331 / r17638315;
double r17638333 = 4.0;
double r17638334 = r17638310 * r17638310;
double r17638335 = r17638333 / r17638334;
double r17638336 = r17638315 / r17638310;
double r17638337 = 8.0;
double r17638338 = r17638337 / r17638334;
double r17638339 = r17638338 / r17638310;
double r17638340 = r17638336 + r17638339;
double r17638341 = r17638335 - r17638340;
double r17638342 = r17638317 - r17638341;
double r17638343 = r17638342 / r17638315;
double r17638344 = r17638312 ? r17638332 : r17638343;
return r17638344;
}
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.2004402010900637 \cdot 10^{+17}:\\
\;\;\;\;\frac{\frac{\frac{\beta}{\left(\beta + \alpha\right) + 2.0} \cdot \left(\frac{\beta}{\left(\beta + \alpha\right) + 2.0} \cdot \frac{\beta}{\left(\beta + \alpha\right) + 2.0}\right) - \left(\left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right) \cdot \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right)\right) \cdot \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right)}{e^{\log \left(\frac{\beta}{\left(\beta + \alpha\right) + 2.0} \cdot \frac{\beta}{\left(\beta + \alpha\right) + 2.0} + \left(\left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right) \cdot \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right) + \left(\frac{\alpha}{\left(\beta + \alpha\right) + 2.0} - 1.0\right) \cdot \frac{\beta}{\left(\beta + \alpha\right) + 2.0}\right)\right)}}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\beta + \alpha\right) + 2.0} - \left(\frac{4.0}{\alpha \cdot \alpha} - \left(\frac{2.0}{\alpha} + \frac{\frac{8.0}{\alpha \cdot \alpha}}{\alpha}\right)\right)}{2.0}\\
\end{array}


Bits error versus alpha



Bits error versus beta
if alpha < 1.2004402010900637e+17Initial program 0.5
rmApplied div-sub0.5
Applied associate-+l-0.5
rmApplied add-exp-log0.5
rmApplied flip3--0.5
Applied log-div0.5
Applied exp-diff0.5
Simplified0.5
if 1.2004402010900637e+17 < alpha Initial program 50.7
rmApplied div-sub50.7
Applied associate-+l-49.1
Taylor expanded around -inf 17.7
Simplified17.7
Final simplification6.1
herbie shell --seed 2019101 +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))