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 <= 8.3104626160278e-311)) {
VAR = ((double) (((double) sqrt(((double) pow(x, 2.0)))) * ((double) sqrt(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 < 8.31046261602783e-311Initial program 30.7
Simplified30.7
rmApplied sqrt-prod30.8
if 8.31046261602783e-311 < x Initial program 31.1
Simplified31.1
Taylor expanded around 0 5.7
Simplified0.4
rmApplied add-cube-cbrt0.4
Applied associate-*l*0.4
Simplified0.4
Final simplification15.6
herbie shell --seed 2020192
(FPCore (x)
:name "sqrt E"
:precision binary64
(sqrt (+ (pow x 2.0) (pow x 2.0))))