An extended exponent floating point unit performs an extended exponent floating
point operation on a plurality of operands to produce a product of the plurality
of operands. The extended exponent floating point unit groups the plurality of
operands into at least one group, determines a plurality of scale factors for the
plurality of operands, respectively, and provides a running sum of the plurality
of scale factors. The extended exponent floating point unit further scales the
plurality of operands to obtain a plurality of scaled operands, multiplies the
plurality of scaled operands to obtain a group product, and scales the group product
to obtain a scaled group product. The scaled group product is adjusted based on
the running sum. The plurality of operands are grouped such that when all the plurality
of scaled operands in the at least one group are multiplied an overflow or underflow
will not occur.