\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\mathsf{fma}\left(-v \cdot v, \frac{\sqrt{\mathsf{fma}\left(3, -v \cdot v, 1\right)}}{\frac{4}{\sqrt{2}}}, \frac{\sqrt{\mathsf{fma}\left(3, -v \cdot v, 1\right)}}{\frac{4}{\sqrt{2}}}\right)double f(double v) {
double r5824449 = 2.0;
double r5824450 = sqrt(r5824449);
double r5824451 = 4.0;
double r5824452 = r5824450 / r5824451;
double r5824453 = 1.0;
double r5824454 = 3.0;
double r5824455 = v;
double r5824456 = r5824455 * r5824455;
double r5824457 = r5824454 * r5824456;
double r5824458 = r5824453 - r5824457;
double r5824459 = sqrt(r5824458);
double r5824460 = r5824452 * r5824459;
double r5824461 = r5824453 - r5824456;
double r5824462 = r5824460 * r5824461;
return r5824462;
}
double f(double v) {
double r5824463 = v;
double r5824464 = r5824463 * r5824463;
double r5824465 = -r5824464;
double r5824466 = 3.0;
double r5824467 = 1.0;
double r5824468 = fma(r5824466, r5824465, r5824467);
double r5824469 = sqrt(r5824468);
double r5824470 = 4.0;
double r5824471 = 2.0;
double r5824472 = sqrt(r5824471);
double r5824473 = r5824470 / r5824472;
double r5824474 = r5824469 / r5824473;
double r5824475 = fma(r5824465, r5824474, r5824474);
return r5824475;
}



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