\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r8381 = x;
double r8382 = y;
double r8383 = r8381 * r8382;
double r8384 = z;
double r8385 = t;
double r8386 = r8384 * r8385;
double r8387 = r8383 + r8386;
double r8388 = a;
double r8389 = b;
double r8390 = r8388 * r8389;
double r8391 = r8387 + r8390;
double r8392 = c;
double r8393 = i;
double r8394 = r8392 * r8393;
double r8395 = r8391 + r8394;
return r8395;
}
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)
:name "Linear.V4:$cdot from linear-1.19.1.3, C"
(+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))
| atab-pick-alt: contract violation expected: alt? given: '(#<alt (λ (x y z t a b c i) (fma i c (fma a b (fma x y (* z t)))))>) 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.3 | L | C | |
|---|---|---|---|
| raise-blame-error16 | /opt/racket-7.0/collects/racket/contract/private/blame.rkt | 347 | 0 |
| (unnamed) | /data/pavpan/nightlies/herbie/no-costs-2/src/core/alt-table.rkt | 59 | 0 |
| (unnamed) | /opt/racket-7.0/collects/racket/contract/private/arrow-val-first.rkt | 388 | 18 |
| choose-best-alt! | /data/pavpan/nightlies/herbie/no-costs-2/src/mainloop.rkt | 110 | 0 |
| run-iter! | /data/pavpan/nightlies/herbie/no-costs-2/src/mainloop.rkt | 319 | 0 |
| for-loop | /data/pavpan/nightlies/herbie/no-costs-2/src/mainloop.rkt | 353 | 4 |
| run-improve43 | /data/pavpan/nightlies/herbie/no-costs-2/src/mainloop.rkt | 338 | 0 |
| (unnamed) | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 261 | 28 |
| run | /opt/racket-7.0/share/pkgs/profile-lib/main.rkt | 39 | 2 |
| profile-thunk16 | /opt/racket-7.0/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /opt/racket-7.0/collects/racket/private/more-scheme.rkt | 261 | 28 |