\[\left(\left(333.75 \cdot {33096}^{6} + \left(77617 \cdot 77617\right) \cdot \left(\left(\left(\left(11 \cdot \left(77617 \cdot 77617\right)\right) \cdot \left(33096 \cdot 33096\right) + \left(-{33096}^{6}\right)\right) + -121 \cdot {33096}^{4}\right) + -2\right)\right) + 5.5 \cdot {33096}^{8}\right) + \frac{77617}{2 \cdot 33096}\]
\left(\left(333.75 \cdot {33096}^{6} + \left(77617 \cdot 77617\right) \cdot \left(\left(\left(\left(11 \cdot \left(77617 \cdot 77617\right)\right) \cdot \left(33096 \cdot 33096\right) + \left(-{33096}^{6}\right)\right) + -121 \cdot {33096}^{4}\right) + -2\right)\right) + 5.5 \cdot {33096}^{8}\right) + \frac{77617}{2 \cdot 33096}
double f() {
        double r8589 = 333.75;
        double r8590 = 33096.0;
        double r8591 = 6.0;
        double r8592 = pow(r8590, r8591);
        double r8593 = r8589 * r8592;
        double r8594 = 77617.0;
        double r8595 = r8594 * r8594;
        double r8596 = 11.0;
        double r8597 = r8596 * r8595;
        double r8598 = r8590 * r8590;
        double r8599 = r8597 * r8598;
        double r8600 = -r8592;
        double r8601 = r8599 + r8600;
        double r8602 = -121.0;
        double r8603 = 4.0;
        double r8604 = pow(r8590, r8603);
        double r8605 = r8602 * r8604;
        double r8606 = r8601 + r8605;
        double r8607 = -2.0;
        double r8608 = r8606 + r8607;
        double r8609 = r8595 * r8608;
        double r8610 = r8593 + r8609;
        double r8611 = 5.5;
        double r8612 = 8.0;
        double r8613 = pow(r8590, r8612);
        double r8614 = r8611 * r8613;
        double r8615 = r8610 + r8614;
        double r8616 = 2.0;
        double r8617 = r8616 * r8590;
        double r8618 = r8594 / r8617;
        double r8619 = r8615 + r8618;
        return r8619;
}

Reproduce

Please include this information when filing a bug report:

herbie shell --seed 2019173 +o rules:numerics
(FPCore ()
  :name "From Warwick Tucker's Validated Numerics"
  (+ (+ (+ (* 333.75 (pow 33096.0 6.0)) (* (* 77617.0 77617.0) (+ (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.0))) -2.0))) (* 5.5 (pow 33096.0 8.0))) (/ 77617.0 (* 2.0 33096.0))))

Backtrace

atab-pick-alt: contract violation expected: alt? given: '(#<alt (λ () (fma (* 77617.0 77617.0) (fma (* 77617.0 77617.0) (* (* 33096.0 33096.0) 11.0) (fma (pow 33096.0 4.0) -121.0 (- -2.0 (pow 33096.0 6.0)))) (fma 333.75 (pow 33096.0 6.0) (fma (pow 33096.0 8.0) 5.5 (/ (/ 77617.0 33096.0) 2.0)))))>) 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