Long Product combine1: Maximum use of data abstraction: Best: 19.87 (4%), Overall Best: 19.89 40-most: 20.02 cycles/element Long Product combine2: Take vec_length() out of loop: Best: 16.48 (16%), Overall Best: 16.49 40-most: 16.54 cycles/element Long Product combine3: Array reference to vector data: Best: 9.02 (84%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product combine3w: Update *dest within loop only with write: Best: 9.02 (8%), Overall Best: 9.07 40-most: 9.10 cycles/element Long Product combine4: Array reference, accumulate in temporary: Best: 9.01 (14%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product combine4b: Include bonds check in loop: Best: 9.02 (98%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product combine4p: Pointer reference, accumulate in temporary: Best: 9.01 (2%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product combine5: Array code, unrolled by 2: Best: 6.01 (64%), Overall Best: 6.01 40-most: 6.02 cycles/element Long Product combine5p: Pointer code, unrolled by 2, for loop: Best: 6.01 (66%), Overall Best: 6.02 40-most: 6.02 cycles/element Long Product unroll2aw: Array code, unrolled by 2, while loop: Best: 9.01 (2%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product unroll3a: Array code, unrolled by 3: Best: 9.02 (98%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product unroll4a: Array code, unrolled by 4: Best: 6.01 (74%), Overall Best: 6.01 40-most: 6.02 cycles/element Long Product unroll5a: Array code, unrolled by 5: Best: 6.61 (76%), Overall Best: 6.61 40-most: 6.62 cycles/element Long Product unroll6a: Array code, unrolled by 6: Best: 6.01 (50%), Overall Best: 6.01 40-most: 6.02 cycles/element Long Product unroll7a: Array code, unrolled by 7: Best: 6.44 (58%), Overall Best: 6.45 40-most: 6.45 cycles/element Long Product unroll8a: Array code, unrolled by 8: Best: 6.01 (64%), Overall Best: 6.01 40-most: 6.02 cycles/element Long Product unroll9a: Array code, unrolled by 9: Best: 6.34 (84%), Overall Best: 6.34 40-most: 6.34 cycles/element Long Product unroll10a: Array code, unrolled by 10: Best: 6.01 (86%), Overall Best: 6.01 40-most: 6.01 cycles/element Long Product unroll16a: Array code, unrolled by 16: Best: 6.00 (2%), Overall Best: 6.01 40-most: 6.01 cycles/element Long Product unroll2: Pointer code, unrolled by 2: Best: 9.02 (98%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product unroll3: Pointer code, unrolled by 3: Best: 9.02 (98%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product unroll4: Pointer code, unrolled by 4: Best: 9.01 (2%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product unroll8: Pointer code, unrolled by 8: Best: 9.01 (2%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product unroll16: Pointer code, unrolled by 16: Best: 9.02 (98%), Overall Best: 9.02 40-most: 9.02 cycles/element Long Product combine6: Array code, unrolled by 2, Superscalar x2: Best: 5.00 (2%), Overall Best: 5.11 40-most: 5.09 cycles/element Long Product unroll4x2a: Array code, unrolled by 4, Superscalar x2: Best: 4.51 (100%), Overall Best: 4.51 40-most: 4.51 cycles/element Long Product unroll8x2a: Array code, unrolled by 8, Superscalar x2: Best: 4.51 (30%), Overall Best: 4.52 40-most: 4.52 cycles/element Long Product unroll3x3a: Array code, unrolled by 3, Superscalar x3: Best: 3.76 (4%), Overall Best: 3.77 40-most: 3.79 cycles/element Long Product unroll4x4a: Array code, unrolled by 4, Superscalar x4: Best: 3.14 (46%), Overall Best: 3.14 40-most: 3.15 cycles/element Long Product unroll5x5a: Array code, unrolled by 5, Superscalar x5: Best: 2.85 (16%), Overall Best: 2.86 40-most: 2.87 cycles/element Long Product unroll6x6a: Array code, unrolled by 6, Superscalar x6: Best: 2.89 (2%), Overall Best: 2.91 40-most: 2.96 cycles/element Long Product unroll7x7a: Array code, unrolled by 7, Superscalar x7: Best: 2.87 (6%), Overall Best: 2.89 40-most: 2.92 cycles/element Long Product unroll8x4a: Array code, unrolled by 8, Superscalar x4: Best: 2.93 (4%), Overall Best: 2.94 40-most: 2.95 cycles/element Long Product unroll8x8a: Array code, unrolled by 8, Superscalar x8: Best: 2.87 (2%), Overall Best: 2.91 40-most: 2.91 cycles/element Long Product unroll9x9a: Array code, unrolled by 9, Superscalar x9: Best: 2.84 (2%), Overall Best: 2.90 40-most: 2.91 cycles/element Long Product unroll10x10a: Array code, unrolled by 10, Superscalar x10: Best: 2.65 (2%), Overall Best: 2.71 40-most: 2.69 cycles/element Long Product unroll2x6a: Array code, unrolled by 12, Superscalar x6: Best: 2.63 (6%), Overall Best: 2.65 40-most: 2.68 cycles/element Long Product unroll12x12a: Array code, unrolled by 12, Superscalar x12: Best: 2.52 (6%), Overall Best: 2.54 40-most: 2.56 cycles/element Long Product unroll8x2: Pointer code, unrolled by 8, Superscalar x2: Best: 4.51 (98%), Overall Best: 4.51 40-most: 4.51 cycles/element Long Product unroll8x4: Pointer code, unrolled by 8, Superscalar x4: Best: 2.42 (10%), Overall Best: 2.42 40-most: 2.43 cycles/element Long Product unroll8x8: Pointer code, unrolled by 8, Superscalar x8: Best: 2.19 (2%), Overall Best: 2.20 40-most: 2.22 cycles/element Long Product unroll9x3: Pointer code, unrolled by 9, Superscalar x3: Best: 3.00 (4%), Overall Best: 3.01 40-most: 3.02 cycles/element Long Product unrollx2as: Array code, Unroll x2, Superscalar x2, noninterleaved: Best: 5.01 (4%), Overall Best: 5.01 40-most: 5.05 cycles/element Long Product combine7: Array code, unrolled by 2, different associativity: Best: 4.10 (4%), Overall Best: 4.12 40-most: 4.13 cycles/element Long Product unroll3aa: Array code, unrolled by 3, Different Associativity: Best: 3.06 (16%), Overall Best: 3.07 40-most: 3.09 cycles/element Long Product unroll4aa: Array code, unrolled by 4, Different Associativity: Best: 3.16 (10%), Overall Best: 3.17 40-most: 3.18 cycles/element Long Product unroll5aa: Array code, unrolled by 5, Different Associativity: Best: 3.01 (2%), Overall Best: 3.02 40-most: 3.03 cycles/element Long Product unroll6aa: Array code, unrolled by 6, Different Associativity: Best: 2.84 (10%), Overall Best: 2.84 40-most: 2.86 cycles/element Long Product unroll7aa: Array code, unrolled by 7, Different Associativity: Best: 3.20 (6%), Overall Best: 3.20 40-most: 3.22 cycles/element Long Product unroll8aa: Array code, unrolled by 8, Different Associativity: Best: 2.99 (18%), Overall Best: 2.99 40-most: 3.01 cycles/element Long Product unroll9aa: Array code, unrolled by 9, Different Associativity: Best: 3.04 (8%), Overall Best: 3.07 40-most: 3.06 cycles/element Long Product unroll10aa: Array code, unrolled by 10, Different Associativity: Best: 2.95 (2%), Overall Best: 2.98 40-most: 2.98 cycles/element Long Product unroll12aa: Array code, unrolled by 12, Different Associativity: Best: 2.80 (20%), Overall Best: 2.81 40-most: 2.82 cycles/element Long Product simd_v1: SSE code, 1*VSIZE-way parallelism: Best: 4.51 (90%), Overall Best: 4.52 40-most: 4.51 cycles/element Long Product simd_v2: SSE code, 2*VSIZE-way parallelism: Best: 2.35 (2%), Overall Best: 2.39 40-most: 2.40 cycles/element Long Product simd_v4: SSE code, 4*VSIZE-way parallelism: Best: 1.72 (8%), Overall Best: 1.75 40-most: 1.75 cycles/element Long Product simd_v8: SSE code, 8*VSIZE-way parallelism: Best: 1.64 (2%), Overall Best: 1.65 40-most: 1.67 cycles/element Long Product simd_v12: SSE code, 12*VSIZE-way parallelism: Best: 1.58 (8%), Overall Best: 1.60 40-most: 1.61 cycles/element Long Product simd_v2a: SSE code, 2*VSIZE-way parallelism, reassociate: Best: 2.27 (2%), Overall Best: 2.29 40-most: 2.29 cycles/element Long Product simd_v4a: SSE code, 4*VSIZE-way parallelism, reassociate: Best: 2.00 (8%), Overall Best: 2.01 40-most: 2.02 cycles/element Long Product simd_v8a: SSE code, 8*VSIZE-way parallelism, reassociate: Best: 1.95 (26%), Overall Best: 1.95 40-most: 1.97 cycles/element