Hasty Briefsbeta

Basics of Equality Saturation

3 days ago
  • #egglog
  • #linear algebra
  • #optimization
  • Introduction to building an optimizer for linear algebra using egglog.
  • Initial DSL supports constants, variables, addition, and multiplication.
  • Defining Num class with operations like addition and multiplication.
  • Support for inverse operations and type conversions for ease of use.
  • Creating simple expressions and checking their properties in the e-graph.
  • Defining rewrite rules for commutativity and associativity of addition and multiplication.
  • Explanation of how rules are applied and their limitations.
  • Running rules for constant folding over addition and multiplication.
  • Demonstration of how expressions become equivalent after running rules.