\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\sqrt{2} \cdot \left(\frac{\mathsf{fma}\left(-v, v, 1\right)}{4} \cdot \sqrt{\mathsf{fma}\left(3, v \cdot \left(-v\right), 1\right)}\right)double f(double v) {
double r191094 = 2.0;
double r191095 = sqrt(r191094);
double r191096 = 4.0;
double r191097 = r191095 / r191096;
double r191098 = 1.0;
double r191099 = 3.0;
double r191100 = v;
double r191101 = r191100 * r191100;
double r191102 = r191099 * r191101;
double r191103 = r191098 - r191102;
double r191104 = sqrt(r191103);
double r191105 = r191097 * r191104;
double r191106 = r191098 - r191101;
double r191107 = r191105 * r191106;
return r191107;
}
double f(double v) {
double r191108 = 2.0;
double r191109 = sqrt(r191108);
double r191110 = v;
double r191111 = -r191110;
double r191112 = 1.0;
double r191113 = fma(r191111, r191110, r191112);
double r191114 = 4.0;
double r191115 = r191113 / r191114;
double r191116 = 3.0;
double r191117 = r191110 * r191111;
double r191118 = fma(r191116, r191117, r191112);
double r191119 = sqrt(r191118);
double r191120 = r191115 * r191119;
double r191121 = r191109 * r191120;
return r191121;
}



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