re \cdot im + im \cdot re
(FPCore (re im) :precision binary64 (+ (* re im) (* im re)))
double code(double re, double im) {
return ((double) (((double) (re * im)) + ((double) (im * re))));
}
Please include this information when filing a bug report:
herbie shell --seed 2020203
(FPCore (re im)
:name "math.square on complex, imaginary part"
:precision binary64
(+ (* re im) (* im re)))
| first: contract violation expected: (and/c list? (not/c empty?)) given: '() | L | C | |
|---|---|---|---|
| batch-eval-progs | /data/pavpan/nightlies/herbie/cleanup/src/programs.rkt | 107 | 0 |
| batch-errors | /data/pavpan/nightlies/herbie/cleanup/src/points.rkt | 169 | 0 |
| atab-add-altns | /data/pavpan/nightlies/herbie/cleanup/src/core/alt-table.rkt | 194 | 0 |
| (unnamed) | /opt/racket-7.5/collects/racket/contract/private/arrow-val-first.rkt | 486 | 18 |
| finalize-iter! | /data/pavpan/nightlies/herbie/cleanup/src/mainloop.rkt | 273 | 0 |
| run-iter! | /data/pavpan/nightlies/herbie/cleanup/src/mainloop.rkt | 341 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/cleanup/src/mainloop.rkt | 379 | 4 |
| run-improve41 | /data/pavpan/nightlies/herbie/cleanup/src/mainloop.rkt | 360 | 0 |
| .../more-scheme.rkt:261:28 | unknown | ||
| run | /opt/racket-7.5/share/pkgs/profile-lib/main.rkt | 39 | 2 |
| profile-thunk16 | /opt/racket-7.5/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /opt/racket-7.5/collects/racket/private/more-scheme.rkt | 261 | 28 |
herbie shell --seed 2020203
(FPCore (re im)
:name "math.square on complex, imaginary part"
:precision binary64
(+ (* re im) (* im re)))