diff --git a/eval/main.rkt b/eval/main.rkt index ba88fb5..e0eee9b 100644 --- a/eval/main.rkt +++ b/eval/main.rkt @@ -104,7 +104,9 @@ (rival-machine-full machine (or hint (rival-machine-default-hint machine))))) (define-values (hint* hint*-converged?) (make-hint machine (or hint (rival-machine-default-hint machine)))) - (list (ival (or bad? stuck?) (not good?)) hint* hint*-converged?)) + ;; `stuck?` should be terminal for sampling, same as invalid. + ;; Keep the boolean interval valid by setting the upper bit as well. + (list (ival (or bad? stuck?) (or (not good?) stuck?)) hint* hint*-converged?)) (define (rival-analyze machine rect) (car (rival-analyze-with-hints machine rect))) diff --git a/infra/run-baseline.rkt b/infra/run-baseline.rkt index bfcdbb6..32c260a 100644 --- a/infra/run-baseline.rkt +++ b/infra/run-baseline.rkt @@ -103,7 +103,7 @@ (baseline-machine-full machine (or hint (rival-machine-default-hint machine)))) (define-values (hint* hint*-converged?) (make-hint machine (or hint (rival-machine-default-hint machine)))) - (list (ival (or bad? stuck?) (not good?)) hint* hint*-converged?)) + (list (ival (or bad? stuck?) (or (not good?) stuck?)) hint* hint*-converged?)) (define (baseline-machine-adjust machine) (let ([start-time (current-inexact-milliseconds)]