\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r23481 = x;
double r23482 = y;
double r23483 = z;
double r23484 = r23482 * r23483;
double r23485 = t;
double r23486 = a;
double r23487 = r23485 * r23486;
double r23488 = r23484 - r23487;
double r23489 = r23481 * r23488;
double r23490 = b;
double r23491 = c;
double r23492 = r23491 * r23483;
double r23493 = i;
double r23494 = r23493 * r23486;
double r23495 = r23492 - r23494;
double r23496 = r23490 * r23495;
double r23497 = r23489 - r23496;
double r23498 = j;
double r23499 = r23491 * r23485;
double r23500 = r23493 * r23482;
double r23501 = r23499 - r23500;
double r23502 = r23498 * r23501;
double r23503 = r23497 + r23502;
return r23503;
}
Please include this information when filing a bug report:
herbie shell --seed 2019315 +o rules:numerics
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
:precision binary64
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))
| argmin: contract violation expected: (and/c list? (not/c empty?)) given: '() argument position: 2nd other arguments...: #<procedure:composed> | L | C | |
|---|---|---|---|
| argmin | /opt/racket-7.2/collects/racket/list.rkt | 765 | 0 |
| infer-splitpoints | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/core/regimes.rkt | 34 | 0 |
| get-final-combination | /data/pavpan/nightlies/herbie/fix-interface-bugs/src/mainloop.rkt | 370 | 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 |