a multi - operand decimal adder is described that performs addition on multiple binary coded decimal operands . the multi - operand decimal adder uses binary carry - save adders to produce intermediate sums and carries , and outputs a decimal result based on the intermediate sums and carries . in various configurations , the multi - operand decimal adder may perform speculative or non - speculative binary carry - save addition . the multioperand decimal adders achieve a reasonable critical path . as a result , the decimal adders and the techniques described herein may be especially suited for numerically intensive commercial applications , such as spreadsheet or financial applications where large amounts of decimal data typically need to be processed quickly .