\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 r223853 = 2.0;
double r223854 = sqrt(r223853);
double r223855 = 4.0;
double r223856 = r223854 / r223855;
double r223857 = 1.0;
double r223858 = 3.0;
double r223859 = v;
double r223860 = r223859 * r223859;
double r223861 = r223858 * r223860;
double r223862 = r223857 - r223861;
double r223863 = sqrt(r223862);
double r223864 = r223856 * r223863;
double r223865 = r223857 - r223860;
double r223866 = r223864 * r223865;
return r223866;
}
double f(double v) {
double r223867 = 2.0;
double r223868 = sqrt(r223867);
double r223869 = 4.0;
double r223870 = r223868 / r223869;
double r223871 = 1.0;
double r223872 = 3.0;
double r223873 = v;
double r223874 = r223873 * r223873;
double r223875 = r223872 * r223874;
double r223876 = r223871 - r223875;
double r223877 = sqrt(r223876);
double r223878 = r223870 * r223877;
double r223879 = r223871 - r223874;
double r223880 = r223878 * r223879;
double r223881 = 3.0;
double r223882 = pow(r223880, r223881);
double r223883 = cbrt(r223882);
return r223883;
}



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