\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 r177353 = 2.0;
double r177354 = sqrt(r177353);
double r177355 = 4.0;
double r177356 = r177354 / r177355;
double r177357 = 1.0;
double r177358 = 3.0;
double r177359 = v;
double r177360 = r177359 * r177359;
double r177361 = r177358 * r177360;
double r177362 = r177357 - r177361;
double r177363 = sqrt(r177362);
double r177364 = r177356 * r177363;
double r177365 = r177357 - r177360;
double r177366 = r177364 * r177365;
return r177366;
}
double f(double v) {
double r177367 = 2.0;
double r177368 = sqrt(r177367);
double r177369 = 4.0;
double r177370 = r177368 / r177369;
double r177371 = 1.0;
double r177372 = 3.0;
double r177373 = v;
double r177374 = r177373 * r177373;
double r177375 = r177372 * r177374;
double r177376 = r177371 - r177375;
double r177377 = sqrt(r177376);
double r177378 = r177370 * r177377;
double r177379 = r177371 - r177374;
double r177380 = r177378 * r177379;
double r177381 = 3.0;
double r177382 = pow(r177380, r177381);
double r177383 = cbrt(r177382);
return r177383;
}



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))))