\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\left(\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(\sqrt{1} + v\right)\right) \cdot \left(\sqrt{1} - v\right)double f(double v) {
double r534272 = 2.0;
double r534273 = sqrt(r534272);
double r534274 = 4.0;
double r534275 = r534273 / r534274;
double r534276 = 1.0;
double r534277 = 3.0;
double r534278 = v;
double r534279 = r534278 * r534278;
double r534280 = r534277 * r534279;
double r534281 = r534276 - r534280;
double r534282 = sqrt(r534281);
double r534283 = r534275 * r534282;
double r534284 = r534276 - r534279;
double r534285 = r534283 * r534284;
return r534285;
}
double f(double v) {
double r534286 = 2.0;
double r534287 = sqrt(r534286);
double r534288 = 4.0;
double r534289 = r534287 / r534288;
double r534290 = 1.0;
double r534291 = 3.0;
double r534292 = v;
double r534293 = r534292 * r534292;
double r534294 = r534291 * r534293;
double r534295 = r534290 - r534294;
double r534296 = sqrt(r534295);
double r534297 = r534289 * r534296;
double r534298 = sqrt(r534290);
double r534299 = r534298 + r534292;
double r534300 = r534297 * r534299;
double r534301 = r534298 - r534292;
double r534302 = r534300 * r534301;
return r534302;
}



Bits error versus v
Results
Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied difference-of-squares0.0
Applied associate-*r*0.0
Final simplification0.0
herbie shell --seed 2020036 +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))))