\[\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - t \cdot i\right)\right) + j \cdot \left(c \cdot a - y \cdot i\right)\]
\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - t \cdot i\right)\right) + j \cdot \left(c \cdot a - y \cdot i\right)
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r20714 = x;
        double r20715 = y;
        double r20716 = z;
        double r20717 = r20715 * r20716;
        double r20718 = t;
        double r20719 = a;
        double r20720 = r20718 * r20719;
        double r20721 = r20717 - r20720;
        double r20722 = r20714 * r20721;
        double r20723 = b;
        double r20724 = c;
        double r20725 = r20724 * r20716;
        double r20726 = i;
        double r20727 = r20718 * r20726;
        double r20728 = r20725 - r20727;
        double r20729 = r20723 * r20728;
        double r20730 = r20722 - r20729;
        double r20731 = j;
        double r20732 = r20724 * r20719;
        double r20733 = r20715 * r20726;
        double r20734 = r20732 - r20733;
        double r20735 = r20731 * r20734;
        double r20736 = r20730 + r20735;
        return r20736;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019173 +o rules:numerics
(FPCore (x y z t a b c i j)
  :name "Data.Colour.Matrix:determinant from colour-2.3.3, A"

  :herbie-target
  (if (< x -1.469694296777705e-64) (+ (- (* x (- (* y z) (* t a))) (/ (* b (- (pow (* c z) 2.0) (pow (* t i) 2.0))) (+ (* c z) (* t i)))) (* j (- (* c a) (* y i)))) (if (< x 3.2113527362226803e-147) (- (* (- (* b i) (* x a)) t) (- (* z (* c b)) (* j (- (* c a) (* y i))))) (+ (- (* x (- (* y z) (* t a))) (/ (* b (- (pow (* c z) 2.0) (pow (* t i) 2.0))) (+ (* c z) (* t i)))) (* j (- (* c a) (* y i))))))

  (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* t i)))) (* j (- (* c a) (* y i)))))

Backtrace

atab-pick-alt: contract violation expected: alt? given: '(#<alt (λ (x y z t a b c i j) (fma (- (* a c) (* y i)) j (fma b (fma i t (- (* z c))) (* (fma (- a) t (* z y)) x))))>) in: the range of the #:picking-func argument of (-> alt-table? #:only-fresh boolean? #:picking-func (-> (listof alt?) alt?) (values alt? alt-table?)) contract from: /data/pavpan/nightlies/herbie/no-costs-2/src/core/alt-table.rkt blaming: /data/pavpan/nightlies/herbie/no-costs-2/src/mainloop.rkt (assuming the contract is correct) at: /data/pavpan/nightlies/herbie/no-costs-2/src/core/alt-table.rkt:13.3LC
raise-blame-error16/opt/racket-7.0/collects/racket/contract/private/blame.rkt3470
(unnamed)/data/pavpan/nightlies/herbie/no-costs-2/src/core/alt-table.rkt590
(unnamed)/opt/racket-7.0/collects/racket/contract/private/arrow-val-first.rkt38818
choose-best-alt!/data/pavpan/nightlies/herbie/no-costs-2/src/mainloop.rkt1100
run-iter!/data/pavpan/nightlies/herbie/no-costs-2/src/mainloop.rkt3190
for-loop/data/pavpan/nightlies/herbie/no-costs-2/src/mainloop.rkt3534
run-improve43/data/pavpan/nightlies/herbie/no-costs-2/src/mainloop.rkt3380
(unnamed)/opt/racket-7.0/collects/racket/private/more-scheme.rkt26128
run/opt/racket-7.0/share/pkgs/profile-lib/main.rkt392
profile-thunk16/opt/racket-7.0/share/pkgs/profile-lib/main.rkt90
(unnamed)/opt/racket-7.0/collects/racket/private/more-scheme.rkt26128