About Me

Brett Saiki

My name is Brett Saiki. I am a fourth-year undergraduate student at the University of Washington double-majoring in computer engineering and mathematics. I am engaged in research on computer number systems and term-rewriting techniques alongside my advisers Zach Tatlock and Pavel Panchekha. I currently work on projects like Herbie, Ruler, and FPBench.

UW Emailbsaiki@cs.washington.edu
Personal Emailbksaiki@gmail.com

If you wish to contact me about my research, please use my UW email address.

More linksLinkedInResumeGithubBlogPapers


Herbie - a tool for minimizing error in floating-point expressions.

FPBench - a collection of benchmarks, compilers, and standards for the floating-point research community.

Ruler - a framework for synthesizing rewrite rules for a particular domain.


Rewrite Rule Inference Using Equality Saturation
Chandrakana Nandi, Max Willsey, Amy Zhu, Brett Saiki, Yisu Wang, Adam Anderson, Adriana Schulz, Dan Grossman, Zachary Tatlock
Object-Oriented Programming, Systems, Languages & Applications (OOPSLA) 2021
Distinguished Paper Award
Combining Precision Tuning and Rewriting
Brett Saiki, Oliver Flatt, Chandrakana Nandi, Pavel Panchekha, Zachary Tatlock
IEEE Symposium on Computer Arithmetic (ARITH) 2021

Side Projects

Minim - a Scheme-like language inspired by recent work in Racket.

ENL - a library of alternate number systems written in C. Currently supports quad-double.

generic-flonum - Racket interface for MPFR that supports subnormal numbers and variable exponent sizes.


FPBench community - FPBench, FPCore, number systems, and more. Please start here if you want to know more about the FPBench Project.

Herbie web demo - an interactive page that runs programs through Herbie. Try it out!


June 12, 2022

Herbie 1.6 is now live! Please check out the newest release of Herbie. It features my work replacing Herbie's "recursive rewrite" algorithm with one using the egg library as well as many other exciting features like shorter branch conditions and an improved web interface.

July 14, 2021

I gave a talk at FPTalks 2021, the second annual research conference hosted by the FPBench team, complete with 20 virtual talks. Please join us next year (hopefully in person!). My talk was a shortened version of the one Oliver and I gave at ARITH '21.

March 27, 2021

I released Minim version 0.2.1. The language contains over 130 built-in procedures and constants as well as a small standard library. As of 0.2.0, Minim can be run in a REPL or on a file.

October 28, 2020

I released Minim version 0.1.0, the first release for the project, with minimal support for symbols, numbers, pairs, lists, and lambdas. It's hilarious that you can calculate e^x but you can't print "Hello, World!". Next steps: strings, hash tables, vectors, and everything else a language should have...

June 24, 2020

I attended FPTalks 2020, the first annual research conference hosted by the FPBench team, complete with 16 speakers, Zoom, and virtual hangouts. Please join us next year in June. Check out the FPBench community page for more information.