\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 r166531 = 2.0;
double r166532 = sqrt(r166531);
double r166533 = 4.0;
double r166534 = r166532 / r166533;
double r166535 = 1.0;
double r166536 = 3.0;
double r166537 = v;
double r166538 = r166537 * r166537;
double r166539 = r166536 * r166538;
double r166540 = r166535 - r166539;
double r166541 = sqrt(r166540);
double r166542 = r166534 * r166541;
double r166543 = r166535 - r166538;
double r166544 = r166542 * r166543;
return r166544;
}
double f(double v) {
double r166545 = 2.0;
double r166546 = sqrt(r166545);
double r166547 = 4.0;
double r166548 = r166546 / r166547;
double r166549 = 1.0;
double r166550 = 3.0;
double r166551 = v;
double r166552 = r166551 * r166551;
double r166553 = r166550 * r166552;
double r166554 = r166549 - r166553;
double r166555 = sqrt(r166554);
double r166556 = r166548 * r166555;
double r166557 = r166549 - r166552;
double r166558 = r166556 * r166557;
double r166559 = 3.0;
double r166560 = pow(r166558, r166559);
double r166561 = cbrt(r166560);
return r166561;
}



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
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 2"
:precision binary64
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))