  In a recent paper Avis, Bremner, Tiwary and Watanabe gave a method for
constructing linear programs (LPs) based on algorithms written in a simple
programming language called Sparks. If an algorithm produces the solution $x$
to a problem in polynomial time and space then the LP constructed is also of
polynomial size and its optimum solution contains $x$ as well as a complete
execution trace of the algorithm. Their method led us to the construction of a
compiler called Sparktope which we describe in this paper. This compiler allows
one to generate polynomial sized LPs for problems in P that have exponential
extension complexity, such as matching problems in non-bipartite graphs.
  In this paper we describe Sparktope, the language Sparks, and the assembler
instructions and LP constraints it produces. This is followed by two concrete
examples, the makespan problem and the problem of testing if a matching in a
graph is maximum, both of which are known to have exponential extension
complexity. Computational results are given. In discussing these examples we
make use of visualization techniques included in Sparktope that may be of
independent interest. The extremely large linear programs produced by the
compiler appear to be quite challenging to solve using currently available
software. Since the optimum LP solutions can be computed independently they may
be useful as benchmarks. Further enhancements of the compiler and its
application are also discussed.
