\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)double f(double v) {
double r303705 = 2.0;
double r303706 = sqrt(r303705);
double r303707 = 4.0;
double r303708 = r303706 / r303707;
double r303709 = 1.0;
double r303710 = 3.0;
double r303711 = v;
double r303712 = r303711 * r303711;
double r303713 = r303710 * r303712;
double r303714 = r303709 - r303713;
double r303715 = sqrt(r303714);
double r303716 = r303708 * r303715;
double r303717 = r303709 - r303712;
double r303718 = r303716 * r303717;
return r303718;
}
double f(double v) {
double r303719 = 2.0;
double r303720 = sqrt(r303719);
double r303721 = 4.0;
double r303722 = r303720 / r303721;
double r303723 = 1.0;
double r303724 = 3.0;
double r303725 = v;
double r303726 = r303725 * r303725;
double r303727 = r303724 * r303726;
double r303728 = r303723 - r303727;
double r303729 = sqrt(r303728);
double r303730 = r303722 * r303729;
double r303731 = r303723 - r303726;
double r303732 = r303730 * r303731;
return r303732;
}



Bits error versus v
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020060
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 2"
:precision binary64
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))