Equality Saturation Optimizer for Linear Algebra with Egglog
2025-09-16
This tutorial demonstrates building a linear algebra optimizer using Egglog. Starting with simple arithmetic expressions (constants, variables, addition, multiplication), it leverages equality saturation to build optimization rules (commutativity, associativity, constant folding). The tutorial details defining converters, writing rewrite rules, and using `egraph.run()` for optimization, finally verifying expression equivalence, such as the equivalence of 2 * (x * 3) and 6 * x.