Optimal scheduling of arithmetic operations in parallel with memory access (preliminary version)

We propose a new machine model in which load operations can be performed in parallel with arithmetic operations by two separate functional units. For this model, the evaluation of expression trees is considered. An efficient algorithm to produce an optimal order of evaluation is described and analyzed. For a tree with <italic>n</italic> vertices the algorithm runs in time &Ogr;(<italic>n</italic> log<supscrpt>2</supscrpt><italic>n</italic>). If the arithmetic operations have at most two arguments, the complexity goes down to &Ogr;(<italic>n</italic> log<italic>n</italic>).