\sqrt{\left(\left({\left(\left(e^{1} \cdot x\right) \cdot 8\right)}^{2} + {\left(\frac{e^{1} \cdot x}{8}\right)}^{2}\right) + {\left(\left(e^{1} \cdot x\right) \cdot 4\right)}^{2}\right) + {\left(\frac{e^{1} \cdot x}{4}\right)}^{2}}\sqrt{\left(\left({\left(\left(e^{1} \cdot x\right) \cdot 8\right)}^{2} + {\left(\frac{e^{1} \cdot x}{8}\right)}^{2}\right) + {\left(\left(e^{1} \cdot x\right) \cdot 4\right)}^{2}\right) + {\left(\frac{e^{1} \cdot x}{4}\right)}^{2}}double code(double x) {
return ((double) sqrt(((double) (((double) (((double) (((double) pow(((double) (((double) (((double) exp(1.0)) * x)) * 8.0)), 2.0)) + ((double) pow(((double) (((double) (((double) exp(1.0)) * x)) / 8.0)), 2.0)))) + ((double) pow(((double) (((double) (((double) exp(1.0)) * x)) * 4.0)), 2.0)))) + ((double) pow(((double) (((double) (((double) exp(1.0)) * x)) / 4.0)), 2.0))))));
}
double code(double x) {
return ((double) sqrt(((double) (((double) (((double) (((double) pow(((double) (((double) (((double) exp(1.0)) * x)) * 8.0)), 2.0)) + ((double) pow(((double) (((double) (((double) exp(1.0)) * x)) / 8.0)), 2.0)))) + ((double) pow(((double) (((double) (((double) exp(1.0)) * x)) * 4.0)), 2.0)))) + ((double) pow(((double) (((double) (((double) exp(1.0)) * x)) / 4.0)), 2.0))))));
}



Bits error versus x
Results
Initial program 30.8
Final simplification30.8
herbie shell --seed 2020152
(FPCore (x)
:name "(sqrt (+ (+ (+ (pow (* (* (exp 1) x) 8) 2) (pow (/ (* (exp 1) x) 8) 2)) (pow (* (* (exp 1) x) 4) 2)) (pow (/ (* (exp 1) x) 4) 2)))"
:precision binary64
(sqrt (+ (+ (+ (pow (* (* (exp 1.0) x) 8.0) 2.0) (pow (/ (* (exp 1.0) x) 8.0) 2.0)) (pow (* (* (exp 1.0) x) 4.0) 2.0)) (pow (/ (* (exp 1.0) x) 4.0) 2.0))))