\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}}{4} \cdot \left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)} \cdot \mathsf{fma}\left(-v, v, 1\right)\right)double f(double v) {
double r230874 = 2.0;
double r230875 = sqrt(r230874);
double r230876 = 4.0;
double r230877 = r230875 / r230876;
double r230878 = 1.0;
double r230879 = 3.0;
double r230880 = v;
double r230881 = r230880 * r230880;
double r230882 = r230879 * r230881;
double r230883 = r230878 - r230882;
double r230884 = sqrt(r230883);
double r230885 = r230877 * r230884;
double r230886 = r230878 - r230881;
double r230887 = r230885 * r230886;
return r230887;
}
double f(double v) {
double r230888 = 2.0;
double r230889 = sqrt(r230888);
double r230890 = 4.0;
double r230891 = r230889 / r230890;
double r230892 = 1.0;
double r230893 = 3.0;
double r230894 = v;
double r230895 = r230894 * r230894;
double r230896 = r230893 * r230895;
double r230897 = r230892 - r230896;
double r230898 = sqrt(r230897);
double r230899 = -r230894;
double r230900 = fma(r230899, r230894, r230892);
double r230901 = r230898 * r230900;
double r230902 = r230891 * r230901;
return r230902;
}



Bits error versus v
Initial program 0.0
rmApplied associate-*l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019351 +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))))