\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\frac{1}{\sin B} - \frac{x \cdot \cos B}{\sin B}(FPCore (B x) :precision binary64 (+ (- (* x (/ 1.0 (tan B)))) (/ 1.0 (sin B))))
(FPCore (B x) :precision binary64 (- (/ 1.0 (sin B)) (/ (* x (cos B)) (sin B))))
double code(double B, double x) {
return -(x * (1.0 / tan(B))) + (1.0 / sin(B));
}
double code(double B, double x) {
return (1.0 / sin(B)) - ((x * cos(B)) / sin(B));
}










Bits error versus B










Bits error versus x
Results
| Alternative 1 | |
|---|---|
| Error | 0.2 |
| Cost | 19776 |
| Alternative 2 | |
|---|---|
| Error | 0.2 |
| Cost | 13248 |
| Alternative 3 | |
|---|---|
| Error | 0.9 |
| Cost | 7176 |
| Alternative 4 | |
|---|---|
| Error | 1.6 |
| Cost | 7176 |
| Alternative 5 | |
|---|---|
| Error | 17.8 |
| Cost | 6920 |
| Alternative 6 | |
|---|---|
| Error | 35.2 |
| Cost | 320 |
| Alternative 7 | |
|---|---|
| Error | 60.4 |
| Cost | 64 |

Initial program 0.2
Simplified0.2
rmApplied tan-quot_binary640.2
Applied associate-/r/_binary640.2
rmApplied associate-*l/_binary640.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2021044
(FPCore (B x)
:name "VandenBroeck and Keller, Equation (24)"
:precision binary64
(+ (- (* x (/ 1.0 (tan B)))) (/ 1.0 (sin B))))