\frac{e \cdot \sin v}{1 + e \cdot \cos v}\frac{e \cdot \sin v}{1 + e \cdot \cos v}(FPCore (e v) :precision binary64 (/ (* e (sin v)) (+ 1.0 (* e (cos v)))))
(FPCore (e v) :precision binary64 (/ (* e (sin v)) (+ 1.0 (* e (cos v)))))
double code(double e, double v) {
return (e * sin(v)) / (1.0 + (e * cos(v)));
}
double code(double e, double v) {
return (e * sin(v)) / (1.0 + (e * cos(v)));
}












Bits error versus e












Bits error versus v
Results
| Alternative 1 | |
|---|---|
| Error | 0.1 |
| Cost | 13376 |
| Alternative 2 | |
|---|---|
| Error | 0.3 |
| Cost | 13376 |
| Alternative 3 | |
|---|---|
| Error | 0.7 |
| Cost | 6848 |
| Alternative 4 | |
|---|---|
| Error | 0.8 |
| Cost | 6848 |
| Alternative 5 | |
|---|---|
| Error | 1.4 |
| Cost | 6592 |
| Alternative 6 | |
|---|---|
| Error | 30.2 |
| Cost | 1088 |
| Alternative 7 | |
|---|---|
| Error | 30.9 |
| Cost | 448 |
| Alternative 8 | |
|---|---|
| Error | 45.8 |
| Cost | 64 |
| Alternative 9 | |
|---|---|
| Error | 61.7 |
| Cost | 64 |

Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2021044
(FPCore (e v)
:name "Trigonometry A"
:precision binary64
:pre (<= 0.0 e 1.0)
(/ (* e (sin v)) (+ 1.0 (* e (cos v)))))