\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{1}{2 + \left(\alpha + \beta\right)} \cdot \frac{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\right) + 1.0}{2 + \left(\alpha + \beta\right)}}{1.0 + \left(2 + \left(\alpha + \beta\right)\right)}double f(double alpha, double beta) {
double r5565206 = alpha;
double r5565207 = beta;
double r5565208 = r5565206 + r5565207;
double r5565209 = r5565207 * r5565206;
double r5565210 = r5565208 + r5565209;
double r5565211 = 1.0;
double r5565212 = r5565210 + r5565211;
double r5565213 = 2.0;
double r5565214 = 1.0;
double r5565215 = r5565213 * r5565214;
double r5565216 = r5565208 + r5565215;
double r5565217 = r5565212 / r5565216;
double r5565218 = r5565217 / r5565216;
double r5565219 = r5565216 + r5565211;
double r5565220 = r5565218 / r5565219;
return r5565220;
}
double f(double alpha, double beta) {
double r5565221 = 1.0;
double r5565222 = 2.0;
double r5565223 = alpha;
double r5565224 = beta;
double r5565225 = r5565223 + r5565224;
double r5565226 = r5565222 + r5565225;
double r5565227 = r5565221 / r5565226;
double r5565228 = r5565224 * r5565223;
double r5565229 = r5565228 + r5565225;
double r5565230 = 1.0;
double r5565231 = r5565229 + r5565230;
double r5565232 = r5565231 / r5565226;
double r5565233 = r5565227 * r5565232;
double r5565234 = r5565230 + r5565226;
double r5565235 = r5565233 / r5565234;
return r5565235;
}



Bits error versus alpha



Bits error versus beta
Results
Initial program 3.8
Simplified3.8
rmApplied div-inv3.8
Final simplification3.8
herbie shell --seed 2019165
(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)))