Goal
Integrate StructuralEnum into the ev verify CLI path, replacing
expand_all + evaluate_all with the structural enumeration pipeline.
This makes the 73x-1000x speedup available to all CLI users.
Also: verify the CVA6 full (33M) struct_enum estimate by running the
actual benchmark.
Background
The library already has StructuralEnum (structurally filtered iteration)
and build_runtime_checks (runtime-only constraint evaluation). But the
CLI ev verify still uses the old pipeline:
Current: expand_all → evaluate_all → reporter (~32s for CVA6 full)
Target: StructuralEnum → runtime_checks → reporter (~32ms for CVA6 full)
Tasks
- Add
cva6_xif_ref fixture bench to benches/bench.rs
- Run
cargo bench -- struct_enum/cva6_full to get actual measurement
- Update
cva6.qmd, ibex.qmd, index.qmd with confirmed numbers
- (Optional) Add
--structural flag to ev verify CLI
Expected result
| Metric |
Current estimate |
Verified |
| CVA6 full struct_enum |
~32 ms |
TBD |
| CVA6 full speedup |
~1000x |
TBD |
Goal
Integrate
StructuralEnuminto theev verifyCLI path, replacingexpand_all+evaluate_allwith the structural enumeration pipeline.This makes the 73x-1000x speedup available to all CLI users.
Also: verify the CVA6 full (33M) struct_enum estimate by running the
actual benchmark.
Background
The library already has
StructuralEnum(structurally filtered iteration)and
build_runtime_checks(runtime-only constraint evaluation). But theCLI
ev verifystill uses the old pipeline:Tasks
cva6_xif_reffixture bench tobenches/bench.rscargo bench -- struct_enum/cva6_fullto get actual measurementcva6.qmd,ibex.qmd,index.qmdwith confirmed numbers--structuralflag toev verifyCLIExpected result