English
Related papers

Related papers: Equality Saturation for Optimizing High-Level Juli…

200 papers

This thesis proposes an advanced, generic and high-level code rewriting and analysis system in the Julia programming language, providing applied equality saturation in the presence of multiple dispatch and metaprogramming. We show how our…

Programming Languages · Computer Science 2022-02-08 Alessandro Cheli

Many compilers, synthesizers, and theorem provers rely on rewrite rules to simplify expressions or prove equivalences. Developing rewrite rules can be difficult: rules may be subtly incorrect, profitable rules are easy to miss, and rulesets…

Programming Languages · Computer Science 2021-08-25 Chandrakana Nandi , Max Willsey , Amy Zhu , Yisu Remy Wang , Brett Saiki , Adam Anderson , Adriana Schulz , Dan Grossman , Zachary Tatlock

We introduce Metatheory.jl: a lightweight and performant general purpose symbolics and metaprogramming framework meant to simplify the act of writing complex Julia metaprograms and to significantly enhance Julia with a native term rewriting…

Programming Languages · Computer Science 2021-04-14 Alessandro Cheli

Generating high-performance code for diverse hardware and application domains is challenging. Functional array programming languages with patterns like map and reduce have been successfully combined with term rewriting to define and explore…

Programming Languages · Computer Science 2022-06-06 Thomas Koehler , Phil Trinder , Michel Steuwer

Modern equality saturation systems excel at expression-level rewrites by exploring large spaces of equivalent programs without suffering from the phase-ordering problem. How- ever, these systems struggle to represent equivalence directly…

Programming Languages · Computer Science 2026-05-28 Guillermo Garcia

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…

Programming Languages · Computer Science 2021-01-08 Max Willsey , Chandrakana Nandi , Yisu Remy Wang , Oliver Flatt , Zachary Tatlock , Pavel Panchekha

Since time immemorial an old adage has always seemed to ring true: you cannot use a high-level productive programming language like Python or R for real-time control and embedded-systems programming, you must rewrite your program in C. We…

Systems and Control · Electrical Eng. & Systems 2025-02-10 Fredrik Bagge Carlson , Cody Tapscott , Gabriel Baraldi , Chris Rackauckas

With recent algorithmic improvements and easy-to-use libraries, equality saturation is being picked up for hardware design, program synthesis, theorem proving, program optimization, and more. Existing work on using equality saturation for…

Programming Languages · Computer Science 2025-05-16 Jules Merckx , Alexandre Lopoukhine , Samuel Coward , Jianyi Cheng , Bjorn De Sutter , Tobias Grosser

Recent algorithmic advances have made equality saturation an appealing approach to program optimization because it avoids the phase-ordering problem. Existing work uses external equality saturation libraries, or custom implementations that…

Programming Languages · Computer Science 2026-02-19 Jules Merckx , Alexandre Lopoukhine , Samuel Coward , Jianyi Cheng , Bjorn De Sutter , Tobias Grosser

Equality saturation, a technique for program optimisation and reasoning, has gained attention due to the resurgence of equality graphs (e-graphs). E-graphs represent equivalence classes of terms under rewrite rules, enabling simultaneous…

Logic in Computer Science · Computer Science 2025-05-05 Aleksei Tiurin , Dan R. Ghica , Nick Hu

The Julia programming language was designed to fill the needs of scientific computing by combining the benefits of productivity and performance languages. Julia allows users to write untyped scripts easily without needing to worry about…

Programming Languages · Computer Science 2023-10-27 Benjamin Chung

Automatic code optimization is a complex process that typically involves the application of multiple discrete algorithms that modify the program structure irreversibly. However, the design of these algorithms is often monolithic, and they…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-18 Kazuaki Matsumura , Simon Garcia De Gonzalo , Antonio J. Peña

We introduce the third major version of Metatheory.jl, a Julia library for general-purpose metaprogramming and symbolic computation. Metatheory.jl provides a flexible and performant implementation of e-graphs and Equality Saturation (EqSat)…

Programming Languages · Computer Science 2024-06-04 Alessandro Cheli , Niklas Heim

In technology mapping, the quality of the final implementation heavily relies on the circuit structure after technology-independent optimization. Recent studies have introduced equality saturation as a novel optimization approach. However,…

Hardware Architecture · Computer Science 2025-04-22 Chen Chen , Guangyu HU , Cunxi Yu , Yuzhe Ma , Hongce Zhang

Optimizations in a traditional compiler are applied sequentially, with each optimization destructively modifying the program to produce a transformed program that is then passed to the next optimization. We present a new approach for…

Programming Languages · Computer Science 2015-07-01 Ross Tate , Michael Stepp , Zachary Tatlock , Sorin Lerner

Equality saturation is a program optimization technique based on non-destructive rewriting and a form of abstract interpretation called e-class analysis. Existing e-class analyses are pessimistic and therefore typically imprecise when…

Programming Languages · Computer Science 2026-04-17 Russel Arbore , Alvin Cheung , Max Willsey

Technical computing is a challenging application area for programming languages to address. This is evinced by the unusually large number of specialized languages in the area (e.g. MATLAB, R), and the complexity of common software stacks,…

Programming Languages · Computer Science 2018-08-13 Jeff Bezanson , Jake Bolewski , Jiahao Chen

Bridging cultures that have often been distant, Julia combines expertise from the diverse fields of computer science and computational science to create a new approach to numerical computing. Julia is designed to be easy and fast. Julia…

Mathematical Software · Computer Science 2015-07-21 Jeff Bezanson , Alan Edelman , Stefan Karpinski , Viral B. Shah

Optimizing a stateful dataflow language is a challenging task. There are strict correctness constraints for preserving properties expected by downstream consumers, a large space of possible optimizations, and complex analyses that must…

Programming Languages · Computer Science 2023-06-21 Shadaj Laddad , Conor Power , Tyler Hou , Alvin Cheung , Joseph M. Hellerstein

In this submission, we explore the use of equality saturation to optimize concurrent computations. A concurrent environment gives rise to new optimization opportunities, like extracting a common concurrent subcomputation. To our knowledge,…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-08-15 Henrich Lauko , Lukáš Korenčik , Peter Goodman
‹ Prev 1 2 3 10 Next ›