Controlling the Size of Supercompiled Programs using Multi-result Supercompilation
Supercompilation is a powerful program transformation technique with numerous interesting applications. Existing methods of supercompilation, however, are often very unpredictable with respect to the size of the resulting programs. We consider an approach for controlling result size, based on a combination of multi-result supercompilation and a specific generalization strategy, which avoids code duplication. The current early experiments with this method show promising results – we can keep the size of the result small, while still performing powerful optimizations.
READ FULL TEXT