A device comprising: a first input buffer having a first width; a second input buffer having the first width; a multiply/accumulate circuit configured to perform a multiply/accumulate operation on input arguments having a second width that is half the first width, the multiply/accumulate circuit having an accumulation buffer having a third width three times the second width; a group accumulator configured to accumulate an output the multiply/accumulate circuit, the group accumulator including a group accumulation buffer having a fourth width that is twice the third width; a sequencer configured to, read a first value from the first input buffer and read a second value from the second input buffer and processing the first value and the second value by: performing a multiply/accumulate operation on a high portion of the first value and a high portion of the second value using a computational pipeline having a second width to obtain a first intermediate accumulation; left shift the first intermediate accumulation by the first width and add the first intermediate accumulation to a group accumulation value stored in the group accumulation buffer; performing a multiply/accumulate operation on the high portion of the first value and a low portion of the second value to obtain a second intermediate accumulation; left shift the second intermediate accumulation by the second width and add the second intermediate accumulation to the group accumulation value stored in the group accumulation buffer; performing a multiply/accumulate operation on a low portion of the first value and the low portion of the second value to obtain a third intermediate accumulation; add the third intermediate accumulation to the group accumulation value stored in the group accumulation buffer; performing a multiply/accumulate operation on the low portion of the first value and the high portion of the second value to obtain a fourth intermediate accumulation; and left shift the fourth intermediate accumulation by the second width and add the fourth intermediate accumulation to the group accumulation value stored in the group accumulation buffer. a first input buffer having a first width; a second input buffer having the first width; a multiply/accumulate circuit configured to perform a multiply/accumulate operation on input arguments having a second width that is half the first width, the multiply/accumulate circuit having an accumulation buffer having a third width three times the second width; a group accumulator configured to accumulate an output the multiply/accumulate circuit, the group accumulator including a group accumulation buffer having a fourth width that is twice the third width; a sequencer configured to, read a first value from the first input buffer and read a second value from the second input buffer and processing the first value and the second value by: performing a multiply/accumulate operation on a high portion of the first value and a high portion of the second value using a computational pipeline having a second width to obtain a first intermediate accumulation; left shift the first intermediate accumulation by the first width and add the first intermediate accumulation to a group accumulation value stored in the group accumulation buffer; performing a multiply/accumulate operation on the high portion of the first value and a low portion of the second value to obtain a second intermediate accumulation; left shift the second intermediate accumulation by the second width and add the second intermediate accumulation to the group accumulation value stored in the group accumulation buffer; performing a multiply/accumulate operation on a low portion of the first value and the low portion of the second value to obtain a third intermediate accumulation; add the third intermediate accumulation to the group accumulation value stored in the group accumulation buffer; performing a multiply/accumulate operation on the low portion of the first value and the high portion of the second value to obtain a fourth intermediate accumulation; and left shift the fourth intermediate accumulation by the second width and add the fourth intermediate accumulation to the group accumulation value stored in the group accumulation buffer. performing a multiply/accumulate operation on a high portion of the first value and a high portion of the second value using a computational pipeline having a second width to obtain a first intermediate accumulation; left shift the first intermediate accumulation by the first width and add the first intermediate accumulation to a group accumulation value stored in the group accumulation buffer; performing a multiply/accumulate operation on the high portion of the first value and a low portion of the second value to obtain a second intermediate accumulation; left shift the second intermediate accumulation by the second width and add the second intermediate accumulation to the group accumulation value stored in the group accumulation buffer; performing a multiply/accumulate operation on a low portion of the first value and the low portion of the second value to obtain a third intermediate accumulation; add the third intermediate accumulation to the group accumulation value stored in the group accumulation buffer; performing a multiply/accumulate operation on the low portion of the first value and the high portion of the second value to obtain a fourth intermediate accumulation; and left shift the fourth intermediate accumulation by the second width and add the fourth intermediate accumulation to the group accumulation value stored in the group accumulation buffer.