A loop transformation theory and an algorithm to maximize parallelism | Synapse