“…Techniques presented in [14 and 191 can be used for changing the implementation suggestion. [26], ESPRIT/FORMAT [27]) however most of them are restricted to optimizations at a single abstraction level (algebraic, loop, common subexpression ehmination, retiming and scheduling transformations), some, such as GATE and HYPER, include limited refinement by means of strength reduction transformations. Although such approaches have proven to be useful in many cases (examples include optimizing resource utilization, critical path minimization, power reduction, increased testability, all within the context of HYPER, memory reduction [18], and scheduling [23,24]), we found that they are too limited for full scale transformational design.…”