\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(\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\sqrt{2}}{\frac{\frac{4}{1 - v \cdot v}}{\sqrt{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}\right)\right)\right)}double f(double v) {
double r5249776 = 2.0;
double r5249777 = sqrt(r5249776);
double r5249778 = 4.0;
double r5249779 = r5249777 / r5249778;
double r5249780 = 1.0;
double r5249781 = 3.0;
double r5249782 = v;
double r5249783 = r5249782 * r5249782;
double r5249784 = r5249781 * r5249783;
double r5249785 = r5249780 - r5249784;
double r5249786 = sqrt(r5249785);
double r5249787 = r5249779 * r5249786;
double r5249788 = r5249780 - r5249783;
double r5249789 = r5249787 * r5249788;
return r5249789;
}
double f(double v) {
double r5249790 = 2.0;
double r5249791 = sqrt(r5249790);
double r5249792 = 4.0;
double r5249793 = 1.0;
double r5249794 = v;
double r5249795 = r5249794 * r5249794;
double r5249796 = r5249793 - r5249795;
double r5249797 = r5249792 / r5249796;
double r5249798 = -3.0;
double r5249799 = fma(r5249795, r5249798, r5249793);
double r5249800 = sqrt(r5249799);
double r5249801 = r5249797 / r5249800;
double r5249802 = r5249791 / r5249801;
double r5249803 = log1p(r5249802);
double r5249804 = expm1(r5249803);
double r5249805 = log(r5249804);
double r5249806 = exp(r5249805);
return r5249806;
}



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