\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\sqrt[3]{{\left(\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\right)}^{3}}double f(double v) {
double r355162 = 2.0;
double r355163 = sqrt(r355162);
double r355164 = 4.0;
double r355165 = r355163 / r355164;
double r355166 = 1.0;
double r355167 = 3.0;
double r355168 = v;
double r355169 = r355168 * r355168;
double r355170 = r355167 * r355169;
double r355171 = r355166 - r355170;
double r355172 = sqrt(r355171);
double r355173 = r355165 * r355172;
double r355174 = r355166 - r355169;
double r355175 = r355173 * r355174;
return r355175;
}
double f(double v) {
double r355176 = 2.0;
double r355177 = sqrt(r355176);
double r355178 = 4.0;
double r355179 = r355177 / r355178;
double r355180 = 1.0;
double r355181 = 3.0;
double r355182 = v;
double r355183 = r355182 * r355182;
double r355184 = r355181 * r355183;
double r355185 = r355180 - r355184;
double r355186 = sqrt(r355185);
double r355187 = r355179 * r355186;
double r355188 = r355180 - r355183;
double r355189 = r355187 * r355188;
double r355190 = 3.0;
double r355191 = pow(r355189, r355190);
double r355192 = cbrt(r355191);
return r355192;
}



Bits error versus v
Results
Initial program 0.0
rmApplied add-cbrt-cube0.0
Applied add-cbrt-cube0.0
Applied add-cbrt-cube0.0
Applied add-cbrt-cube1.0
Applied cbrt-undiv0.0
Applied cbrt-unprod0.0
Applied cbrt-unprod0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020001 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 2"
:precision binary64
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))