\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\sqrt{\mathsf{fma}\left(\left(v \cdot v\right), -3, 1\right)} \cdot \left(\frac{\sqrt{2}}{4} - \frac{\sqrt{2}}{4} \cdot \left(v \cdot v\right)\right)double f(double v) {
double r5023261 = 2.0;
double r5023262 = sqrt(r5023261);
double r5023263 = 4.0;
double r5023264 = r5023262 / r5023263;
double r5023265 = 1.0;
double r5023266 = 3.0;
double r5023267 = v;
double r5023268 = r5023267 * r5023267;
double r5023269 = r5023266 * r5023268;
double r5023270 = r5023265 - r5023269;
double r5023271 = sqrt(r5023270);
double r5023272 = r5023264 * r5023271;
double r5023273 = r5023265 - r5023268;
double r5023274 = r5023272 * r5023273;
return r5023274;
}
double f(double v) {
double r5023275 = v;
double r5023276 = r5023275 * r5023275;
double r5023277 = -3.0;
double r5023278 = 1.0;
double r5023279 = fma(r5023276, r5023277, r5023278);
double r5023280 = sqrt(r5023279);
double r5023281 = 2.0;
double r5023282 = sqrt(r5023281);
double r5023283 = 4.0;
double r5023284 = r5023282 / r5023283;
double r5023285 = r5023284 * r5023276;
double r5023286 = r5023284 - r5023285;
double r5023287 = r5023280 * r5023286;
return r5023287;
}



Bits error versus v
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019132 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 2"
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))