\left(\left(333.75 \cdot \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b\right)\right) + \left(a \cdot a\right) \cdot \left(\left(\left(\left(11 \cdot \left(a \cdot a\right)\right) \cdot \left(b \cdot b\right) - \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b\right)\right) - 121 \cdot \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right)\right) - 2\right)\right) + 5.5 \cdot \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right)\right)\right) + \frac{a}{2 \cdot b}\left(\frac{a}{2 \cdot b} + {b}^{6} \cdot \left(\left(b \cdot b\right) \cdot 5.5 + 333.75\right)\right) + \left(\left(\left(11 \cdot \left(a \cdot a\right)\right) \cdot \left(b \cdot b\right) - \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right)\right) \cdot \left(b \cdot b + 121\right) + 2\right)\right) \cdot a\right) \cdot adouble code(double b, double a) {
return ((double) (((double) (((double) (((double) (333.75 * ((double) (((double) (((double) (b * b)) * ((double) (b * b)))) * ((double) (b * b)))))) + ((double) (((double) (a * a)) * ((double) (((double) (((double) (((double) (((double) (11.0 * ((double) (a * a)))) * ((double) (b * b)))) - ((double) (((double) (((double) (b * b)) * ((double) (b * b)))) * ((double) (b * b)))))) - ((double) (121.0 * ((double) (((double) (b * b)) * ((double) (b * b)))))))) - 2.0)))))) + ((double) (5.5 * ((double) (((double) (((double) (b * b)) * ((double) (b * b)))) * ((double) (((double) (b * b)) * ((double) (b * b)))))))))) + ((double) (a / ((double) (2.0 * b))))));
}
double code(double b, double a) {
return ((double) (((double) (((double) (a / ((double) (2.0 * b)))) + ((double) (((double) pow(b, 6.0)) * ((double) (((double) (((double) (b * b)) * 5.5)) + 333.75)))))) + ((double) (((double) (((double) (((double) (((double) (11.0 * ((double) (a * a)))) * ((double) (b * b)))) - ((double) (((double) (((double) (((double) (b * b)) * ((double) (b * b)))) * ((double) (((double) (b * b)) + 121.0)))) + 2.0)))) * a)) * a))));
}



Bits error versus b



Bits error versus a
Results
Initial program 0.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2020153
(FPCore (b a)
:name "(+ (+ (+ (* 333.75 (* (* (* b b) (* b b)) (* b b))) (* (* a a) (- (- (- (* (* 11 (* a a)) (* b b)) (* (* (* b b) (* b b)) (* b b))) (* 121 (* (* b b) (* b b)))) 2))) (* 5.5 (* (* (* b b) (* b b)) (* (* b b) (* b b))))) (/ a (* 2 b)))"
:precision binary64
(+ (+ (+ (* 333.75 (* (* (* b b) (* b b)) (* b b))) (* (* a a) (- (- (- (* (* 11.0 (* a a)) (* b b)) (* (* (* b b) (* b b)) (* b b))) (* 121.0 (* (* b b) (* b b)))) 2.0))) (* 5.5 (* (* (* b b) (* b b)) (* (* b b) (* b b))))) (/ a (* 2.0 b))))