\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\frac{\sqrt{2} \cdot \left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)} \cdot \mathsf{fma}\left(v, -v, {\left(\sqrt[3]{1}\right)}^{3}\right)\right)}{4} + \left(v \cdot \left(\left(-v\right) + v\right)\right) \cdot \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right)double f(double v) {
double r150547 = 2.0;
double r150548 = sqrt(r150547);
double r150549 = 4.0;
double r150550 = r150548 / r150549;
double r150551 = 1.0;
double r150552 = 3.0;
double r150553 = v;
double r150554 = r150553 * r150553;
double r150555 = r150552 * r150554;
double r150556 = r150551 - r150555;
double r150557 = sqrt(r150556);
double r150558 = r150550 * r150557;
double r150559 = r150551 - r150554;
double r150560 = r150558 * r150559;
return r150560;
}
double f(double v) {
double r150561 = 2.0;
double r150562 = sqrt(r150561);
double r150563 = 1.0;
double r150564 = 3.0;
double r150565 = v;
double r150566 = r150565 * r150565;
double r150567 = r150564 * r150566;
double r150568 = r150563 - r150567;
double r150569 = sqrt(r150568);
double r150570 = -r150565;
double r150571 = cbrt(r150563);
double r150572 = 3.0;
double r150573 = pow(r150571, r150572);
double r150574 = fma(r150565, r150570, r150573);
double r150575 = r150569 * r150574;
double r150576 = r150562 * r150575;
double r150577 = 4.0;
double r150578 = r150576 / r150577;
double r150579 = r150570 + r150565;
double r150580 = r150565 * r150579;
double r150581 = r150562 / r150577;
double r150582 = r150581 * r150569;
double r150583 = r150580 * r150582;
double r150584 = r150578 + r150583;
return r150584;
}



Bits error versus v
Initial program 0.0
rmApplied add-cube-cbrt0.0
Applied prod-diff0.0
Applied distribute-lft-in0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019322 +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))))