Double Sum combine1: Maximum use of data abstraction: Best: 10.73 (4%), Overall Best: 10.75 40-most: 10.75 cycles/element Double Sum combine2: Take vec_length() out of loop: Best: 8.95 (40%), Overall Best: 8.95 40-most: 8.96 cycles/element Double Sum combine3: Array reference to vector data: Best: 2.68 (8%), Overall Best: 2.69 40-most: 2.70 cycles/element Double Sum combine3w: Update *dest within loop only with write: Best: 2.68 (10%), Overall Best: 2.69 40-most: 2.70 cycles/element Double Sum combine4: Array reference, accumulate in temporary: Best: 2.68 (14%), Overall Best: 2.69 40-most: 2.69 cycles/element Double Sum combine4b: Include bonds check in loop: Best: 2.63 (2%), Overall Best: 2.72 40-most: 2.74 cycles/element Double Sum combine4p: Pointer reference, accumulate in temporary: Best: 2.56 (2%), Overall Best: 2.70 40-most: 2.71 cycles/element Double Sum combine5: Array code, unrolled by 2: Best: 2.66 (2%), Overall Best: 2.70 40-most: 2.71 cycles/element Double Sum combine5p: Pointer code, unrolled by 2, for loop: Best: 2.68 (18%), Overall Best: 2.69 40-most: 2.70 cycles/element Double Sum unroll2aw: Array code, unrolled by 2, while loop: Best: 2.69 (16%), Overall Best: 2.69 40-most: 2.74 cycles/element Double Sum unroll3a: Array code, unrolled by 3: Best: 2.57 (2%), Overall Best: 2.68 40-most: 2.74 cycles/element Double Sum unroll4a: Array code, unrolled by 4: Best: 2.69 (6%), Overall Best: 2.69 40-most: 2.75 cycles/element Double Sum unroll5a: Array code, unrolled by 5: Best: 2.63 (2%), Overall Best: 2.68 40-most: 2.75 cycles/element Double Sum unroll6a: Array code, unrolled by 6: Best: 2.68 (2%), Overall Best: 2.69 40-most: 2.75 cycles/element Double Sum unroll7a: Array code, unrolled by 7: Best: 2.69 (14%), Overall Best: 2.69 40-most: 2.73 cycles/element Double Sum unroll8a: Array code, unrolled by 8: Best: 2.68 (4%), Overall Best: 2.69 40-most: 2.73 cycles/element Double Sum unroll9a: Array code, unrolled by 9: Best: 2.69 (16%), Overall Best: 2.69 40-most: 2.73 cycles/element Double Sum unroll10a: Array code, unrolled by 10: Best: 2.66 (2%), Overall Best: 2.70 40-most: 2.72 cycles/element Double Sum unroll16a: Array code, unrolled by 16: Best: 2.67 (2%), Overall Best: 2.70 40-most: 2.71 cycles/element Double Sum unroll2: Pointer code, unrolled by 2: Best: 2.66 (2%), Overall Best: 2.69 40-most: 2.70 cycles/element Double Sum unroll3: Pointer code, unrolled by 3: Best: 2.64 (2%), Overall Best: 2.68 40-most: 2.74 cycles/element Double Sum unroll4: Pointer code, unrolled by 4: Best: 2.69 (12%), Overall Best: 2.69 40-most: 2.74 cycles/element Double Sum unroll8: Pointer code, unrolled by 8: Best: 2.59 (2%), Overall Best: 2.69 40-most: 2.75 cycles/element Double Sum unroll16: Pointer code, unrolled by 16: Best: 2.69 (12%), Overall Best: 2.69 40-most: 2.75 cycles/element Double Sum combine6: Array code, unrolled by 2, Superscalar x2: Best: 1.33 (2%), Overall Best: 1.35 40-most: 1.40 cycles/element Double Sum unroll4x2a: Array code, unrolled by 4, Superscalar x2: Best: 1.35 (18%), Overall Best: 1.35 40-most: 1.40 cycles/element Double Sum unroll8x2a: Array code, unrolled by 8, Superscalar x2: Best: 1.33 (4%), Overall Best: 1.33 40-most: 1.40 cycles/element Double Sum unroll3x3a: Array code, unrolled by 3, Superscalar x3: Best: 0.96 (4%), Overall Best: 0.97 40-most: 1.00 cycles/element Double Sum unroll4x4a: Array code, unrolled by 4, Superscalar x4: Best: 0.96 (10%), Overall Best: 0.96 40-most: 1.00 cycles/element Double Sum unroll5x5a: Array code, unrolled by 5, Superscalar x5: Best: 0.95 (6%), Overall Best: 0.96 40-most: 0.99 cycles/element Double Sum unroll6x6a: Array code, unrolled by 6, Superscalar x6: Best: 0.90 (2%), Overall Best: 0.96 40-most: 0.98 cycles/element Double Sum unroll7x7a: Array code, unrolled by 7, Superscalar x7: Best: 0.95 (2%), Overall Best: 0.98 40-most: 1.03 cycles/element Double Sum unroll8x4a: Array code, unrolled by 8, Superscalar x4: Best: 0.95 (2%), Overall Best: 0.96 40-most: 1.03 cycles/element Double Sum unroll8x8a: Array code, unrolled by 8, Superscalar x8: Best: 0.94 (2%), Overall Best: 0.97 40-most: 1.04 cycles/element Double Sum unroll9x9a: Array code, unrolled by 9, Superscalar x9: Best: 0.97 (6%), Overall Best: 0.97 40-most: 1.04 cycles/element Double Sum unroll10x10a: Array code, unrolled by 10, Superscalar x10: Best: 0.96 (8%), Overall Best: 0.97 40-most: 1.03 cycles/element Double Sum unroll2x6a: Array code, unrolled by 12, Superscalar x6: Best: 0.95 (2%), Overall Best: 0.96 40-most: 1.02 cycles/element Double Sum unroll12x12a: Array code, unrolled by 12, Superscalar x12: Best: 0.94 (2%), Overall Best: 0.96 40-most: 1.00 cycles/element Double Sum unroll16x16a: Array code, unrolled by 16, Superscalar x16: Best: 0.93 (10%), Overall Best: 0.93 40-most: 0.97 cycles/element Double Sum unroll20x20a: Array code, unrolled by 20, Superscalar x20: Best: 1.17 (6%), Overall Best: 1.18 40-most: 1.21 cycles/element Double Sum unroll8x2: Pointer code, unrolled by 8, Superscalar x2: Best: 1.35 (4%), Overall Best: 1.36 40-most: 1.38 cycles/element Double Sum unroll8x4: Pointer code, unrolled by 8, Superscalar x4: Best: 0.93 (2%), Overall Best: 0.97 40-most: 0.97 cycles/element Double Sum unroll8x8: Pointer code, unrolled by 8, Superscalar x8: Best: 0.94 (2%), Overall Best: 1.00 40-most: 1.00 cycles/element Double Sum unroll9x3: Pointer code, unrolled by 9, Superscalar x3: Best: 0.97 (8%), Overall Best: 0.97 40-most: 1.04 cycles/element Double Sum unrollx2as: Array code, Unroll x2, Superscalar x2, noninterleaved: Best: 1.34 (4%), Overall Best: 1.34 40-most: 1.41 cycles/element Double Sum combine7: Array code, unrolled by 2, different associativity: Best: 1.34 (2%), Overall Best: 1.35 40-most: 1.41 cycles/element Double Sum unroll3aa: Array code, unrolled by 3, Different Associativity: Best: 1.20 (4%), Overall Best: 1.20 40-most: 1.27 cycles/element Double Sum unroll4aa: Array code, unrolled by 4, Different Associativity: Best: 0.95 (6%), Overall Best: 0.97 40-most: 1.02 cycles/element Double Sum unroll5aa: Array code, unrolled by 5, Different Associativity: Best: 0.95 (2%), Overall Best: 0.96 40-most: 1.01 cycles/element Double Sum unroll6aa: Array code, unrolled by 6, Different Associativity: Best: 0.96 (14%), Overall Best: 0.97 40-most: 1.01 cycles/element Double Sum unroll7aa: Array code, unrolled by 7, Different Associativity: Best: 0.96 (6%), Overall Best: 0.96 40-most: 1.00 cycles/element Double Sum unroll8aa: Array code, unrolled by 8, Different Associativity: Best: 0.96 (2%), Overall Best: 0.99 40-most: 1.00 cycles/element Double Sum unroll9aa: Array code, unrolled by 9, Different Associativity: Best: 0.94 (4%), Overall Best: 0.97 40-most: 0.98 cycles/element Double Sum unroll10aa: Array code, unrolled by 10, Different Associativity: Best: 0.93 (2%), Overall Best: 0.96 40-most: 0.97 cycles/element Double Sum unroll12aa: Array code, unrolled by 12, Different Associativity: Best: 0.96 (6%), Overall Best: 0.98 40-most: 1.03 cycles/element Double Sum simd_v1: SSE code, 1*VSIZE-way parallelism: Best: 14.66 (6%), Overall Best: 14.67 40-most: 14.71 cycles/element Double Sum simd_v2: SSE code, 2*VSIZE-way parallelism: Best: 11.63 (12%), Overall Best: 11.63 40-most: 11.68 cycles/element Double Sum simd_v4: SSE code, 4*VSIZE-way parallelism: Best: 5.04 (6%), Overall Best: 5.05 40-most: 5.10 cycles/element Double Sum simd_v8: SSE code, 8*VSIZE-way parallelism: Best: 3.57 (10%), Overall Best: 3.57 40-most: 3.64 cycles/element Double Sum simd_v10: SSE code, 10*VSIZE-way parallelism: Best: 3.26 (2%), Overall Best: 3.28 40-most: 3.33 cycles/element Double Sum simd_v12: SSE code, 12*VSIZE-way parallelism: Best: 3.47 (2%), Overall Best: 3.48 40-most: 3.54 cycles/element Double Sum simd_v2a: SSE code, 2*VSIZE-way parallelism, reassociate: Best: 11.53 (16%), Overall Best: 11.54 40-most: 11.56 cycles/element Double Sum simd_v4a: SSE code, 4*VSIZE-way parallelism, reassociate: Best: 5.38 (6%), Overall Best: 5.39 40-most: 5.42 cycles/element Double Sum simd_v8a: SSE code, 8*VSIZE-way parallelism, reassociate: Best: 3.40 (2%), Overall Best: 3.49 40-most: 3.52 cycles/element