1
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: not found

      egg: Fast and extensible equality saturation

      Read this article at

      ScienceOpenPublisher
      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          An e-graph efficiently represents a congruence relation over many expressions. Although they were originally developed in the late 1970s for use in automated theorem provers, a more recent technique known as equality saturation repurposes e-graphs to implement state-of-the-art, rewrite-driven compiler optimizations and program synthesizers. However, e-graphs remain unspecialized for this newer use case. Equality saturation workloads exhibit distinct characteristics and often require ad-hoc e-graph extensions to incorporate transformations beyond purely syntactic rewrites.

          This work contributes two techniques that make e-graphs fast and extensible, specializing them to equality saturation. A new amortized invariant restoration technique called rebuilding takes advantage of equality saturation's distinct workload, providing asymptotic speedups over current techniques in practice. A general mechanism called e-class analyses integrates domain-specific analyses into the e-graph, reducing the need for ad hoc manipulation.

          We implemented these techniques in a new open-source library called egg. Our case studies on three previously published applications of equality saturation highlight how egg's performance and flexibility enable state-of-the-art results across diverse domains.

          Related collections

          Most cited references30

          • Record: found
          • Abstract: not found
          • Article: not found

          A Computing Procedure for Quantification Theory

            Bookmark
            • Record: found
            • Abstract: not found
            • Book Chapter: not found

            Z3: An Efficient SMT Solver

              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Efficiency of a Good But Not Linear Set Union Algorithm

                Bookmark

                Author and article information

                Contributors
                Journal
                Proceedings of the ACM on Programming Languages
                Proc. ACM Program. Lang.
                Association for Computing Machinery (ACM)
                2475-1421
                January 04 2021
                January 04 2021
                January 04 2021
                : 5
                : POPL
                : 1-29
                Affiliations
                [1 ]University of Washington, USA
                [2 ]University of Utah, USA
                Article
                10.1145/3434304
                006b8045-b8e8-4e6a-ac3a-567c22094f40
                © 2021

                http://www.acm.org/publications/policies/copyright_policy#Background

                History

                Comments

                Comment on this article