\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(\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\right)}double f(double v) {
double r314424 = 2.0;
double r314425 = sqrt(r314424);
double r314426 = 4.0;
double r314427 = r314425 / r314426;
double r314428 = 1.0;
double r314429 = 3.0;
double r314430 = v;
double r314431 = r314430 * r314430;
double r314432 = r314429 * r314431;
double r314433 = r314428 - r314432;
double r314434 = sqrt(r314433);
double r314435 = r314427 * r314434;
double r314436 = r314428 - r314431;
double r314437 = r314435 * r314436;
return r314437;
}
double f(double v) {
double r314438 = 2.0;
double r314439 = sqrt(r314438);
double r314440 = 4.0;
double r314441 = r314439 / r314440;
double r314442 = 1.0;
double r314443 = 3.0;
double r314444 = v;
double r314445 = r314444 * r314444;
double r314446 = r314443 * r314445;
double r314447 = r314442 - r314446;
double r314448 = sqrt(r314447);
double r314449 = r314441 * r314448;
double r314450 = r314442 - r314445;
double r314451 = r314449 * r314450;
double r314452 = log(r314451);
double r314453 = exp(r314452);
return r314453;
}



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 add-exp-log0.0
Applied div-exp0.0
Applied prod-exp0.0
Applied prod-exp0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020021
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 2"
:precision binary64
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))