\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right){\left(0.125 + \left(\left(\left(v \cdot v\right) \cdot -3\right) \cdot 0.25\right) \cdot 0.5\right)}^{0.5} \cdot \left(1 - v \cdot v\right)(FPCore (v) :precision binary64 (* (* (/ (sqrt 2.0) 4.0) (sqrt (- 1.0 (* 3.0 (* v v))))) (- 1.0 (* v v))))
(FPCore (v) :precision binary64 (* (pow (+ 0.125 (* (* (* (* v v) -3.0) 0.25) 0.5)) 0.5) (- 1.0 (* v v))))
double code(double v) {
return ((sqrt(2.0) / 4.0) * sqrt(1.0 - (3.0 * (v * v)))) * (1.0 - (v * v));
}
double code(double v) {
return pow((0.125 + ((((v * v) * -3.0) * 0.25) * 0.5)), 0.5) * (1.0 - (v * v));
}



Bits error versus v
Results
Initial program 0.0
rmApplied add-sqr-sqrt_binary64_14641.0
Applied associate-*l*_binary64_13831.0
Simplified1.0
rmApplied pow1/2_binary64_15221.0
Applied pow1/2_binary64_15221.0
Applied pow-prod-down_binary64_15131.0
Applied pow1/2_binary64_15221.0
Applied pow-prod-down_binary64_15130.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2021015
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 2"
:precision binary64
(* (* (/ (sqrt 2.0) 4.0) (sqrt (- 1.0 (* 3.0 (* v v))))) (- 1.0 (* v v))))