\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(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right)}^{3}} \cdot \left(1 - v \cdot v\right)double f(double v) {
double r326885 = 2.0;
double r326886 = sqrt(r326885);
double r326887 = 4.0;
double r326888 = r326886 / r326887;
double r326889 = 1.0;
double r326890 = 3.0;
double r326891 = v;
double r326892 = r326891 * r326891;
double r326893 = r326890 * r326892;
double r326894 = r326889 - r326893;
double r326895 = sqrt(r326894);
double r326896 = r326888 * r326895;
double r326897 = r326889 - r326892;
double r326898 = r326896 * r326897;
return r326898;
}
double f(double v) {
double r326899 = 2.0;
double r326900 = sqrt(r326899);
double r326901 = 4.0;
double r326902 = r326900 / r326901;
double r326903 = 1.0;
double r326904 = 3.0;
double r326905 = v;
double r326906 = r326905 * r326905;
double r326907 = r326904 * r326906;
double r326908 = r326903 - r326907;
double r326909 = sqrt(r326908);
double r326910 = r326902 * r326909;
double r326911 = 3.0;
double r326912 = pow(r326910, r326911);
double r326913 = cbrt(r326912);
double r326914 = r326903 - r326906;
double r326915 = r326913 * r326914;
return r326915;
}



Bits error versus v
Results
Initial program 0.0
rmApplied add-cbrt-cube0.0
Applied add-cbrt-cube0.0
Applied add-cbrt-cube1.0
Applied cbrt-undiv0.0
Applied cbrt-unprod0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020047 +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))))