\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\frac{\frac{\frac{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\right) + 1.0}{2 + \left(\alpha + \beta\right)}}{2 + \left(\alpha + \beta\right)}}{\left(1.0 + \left(\alpha + \beta\right)\right) + 2}double f(double alpha, double beta) {
double r5019341 = alpha;
double r5019342 = beta;
double r5019343 = r5019341 + r5019342;
double r5019344 = r5019342 * r5019341;
double r5019345 = r5019343 + r5019344;
double r5019346 = 1.0;
double r5019347 = r5019345 + r5019346;
double r5019348 = 2.0;
double r5019349 = 1.0;
double r5019350 = r5019348 * r5019349;
double r5019351 = r5019343 + r5019350;
double r5019352 = r5019347 / r5019351;
double r5019353 = r5019352 / r5019351;
double r5019354 = r5019351 + r5019346;
double r5019355 = r5019353 / r5019354;
return r5019355;
}
double f(double alpha, double beta) {
double r5019356 = beta;
double r5019357 = alpha;
double r5019358 = r5019356 * r5019357;
double r5019359 = r5019357 + r5019356;
double r5019360 = r5019358 + r5019359;
double r5019361 = 1.0;
double r5019362 = r5019360 + r5019361;
double r5019363 = 2.0;
double r5019364 = r5019363 + r5019359;
double r5019365 = r5019362 / r5019364;
double r5019366 = r5019365 / r5019364;
double r5019367 = r5019361 + r5019359;
double r5019368 = r5019367 + r5019363;
double r5019369 = r5019366 / r5019368;
return r5019369;
}



Bits error versus alpha



Bits error versus beta
Results
Initial program 3.3
Simplified3.3
Final simplification3.3
herbie shell --seed 2019133
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))