egraphs-good / extraction-gym

benchmarking e-graph extraction
MIT License
24 stars 15 forks source link

Test code #31

Closed TrevorHansen closed 5 months ago

TrevorHansen commented 6 months ago

This generates some semi-random egraphs, runs extractors on them, checks that the extractions are valid, then checks that the optimal extractions all have the same cost, and then checks that there are no extractions cheaper than the optimal extractions.

I'm happy to improve this. I've not done automated testing in Rust before, so it's easy for me to believe there are better ways.

TrevorHansen commented 6 months ago

The improved random egraph generation now generates egraphs that cause the faster-greedy-dag extractor to fail.

mwillsey commented 6 months ago

@oflatt were your change requests addressed?