\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\frac{0.5 \cdot \cos re}{e^{im}} + \left(0.5 \cdot \cos re\right) \cdot e^{im}(FPCore (re im) :precision binary64 (* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))
(FPCore (re im) :precision binary64 (+ (/ (* 0.5 (cos re)) (exp im)) (* (* 0.5 (cos re)) (exp im))))
double code(double re, double im) {
return (0.5 * cos(re)) * (exp(-im) + exp(im));
}
double code(double re, double im) {
return ((0.5 * cos(re)) / exp(im)) + ((0.5 * cos(re)) * exp(im));
}























Bits error versus re























Bits error versus im
Results
| Alternative 1 | |
|---|---|
| Error | 15.9 |
| Cost | 52288 |
| Alternative 2 | |
|---|---|
| Error | 61.1 |
| Cost | 45696 |
| Alternative 3 | |
|---|---|
| Error | 1.2 |
| Cost | 45632 |
| Alternative 4 | |
|---|---|
| Error | 1.0 |
| Cost | 45632 |
| Alternative 5 | |
|---|---|
| Error | 0.8 |
| Cost | 45120 |
| Alternative 6 | |
|---|---|
| Error | 61.1 |
| Cost | 39360 |
| Alternative 7 | |
|---|---|
| Error | 0.2 |
| Cost | 39168 |
| Alternative 8 | |
|---|---|
| Error | 63.1 |
| Cost | 32832 |
| Alternative 9 | |
|---|---|
| Error | 0.4 |
| Cost | 32576 |
| Alternative 10 | |
|---|---|
| Error | 0.6 |
| Cost | 20096 |
| Alternative 11 | |
|---|---|
| Error | 28.0 |
| Cost | 19776 |
| Alternative 12 | |
|---|---|
| Error | 0.0 |
| Cost | 19712 |
| Alternative 13 | |
|---|---|
| Error | 0.6 |
| Cost | 13696 |
| Alternative 14 | |
|---|---|
| Error | 31.2 |
| Cost | 13568 |
| Alternative 15 | |
|---|---|
| Error | 28.3 |
| Cost | 13184 |
| Alternative 16 | |
|---|---|
| Error | 0.7 |
| Cost | 6976 |
| Alternative 17 | |
|---|---|
| Error | 1.1 |
| Cost | 6464 |
| Alternative 18 | |
|---|---|
| Error | 28.8 |
| Cost | 64 |
| Alternative 19 | |
|---|---|
| Error | 62.0 |
| Cost | 64 |
| Alternative 20 | |
|---|---|
| Error | 59.9 |
| Cost | 64 |

Initial program 0.0
rmApplied distribute-rgt-in_binary64_3690.0
Simplified0.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2021022
(FPCore (re im)
:name "math.cos on complex, real part"
:precision binary64
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))