\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 \sqrt{1 \cdot 1 - \left(3 \cdot 3\right) \cdot {v}^{4}}}{4 \cdot \sqrt{1 + 3 \cdot \left(v \cdot v\right)}} \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 (* (/ (* (sqrt 2.0) (sqrt (- (* 1.0 1.0) (* (* 3.0 3.0) (pow v 4.0))))) (* 4.0 (sqrt (+ 1.0 (* 3.0 (* v v)))))) (- 1.0 (* v v))))
double code(double v) {
return ((double) (((double) ((((double) sqrt(2.0)) / 4.0) * ((double) sqrt(((double) (1.0 - ((double) (3.0 * ((double) (v * v)))))))))) * ((double) (1.0 - ((double) (v * v))))));
}
double code(double v) {
return ((double) ((((double) (((double) sqrt(2.0)) * ((double) sqrt(((double) (((double) (1.0 * 1.0)) - ((double) (((double) (3.0 * 3.0)) * ((double) pow(v, 4.0)))))))))) / ((double) (4.0 * ((double) sqrt(((double) (1.0 + ((double) (3.0 * ((double) (v * v))))))))))) * ((double) (1.0 - ((double) (v * v))))));
}



Bits error versus v
Results
Initial program 0.0
rmApplied flip--_binary640.0
Applied sqrt-div_binary640.0
Applied frac-times_binary640.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020210
(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))))