1. In an optimizing compiler, a method for use in a code optimization phase of the compiler's operation to optimize code in a program presented for compilation, said method utilizing reassociation principles to determine a preferred order of combining terms in a sum in order to produce loop invariant subcomputations and to promote common sub-expressions among several essential computations which method comprises the steps of: 1. performing control flow analysis on said code to find and indentify strongly connected regions in said program; 2.