\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\left(\sqrt{1 - \left(v \cdot v\right) \cdot 3} \cdot \frac{\sqrt{2}}{4}\right) \cdot \left(-v \cdot v\right) + \left(\sqrt{1 - \left(v \cdot v\right) \cdot 3} \cdot \frac{\sqrt{2}}{4}\right) \cdot 1double f(double v) {
double r6899864 = 2.0;
double r6899865 = sqrt(r6899864);
double r6899866 = 4.0;
double r6899867 = r6899865 / r6899866;
double r6899868 = 1.0;
double r6899869 = 3.0;
double r6899870 = v;
double r6899871 = r6899870 * r6899870;
double r6899872 = r6899869 * r6899871;
double r6899873 = r6899868 - r6899872;
double r6899874 = sqrt(r6899873);
double r6899875 = r6899867 * r6899874;
double r6899876 = r6899868 - r6899871;
double r6899877 = r6899875 * r6899876;
return r6899877;
}
double f(double v) {
double r6899878 = 1.0;
double r6899879 = v;
double r6899880 = r6899879 * r6899879;
double r6899881 = 3.0;
double r6899882 = r6899880 * r6899881;
double r6899883 = r6899878 - r6899882;
double r6899884 = sqrt(r6899883);
double r6899885 = 2.0;
double r6899886 = sqrt(r6899885);
double r6899887 = 4.0;
double r6899888 = r6899886 / r6899887;
double r6899889 = r6899884 * r6899888;
double r6899890 = -r6899880;
double r6899891 = r6899889 * r6899890;
double r6899892 = r6899889 * r6899878;
double r6899893 = r6899891 + r6899892;
return r6899893;
}



Bits error versus v
Results
Initial program 0.0
rmApplied sub-neg0.0
Applied distribute-lft-in0.0
Final simplification0.0
herbie shell --seed 2019172 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 2"
(* (* (/ (sqrt 2.0) 4.0) (sqrt (- 1.0 (* 3.0 (* v v))))) (- 1.0 (* v v))))