Patent ID: 7533139

Claim:
A method of processing supporting and dependent formulas in a spreadsheet program comprising: determining a number of available processors; if the number of available processors is at least two, allocating a recalculation engine to each available processor; distributing the formulas between the recalculation engines, wherein distributing the formulas comprises: selecting a first formula; randomly assigning the first formula to a random one of the recalculation engines; and repeating the selecting and assigning operations for each next formula until all formulas are assigned to one of the recalculation engines; evaluating the formulas distributed to each recalculation engine, wherein evaluating the formulas comprises: selecting a first formula; determining whether the first formula is a dependent formula or supporting formula; if the first formula is a supporting formula, evaluating the formula; if the first formula is a dependent formula, determining whether a supporting formula for this dependent formula is in the recalculation engine; and if the supporting formula is in dependent formula is in the recalculating engine, then placing the supporting formula ahead of the first formula; and displaying results of the evaluated formulas in cells of the spreadsheet, wherein the spreadsheet is displayed through the use of a display device.