1. A method to design a circuit, comprising: optimizing a portion of a data flow graph representation of the circuit at a circuit operation level to produce a data flow graph; and optimizing the data flow graph at a data flow level to produce an optimized data flow graph.