\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 1 + \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(-v \cdot v\right)double f(double v) {
double r324642 = 2.0;
double r324643 = sqrt(r324642);
double r324644 = 4.0;
double r324645 = r324643 / r324644;
double r324646 = 1.0;
double r324647 = 3.0;
double r324648 = v;
double r324649 = r324648 * r324648;
double r324650 = r324647 * r324649;
double r324651 = r324646 - r324650;
double r324652 = sqrt(r324651);
double r324653 = r324645 * r324652;
double r324654 = r324646 - r324649;
double r324655 = r324653 * r324654;
return r324655;
}
double f(double v) {
double r324656 = 2.0;
double r324657 = sqrt(r324656);
double r324658 = 4.0;
double r324659 = r324657 / r324658;
double r324660 = 1.0;
double r324661 = 3.0;
double r324662 = v;
double r324663 = r324662 * r324662;
double r324664 = r324661 * r324663;
double r324665 = r324660 - r324664;
double r324666 = sqrt(r324665);
double r324667 = r324659 * r324666;
double r324668 = r324667 * r324660;
double r324669 = -r324663;
double r324670 = r324667 * r324669;
double r324671 = r324668 + r324670;
return r324671;
}



Bits error versus v
Results
Initial program 0.0
rmApplied sub-neg0.0
Applied distribute-lft-in0.0
Final simplification0.0
herbie shell --seed 2019346 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 2"
:precision binary64
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))