\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)e^{\log \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) + \log \left(1 - v \cdot v\right)}double f(double v) {
double r430742 = 2.0;
double r430743 = sqrt(r430742);
double r430744 = 4.0;
double r430745 = r430743 / r430744;
double r430746 = 1.0;
double r430747 = 3.0;
double r430748 = v;
double r430749 = r430748 * r430748;
double r430750 = r430747 * r430749;
double r430751 = r430746 - r430750;
double r430752 = sqrt(r430751);
double r430753 = r430745 * r430752;
double r430754 = r430746 - r430749;
double r430755 = r430753 * r430754;
return r430755;
}
double f(double v) {
double r430756 = 2.0;
double r430757 = sqrt(r430756);
double r430758 = 4.0;
double r430759 = r430757 / r430758;
double r430760 = 1.0;
double r430761 = 3.0;
double r430762 = v;
double r430763 = r430762 * r430762;
double r430764 = r430761 * r430763;
double r430765 = r430760 - r430764;
double r430766 = sqrt(r430765);
double r430767 = r430759 * r430766;
double r430768 = log(r430767);
double r430769 = r430760 - r430763;
double r430770 = log(r430769);
double r430771 = r430768 + r430770;
double r430772 = exp(r430771);
return r430772;
}



Bits error versus v
Results
Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied sqrt-prod0.0
Applied associate-*r*0.0
rmApplied add-exp-log0.0
Applied add-exp-log0.0
Applied add-exp-log0.0
Applied add-exp-log0.0
Applied add-exp-log0.0
Applied div-exp0.0
Applied prod-exp0.0
Applied prod-exp0.0
Applied prod-exp0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019356 +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))))