\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\left(1 - v \cdot v\right) \cdot \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - \left(v \cdot v\right) \cdot 3}\right)(FPCore (v) :precision binary64 (* (* (/ (sqrt 2.0) 4.0) (sqrt (- 1.0 (* 3.0 (* v v))))) (- 1.0 (* v v))))
(FPCore (v) :precision binary64 (* (- 1.0 (* v v)) (* (/ (sqrt 2.0) 4.0) (sqrt (- 1.0 (* (* v v) 3.0))))))
double code(double v) {
return ((sqrt(2.0) / 4.0) * sqrt(1.0 - (3.0 * (v * v)))) * (1.0 - (v * v));
}
double code(double v) {
return (1.0 - (v * v)) * ((sqrt(2.0) / 4.0) * sqrt(1.0 - ((v * v) * 3.0)));
}







Bits error versus v
Results
| Alternative 1 | |
|---|---|
| Error | 0.2 |
| Cost | 13696 |
| Alternative 2 | |
|---|---|
| Error | 0.3 |
| Cost | 7360 |
| Alternative 3 | |
|---|---|
| Error | 0.7 |
| Cost | 6592 |
| Alternative 4 | |
|---|---|
| Error | 52.7 |
| Cost | 64 |

Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2021044
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 2"
:precision binary64
(* (* (/ (sqrt 2.0) 4.0) (sqrt (- 1.0 (* 3.0 (* v v))))) (- 1.0 (* v v))))