A curated list of resources related to e-graphs, equality saturation, and their applications. Contributions are welcome! Thanks to Yihong Zhang for the initial list which is complementary to this one and still updated.
A reverse search on the egg paper on Google Scholar is a good way to stay up to date
ROVER: Combining Power and Arithmetic Optimization via Datapath Rewriting. ARITH 2024.
Infinity Stream: Portable and Programmer-Friendly In-/Near-Memory Fusion. ASPLOS 2023.
Lakeroad FPGA Technology Mapping Using Sketch-Guided Program Synthesis repo
SEER Super-Optimization Explorer for High-Level Synthesis using E-graph Rewriting
ESFO Equality Saturation for FIRRTL Optimization
There and Back Again A Netlist's Tale with Much Egraphin'
E-Syn Eqsat framework for technology-aware logic synthesis
BoolE Exact Symbolic Reasoning via Boolean Equality Saturation
E-morphic Scalable Equality Saturation for Structural Exploration in Logic Synthesis repo
Equality Saturation for Circuit Synthesis and Verification Samuel Coward Thesis
Yosys + egglog: Supercharge your passes with Equality Saturation
EqMap FPGA LUT Remapping using E-Graphs
Szalinski: Synthesizing Structured CAD Models with Equality Saturation and Inverse Transformations.
PLDI 2020.
Ruler: Rewrite Rule Inference Using Equality Saturation. OOPSLA 2021. Distinguished paper.
CCLemma: E-Graph Guided Lemma Discovery for Inductive Equational Proofs. ICFP 2024.
enumo: Equality Saturation Theory Exploration à la Carte. OOPSLA 2023.
babble: Learning Better Abstractions with E-Graphs and Anti-unification. POPL 2023.
MegaLibm: Implementation and Synthesis of Math Library Functions. POPL 2024. Distinguished paper.
Isaria: Automatic Generation of Vectorizing Compilers for Customizable Digital Signal Processors. ASPLOS 2024. Best paper.
srtree A supporting library for tree-based symbolic regression
TheSy: Theory Synthesizer - a theory exploration tool for inductive equational proofs. paper
Herbie: Automatically Improving Accuracy for Floating Point Expressions.
PLDI 2015. Distinguished paper.
Felix: Optimizing Tensor Programs with Gradient Descent. ASPLOS 2024.
aegraphs: Acyclic E-graphs for Efficient Optimization in a Production Compiler https://vimeo.com/843540328
Sketch-Guided Equality Saturation: Scaling Equality Saturation to Complex Optimizations of Functional Programs
peggy Equality Saturation: A New Approach to Optimization
optir RVSDG optimizing intermediate representation
Denali A practical algorithm for generating optimal code
Glenside Pure Tensor Program Rewriting via Access Patterns
SPORES sum-product optimization via relational equality saturation for large scale linear algebra
∇SD: A Tensor Algebra Compiler for Sparse Differentiation. CGO 2024.
TenSat: Equality Saturation for Tensor Graph Superoptimization. MLSys 2021.
PolyJuice: Detecting Mis-compilation Bugs in Tensor Compilers with Equality Saturation Based Rewriting. OOPSLA 2024.
RisingLight: Write a SQL Optimizer using Egg. EGRAPHS 2023.
Hydro: Optimizing Stateful Dataflow with Local Rewrites. EGRAPHS 2023.
SpEQ: Translation of Sparse Codes using Equivalences
ACC Saturator : Automatic Kernel Optimization for Directive-Based GPU Code
Q-gym: An Equality Saturation Framework for DNN Inference Exploiting Weight Repetition
Diospyros: Vectorization for Digital Signal Processors via Equality Saturation. ASPLOS 2021.
Chassis : Target-Aware Implementation of Real Expressions
Optimizing Tensor Computation Graphs with Equality Saturation and Monte Carlo Tree Search
Latent Idiom Recognition for a Minimalist Functional Array Language Using Equality Saturation
DialEgg Dialect-Agnostic MLIR Optimizer using Equality Saturation with Egglog video
Zob Zig optimizing backend
Database Theory in Action: Search-Based Program Optimization
cgen compiler backend written in OCaml
eqsat: An Equality Saturation Dialect for Non-destructive Rewriting
MISAAL: Synthesis-Based Automatic Generation of Efficient and Retargetable Semantics-Driven Optimizations
ACT: Automatically Generating Compiler Backends from Tensor Accelerator ISA Descriptions
Pushing Tensor Accelerators beyond MatMul in a User-Schedulable Language
YOGO Semantic Code Search via Equational Reasoning
VyZX: Formal Verification of a Graphical Quantum Language with automated structural rewrites.
Thesis 2023.
Maletskyi and Shymanskyi: Genome Compression Using Program Synthesis.
IDDM 2023.
Cornelius: Equivalent and redundant mutant detection with e-graphs!!!
MetaEmu: An Architecture Agnostic Rehosting Framework for Automotive Firmware.
CCS 2022.
wasm-evasion: WebAssembly diversification for malware evasion.
COSE 2023.
Guided Equality Saturation: Improve performance/capabilities by using guides in a semi-automatic equality saturation process. POPL 2024.
Novel Algorithms for Computing Correlation Functions of Nuclei
rEGGression: an Interactive and Agnostic Tool for the Exploration of Symbolic Regression Models
eggshell Wrapper around egg with various TRS implementations for ML
egg-bench Benchmark problems for egraphs
Pointers to the actual files are preferred. Human readable tables and imperative implementations are ok. It is all on a spectrum. A goal is to move these rules into more declarative and machine executable forms. Often files are in benchmarks or test directories
See Where are all the rewrite rules?
A curated list of resources related to e-graphs, equality saturation, and their applications. Contributions are welcome! Thanks to Yihong Zhang for the initial list which is complementary to this one and still updated.
A reverse search on the egg paper on Google Scholar is a good way to stay up to date
ROVER: Combining Power and Arithmetic Optimization via Datapath Rewriting. ARITH 2024.
Infinity Stream: Portable and Programmer-Friendly In-/Near-Memory Fusion. ASPLOS 2023.
Lakeroad FPGA Technology Mapping Using Sketch-Guided Program Synthesis repo
SEER Super-Optimization Explorer for High-Level Synthesis using E-graph Rewriting
ESFO Equality Saturation for FIRRTL Optimization
There and Back Again A Netlist's Tale with Much Egraphin'
E-Syn Eqsat framework for technology-aware logic synthesis
BoolE Exact Symbolic Reasoning via Boolean Equality Saturation
E-morphic Scalable Equality Saturation for Structural Exploration in Logic Synthesis repo
Equality Saturation for Circuit Synthesis and Verification Samuel Coward Thesis
Yosys + egglog: Supercharge your passes with Equality Saturation
EqMap FPGA LUT Remapping using E-Graphs
Szalinski: Synthesizing Structured CAD Models with Equality Saturation and Inverse Transformations.
PLDI 2020.
Ruler: Rewrite Rule Inference Using Equality Saturation. OOPSLA 2021. Distinguished paper.
CCLemma: E-Graph Guided Lemma Discovery for Inductive Equational Proofs. ICFP 2024.
enumo: Equality Saturation Theory Exploration à la Carte. OOPSLA 2023.
babble: Learning Better Abstractions with E-Graphs and Anti-unification. POPL 2023.
MegaLibm: Implementation and Synthesis of Math Library Functions. POPL 2024. Distinguished paper.
Isaria: Automatic Generation of Vectorizing Compilers for Customizable Digital Signal Processors. ASPLOS 2024. Best paper.
srtree A supporting library for tree-based symbolic regression
TheSy: Theory Synthesizer - a theory exploration tool for inductive equational proofs. paper
Herbie: Automatically Improving Accuracy for Floating Point Expressions.
PLDI 2015. Distinguished paper.
Felix: Optimizing Tensor Programs with Gradient Descent. ASPLOS 2024.
aegraphs: Acyclic E-graphs for Efficient Optimization in a Production Compiler https://vimeo.com/843540328
Sketch-Guided Equality Saturation: Scaling Equality Saturation to Complex Optimizations of Functional Programs
peggy Equality Saturation: A New Approach to Optimization
optir RVSDG optimizing intermediate representation
Denali A practical algorithm for generating optimal code
Glenside Pure Tensor Program Rewriting via Access Patterns
SPORES sum-product optimization via relational equality saturation for large scale linear algebra
∇SD: A Tensor Algebra Compiler for Sparse Differentiation. CGO 2024.
TenSat: Equality Saturation for Tensor Graph Superoptimization. MLSys 2021.
PolyJuice: Detecting Mis-compilation Bugs in Tensor Compilers with Equality Saturation Based Rewriting. OOPSLA 2024.
RisingLight: Write a SQL Optimizer using Egg. EGRAPHS 2023.
Hydro: Optimizing Stateful Dataflow with Local Rewrites. EGRAPHS 2023.
SpEQ: Translation of Sparse Codes using Equivalences
ACC Saturator : Automatic Kernel Optimization for Directive-Based GPU Code
Q-gym: An Equality Saturation Framework for DNN Inference Exploiting Weight Repetition
Diospyros: Vectorization for Digital Signal Processors via Equality Saturation. ASPLOS 2021.
Chassis : Target-Aware Implementation of Real Expressions
Optimizing Tensor Computation Graphs with Equality Saturation and Monte Carlo Tree Search
Latent Idiom Recognition for a Minimalist Functional Array Language Using Equality Saturation
DialEgg Dialect-Agnostic MLIR Optimizer using Equality Saturation with Egglog video
Zob Zig optimizing backend
Database Theory in Action: Search-Based Program Optimization
cgen compiler backend written in OCaml
eqsat: An Equality Saturation Dialect for Non-destructive Rewriting
MISAAL: Synthesis-Based Automatic Generation of Efficient and Retargetable Semantics-Driven Optimizations
ACT: Automatically Generating Compiler Backends from Tensor Accelerator ISA Descriptions
Pushing Tensor Accelerators beyond MatMul in a User-Schedulable Language
YOGO Semantic Code Search via Equational Reasoning
VyZX: Formal Verification of a Graphical Quantum Language with automated structural rewrites.
Thesis 2023.
Maletskyi and Shymanskyi: Genome Compression Using Program Synthesis.
IDDM 2023.
Cornelius: Equivalent and redundant mutant detection with e-graphs!!!
MetaEmu: An Architecture Agnostic Rehosting Framework for Automotive Firmware.
CCS 2022.
wasm-evasion: WebAssembly diversification for malware evasion.
COSE 2023.
Guided Equality Saturation: Improve performance/capabilities by using guides in a semi-automatic equality saturation process. POPL 2024.
Novel Algorithms for Computing Correlation Functions of Nuclei
rEGGression: an Interactive and Agnostic Tool for the Exploration of Symbolic Regression Models
eggshell Wrapper around egg with various TRS implementations for ML
egg-bench Benchmark problems for egraphs
Pointers to the actual files are preferred. Human readable tables and imperative implementations are ok. It is all on a spectrum. A goal is to move these rules into more declarative and machine executable forms. Often files are in benchmarks or test directories
See Where are all the rewrite rules?