1. A computer readable medium having computer-executable instructions for performing a dataflow analysis of a program, comprising the steps of: (a) representing quantities of the program with types; (b) partitioning the dataflow analysis of the program into phases based on the types; and (c) separately performing the dataflow analysis for each phase.