From afc3f2d85da9cbfb09f6578c05e0e11b3301f820 Mon Sep 17 00:00:00 2001 From: Pavel Panchekha Date: Fri, 6 Feb 2026 22:13:22 -0700 Subject: [PATCH] If stuck, return proper boolean intervals --- eval/main.rkt | 4 +++- infra/run-baseline.rkt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) 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)]