
this change saves a bunch of space but then more
breaks in the wrong place:

[samth@huor:~/.../papers/rajan-papers/fast-dsl (master) plt] git diff
diff --git a/fast-dsl/fastdsl.tex b/fast-dsl/fastdsl.tex
index b61c3dd..f8e7cdd 100644
--- a/fast-dsl/fastdsl.tex
+++ b/fast-dsl/fastdsl.tex
@@ -256,7 +256,7 @@ difficult to express in a safe, high-level language.
Faced with these limitations, DSL authors have several unpalatable
choices. Either they limit themselves to the performance available in
the host general-purpose language, they abandon smooth
-interoperability and simply generate code in a low-level language like
+interoperability and generate code in a low-level language like
C, or they take on the substantial extra workload of designing a
custom integration for their DSL. Each of these choices is sadly
well-represented in modern DSL design---the first is too numerous to
@@ -295,7 +295,7 @@ programs which generate LLVM IR.
%
However,
the surrounding levels remain the same---code is still generated with
-Racket macros, and the entire system still relies on the Racket
+Racket macros, and the entire system relies on the Racket
runtime.
\begin{figure}
@@ -413,7 +413,7 @@ Last in \cref{sec:hakaru}, our most substantial case study is a new
backend for the Hakaru probabilistic programming system. Using Sham,
we replaced an existing Haskell-generating backend and implemented new
optimizations with substantial performance benefits. The new system is
-up to $20\times$ faster than before.
+up to $20\times$ faster.
%% Acknowledgments

It doesn’t look like any space is needed? It already fits, no?