This project will explore three different topics important for the compilation of scientific computations for high-performance computers: Fine-grained compiler analysis and transformations: The PIs will continue their work on fine-grained synchronization removal and program splicing, and explore other analyses and transformations that could benefit from being made fine-grained. Algorithms for Presburger arithmetic and beyond: Performing fine-grained analyses and transformations requires the use of fine-grained tools for representing things such as the dependencies in a program, or arithmetic constraints. The PIs will investigate new algorithms and approaches to obtain significant performance improvements. Efficient sparse matrix code from high-level specifications: The PIs will investigate techniques that allow sparse matrix algorithms to be written in a clean high-level form. Information about special data structures and other complications will be specified in a way similar to HPF data distributions.