\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double r9114 = x;
double r9115 = y;
double r9116 = r9114 * r9115;
double r9117 = z;
double r9118 = t;
double r9119 = r9117 * r9118;
double r9120 = r9116 - r9119;
double r9121 = a;
double r9122 = b;
double r9123 = r9121 * r9122;
double r9124 = c;
double r9125 = i;
double r9126 = r9124 * r9125;
double r9127 = r9123 - r9126;
double r9128 = r9120 * r9127;
double r9129 = j;
double r9130 = r9114 * r9129;
double r9131 = k;
double r9132 = r9117 * r9131;
double r9133 = r9130 - r9132;
double r9134 = y0;
double r9135 = r9134 * r9122;
double r9136 = y1;
double r9137 = r9136 * r9125;
double r9138 = r9135 - r9137;
double r9139 = r9133 * r9138;
double r9140 = r9128 - r9139;
double r9141 = y2;
double r9142 = r9114 * r9141;
double r9143 = y3;
double r9144 = r9117 * r9143;
double r9145 = r9142 - r9144;
double r9146 = r9134 * r9124;
double r9147 = r9136 * r9121;
double r9148 = r9146 - r9147;
double r9149 = r9145 * r9148;
double r9150 = r9140 + r9149;
double r9151 = r9118 * r9129;
double r9152 = r9115 * r9131;
double r9153 = r9151 - r9152;
double r9154 = y4;
double r9155 = r9154 * r9122;
double r9156 = y5;
double r9157 = r9156 * r9125;
double r9158 = r9155 - r9157;
double r9159 = r9153 * r9158;
double r9160 = r9150 + r9159;
double r9161 = r9118 * r9141;
double r9162 = r9115 * r9143;
double r9163 = r9161 - r9162;
double r9164 = r9154 * r9124;
double r9165 = r9156 * r9121;
double r9166 = r9164 - r9165;
double r9167 = r9163 * r9166;
double r9168 = r9160 - r9167;
double r9169 = r9131 * r9141;
double r9170 = r9129 * r9143;
double r9171 = r9169 - r9170;
double r9172 = r9154 * r9136;
double r9173 = r9156 * r9134;
double r9174 = r9172 - r9173;
double r9175 = r9171 * r9174;
double r9176 = r9168 + r9175;
return r9176;
}
Please include this information when filing a bug report:
herbie shell --seed 2019305
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:name "Linear.Matrix:det44 from linear-1.19.1.3"
:precision binary64
:herbie-target
(if (< y4 -7.2062562319964813e60) (- (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))))) (- (/ (- (* y2 t) (* y3 y)) (/ 1 (- (* y4 c) (* y5 a)))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (if (< y4 -3.3646035052463169e-66) (+ (- (- (- (* (* t c) (* i z)) (* (* a t) (* b z))) (* (* y c) (* i x))) (* (- (* b y0) (* i y1)) (- (* j x) (* k z)))) (- (* (- (* y0 c) (* a y1)) (- (* x y2) (* z y3))) (- (* (- (* t y2) (* y y3)) (- (* y4 c) (* a y5))) (* (- (* y1 y4) (* y5 y0)) (- (* k y2) (* j y3)))))) (if (< y4 -1.2000065055686116e-105) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 6.7189631240574946e-279) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (if (< y4 4.77962681403791987e-222) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 2.2852241541266835e-175) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (- (* k (* i (* z y1))) (+ (* j (* i (* x y1))) (* y0 (* k (* z b)))))) (- (* z (* y3 (* a y1))) (+ (* y2 (* x (* a y1))) (* y0 (* z (* c y3)))))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))))))))
(+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))
| exact?: contract violation expected: number? given: 'h15 | 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 |
| 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 |
| 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 |
| 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 |