\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 - \log \left(e^{3 \cdot \left(v \cdot v\right)}\right)}\right)} \cdot \left(1 - v \cdot v\right)double f(double v) {
double r224194 = 2.0;
double r224195 = sqrt(r224194);
double r224196 = 4.0;
double r224197 = r224195 / r224196;
double r224198 = 1.0;
double r224199 = 3.0;
double r224200 = v;
double r224201 = r224200 * r224200;
double r224202 = r224199 * r224201;
double r224203 = r224198 - r224202;
double r224204 = sqrt(r224203);
double r224205 = r224197 * r224204;
double r224206 = r224198 - r224201;
double r224207 = r224205 * r224206;
return r224207;
}
double f(double v) {
double r224208 = 2.0;
double r224209 = sqrt(r224208);
double r224210 = 4.0;
double r224211 = r224209 / r224210;
double r224212 = 1.0;
double r224213 = 3.0;
double r224214 = v;
double r224215 = r224214 * r224214;
double r224216 = r224213 * r224215;
double r224217 = exp(r224216);
double r224218 = log(r224217);
double r224219 = r224212 - r224218;
double r224220 = sqrt(r224219);
double r224221 = r224211 * r224220;
double r224222 = log(r224221);
double r224223 = exp(r224222);
double r224224 = r224212 - r224215;
double r224225 = r224223 * r224224;
return r224225;
}



Bits error versus v
Results
Initial program 0.0
rmApplied add-exp-log0.0
Applied add-exp-log0.0
Applied add-exp-log0.0
Applied div-exp0.0
Applied prod-exp0.0
Simplified0.0
rmApplied add-log-exp0.0
Final simplification0.0
herbie shell --seed 2020024 +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))))