\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}}{\frac{\frac{4}{1 - v \cdot v}}{\sqrt{\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}} \cdot \left|\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}\right|double f(double v) {
double r6906360 = 2.0;
double r6906361 = sqrt(r6906360);
double r6906362 = 4.0;
double r6906363 = r6906361 / r6906362;
double r6906364 = 1.0;
double r6906365 = 3.0;
double r6906366 = v;
double r6906367 = r6906366 * r6906366;
double r6906368 = r6906365 * r6906367;
double r6906369 = r6906364 - r6906368;
double r6906370 = sqrt(r6906369);
double r6906371 = r6906363 * r6906370;
double r6906372 = r6906364 - r6906367;
double r6906373 = r6906371 * r6906372;
return r6906373;
}
double f(double v) {
double r6906374 = 2.0;
double r6906375 = sqrt(r6906374);
double r6906376 = 4.0;
double r6906377 = 1.0;
double r6906378 = v;
double r6906379 = r6906378 * r6906378;
double r6906380 = r6906377 - r6906379;
double r6906381 = r6906376 / r6906380;
double r6906382 = -3.0;
double r6906383 = fma(r6906379, r6906382, r6906377);
double r6906384 = cbrt(r6906383);
double r6906385 = sqrt(r6906384);
double r6906386 = r6906381 / r6906385;
double r6906387 = r6906375 / r6906386;
double r6906388 = fabs(r6906384);
double r6906389 = r6906387 * r6906388;
return r6906389;
}



Bits error versus v
Initial program 0.0
Simplified0.0
rmApplied add-cube-cbrt0.0
Applied sqrt-prod0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019142 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 2"
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))