double code(double x) {
return ((double) sqrt(((double) (((double) pow(x, 2.0)) + ((double) pow(x, 2.0))))));
}
double code(double x) {
double VAR;
if ((x <= 1.91106969199616e-310)) {
VAR = ((double) sqrt(((double) (((double) pow(x, 2.0)) * 2.0))));
} else {
VAR = ((double) (((double) (((double) cbrt(((double) sqrt(2.0)))) * ((double) cbrt(((double) sqrt(2.0)))))) * ((double) (((double) cbrt(((double) sqrt(2.0)))) * ((double) pow(x, 1.0))))));
}
return VAR;
}



Bits error versus x
Results
if x < 1.911069691996156e-310Initial program 29.7
Simplified29.7
if 1.911069691996156e-310 < x Initial program 30.8
Simplified30.8
Taylor expanded around 0 5.7
Simplified0.4
rmApplied add-cube-cbrt0.4
Applied associate-*l*0.4
Simplified0.4
Final simplification15.2
herbie shell --seed 2020190
(FPCore (x)
:name "sqrt E"
:precision binary64
(sqrt (+ (pow x 2.0) (pow x 2.0))))