\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1
double f(double d1, double d2, double d3, double d4) {
double r8430 = d1;
double r8431 = d2;
double r8432 = r8430 * r8431;
double r8433 = d3;
double r8434 = r8430 * r8433;
double r8435 = r8432 - r8434;
double r8436 = d4;
double r8437 = r8436 * r8430;
double r8438 = r8435 + r8437;
double r8439 = r8430 * r8430;
double r8440 = r8438 - r8439;
return r8440;
}
Please include this information when filing a bug report:
herbie shell --seed 2019305
(FPCore (d1 d2 d3 d4)
:name "FastMath dist4"
:precision binary64
:herbie-target
(* d1 (- (+ (- d2 d3) d4) d1))
(- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))
| exact?: contract violation expected: number? given: 'h0 | 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 |
| (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 |