type u0 ( min = 0, max = 0, ) type u1 ( min = 0, max = 1, ) type u2 ( min = 0, max = 3, ) type u3 ( min = 0, max = 7, ) type u4 ( min = 0, max = 15, ) type u5 ( min = 0, max = 31, ) type s0 ( min = 0, max = 0, ) type s1 ( min = -1, max = 0, ) type s2 ( min = -2, max = 1, ) type s3 ( min = -4, max = 3, ) type s4 ( min = -8, max = 7, ) type s5 ( min = -16, max = 15, ) addition | u0 u1 u2 u3 u4 u5 -----+------------------------ u0 | u0 u1 u2 u3 u4 u5 u1 | u1 u2 u3 u4 u5 u6 u2 | u2 u3 u3 u4 u5 u6 u3 | u3 u4 u4 u4 u5 u6 u4 | u4 u5 u5 u5 u5 u6 u5 | u5 u6 u6 u6 u6 u6 | u0 u1 u2 u3 u4 u5 -----+------------------------ s0 | u0 u1 u2 u3 u4 u5 s1 | s1 s2 s3 s4 s5 s6 s2 | s2 s3 s4 s5 s6 s7 s3 | s3 s4 s4 s5 s6 s7 s4 | s4 s5 s5 s5 s6 s7 s5 | s5 s6 s6 s6 s6 s7 | s0 s1 s2 s3 s4 s5 -----+------------------------ u0 | u0 s1 s2 s3 s4 s5 u1 | u1 s2 s3 s4 s5 s6 u2 | u2 s3 s4 s4 s5 s6 u3 | u3 s4 s5 s5 s5 s6 u4 | u4 s5 s6 s6 s6 s6 u5 | u5 s6 s7 s7 s7 s7 | s0 s1 s2 s3 s4 s5 -----+------------------------ s0 | u0 s1 s2 s3 s4 s5 s1 | s1 s2 s3 s4 s5 s6 s2 | s2 s3 s3 s4 s5 s6 s3 | s3 s4 s4 s4 s5 s6 s4 | s4 s5 s5 s5 s5 s6 s5 | s5 s6 s6 s6 s6 s6 subtraction | u0 u1 u2 u3 u4 u5 -----+------------------------ u0 | u0 u1 u2 u3 u4 u5 u1 | s1 s2 s3 s4 s5 s6 u2 | s3 s3 s3 s4 s5 s6 u3 | s4 s4 s4 s4 s5 s6 u4 | s5 s5 s5 s5 s5 s6 u5 | s6 s6 s6 s6 s6 s6 | u0 u1 u2 u3 u4 u5 -----+------------------------ s0 | u0 u1 u2 u3 u4 u5 s1 | u1 u2 u3 u4 u5 u6 s2 | s3 s3 s4 s5 s6 s7 s3 | s4 s4 s4 s5 s6 s7 s4 | s5 s5 s5 s5 s6 s7 s5 | s6 s6 s6 s6 s6 s7 | s0 s1 s2 s3 s4 s5 -----+------------------------ u0 | u0 s1 s2 s3 s4 s5 u1 | s1 s2 s3 s4 s5 s6 u2 | s3 s3 s4 s4 s5 s6 u3 | s4 s4 s5 s5 s5 s6 u4 | s5 s5 s6 s6 s6 s6 u5 | s6 s6 s7 s7 s7 s7 | s0 s1 s2 s3 s4 s5 -----+------------------------ s0 | u0 s1 s2 s3 s4 s5 s1 | u1 s2 s3 s4 s5 s6 s2 | s3 s3 s3 s4 s5 s6 s3 | s4 s4 s4 s4 s5 s6 s4 | s5 s5 s5 s5 s5 s6 s5 | s6 s6 s6 s6 s6 s6