a \cdot a - b \cdot b
double f(double a, double b) {
double r8494 = a;
double r8495 = r8494 * r8494;
double r8496 = b;
double r8497 = r8496 * r8496;
double r8498 = r8495 - r8497;
return r8498;
}
Please include this information when filing a bug report:
herbie shell --seed 2019305
(FPCore (a b)
:name "Difference of squares"
:precision binary64
:herbie-target
(* (+ a b) (- a b))
(- (* a a) (* b b)))
| exact?: contract violation expected: number? given: 'h1 | L | C | |
|---|---|---|---|
| egg-parsed->expr | /data/pavpan/nightlies/herbie/eggmath-testversion/src/core/eggmath.rkt | 65 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/eggmath-testversion/src/core/eggmath.rkt | 70 | 6 |
| egg-parsed->expr | /data/pavpan/nightlies/herbie/eggmath-testversion/src/core/eggmath.rkt | 65 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/eggmath-testversion/src/core/eggmath.rkt | 70 | 6 |
| egg-parsed->expr | /data/pavpan/nightlies/herbie/eggmath-testversion/src/core/eggmath.rkt | 65 | 0 |
| (unnamed) | /data/pavpan/nightlies/herbie/eggmath-testversion/src/core/simplify.rkt | 49 | 8 |
| egraph-add-exprs | /data/pavpan/nightlies/herbie/eggmath-testversion/src/core/eggmath.rkt | 122 | 0 |
| egraph-run | /data/pavpan/nightlies/herbie/eggmath-testversion/src/core/eggmath.rkt | 55 | 0 |
| (unnamed) | /data/pavpan/nightlies/herbie/eggmath-testversion/src/core/simplify.rkt | 38 | 0 |
| simplify! | /data/pavpan/nightlies/herbie/eggmath-testversion/src/mainloop.rkt | 223 | 0 |
| run-improve47 | /data/pavpan/nightlies/herbie/eggmath-testversion/src/mainloop.rkt | 345 | 0 |
| (unnamed) | /opt/racket-7.2/collects/racket/private/more-scheme.rkt | 261 | 28 |
| run | /opt/racket-7.2/share/pkgs/profile-lib/main.rkt | 39 | 2 |
| profile-thunk16 | /opt/racket-7.2/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /opt/racket-7.2/collects/racket/private/more-scheme.rkt | 261 | 28 |