void init_cong_ctrl(unsigned short *a, unsigned short *b) {
  a[0] = a[1] = a[2] = a[3] = a[4] = a[5] = a[6] = a[7] = a[8] = 1;
  a[9] = 2;
  a[10] = 3;
  a[11] = 4;
  a[12] = 5;
  a[13] = 6;
  a[14] = 7;
  a[15] = 8;
  a[16] = 9;
  a[17] = 10;
  a[18] = 14;
  a[19] = 17;
  a[20] = 21;
  a[21] = 25;
  a[22] = 30;
  a[23] = 35;
  a[24] = 45;
  a[25] = 60;
  a[26] = 80;
  a[27] = 100;
  a[28] = 200;
  a[29] = 300;
  a[30] = 400;
  a[31] = 500;
  b[0] = b[1] = b[2] = b[3] = b[4] = b[5] = b[6] = b[7] = b[8] = 0;
  b[9] = b[10] = 1;
  b[11] = b[12] = 2;
  b[13] = b[14] = b[15] = b[16] = 3;
  b[17] = b[18] = b[19] = b[20] = b[21] = 4;
  b[22] = b[23] = b[24] = b[25] = b[26] = b[27] = 5;
  b[28] = b[29] = 6;
  b[30] = b[31] = 7;
}


x86 assembly (clang, -O0):
<init_cong_ctrl>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x8(%rbp),%rax
movw   $0x1,0x10(%rax)
mov    -0x8(%rbp),%rax
movw   $0x1,0xe(%rax)
mov    -0x8(%rbp),%rax
movw   $0x1,0xc(%rax)
mov    -0x8(%rbp),%rax
movw   $0x1,0xa(%rax)
mov    -0x8(%rbp),%rax
movw   $0x1,0x8(%rax)
mov    -0x8(%rbp),%rax
movw   $0x1,0x6(%rax)
mov    -0x8(%rbp),%rax
movw   $0x1,0x4(%rax)
mov    -0x8(%rbp),%rax
movw   $0x1,0x2(%rax)
mov    -0x8(%rbp),%rax
movw   $0x1,(%rax)
mov    -0x8(%rbp),%rax
movw   $0x2,0x12(%rax)
mov    -0x8(%rbp),%rax
movw   $0x3,0x14(%rax)
mov    -0x8(%rbp),%rax
movw   $0x4,0x16(%rax)
mov    -0x8(%rbp),%rax
movw   $0x5,0x18(%rax)
mov    -0x8(%rbp),%rax
movw   $0x6,0x1a(%rax)
mov    -0x8(%rbp),%rax
movw   $0x7,0x1c(%rax)
mov    -0x8(%rbp),%rax
movw   $0x8,0x1e(%rax)
mov    -0x8(%rbp),%rax
movw   $0x9,0x20(%rax)
mov    -0x8(%rbp),%rax
movw   $0xa,0x22(%rax)
mov    -0x8(%rbp),%rax
movw   $0xe,0x24(%rax)
mov    -0x8(%rbp),%rax
movw   $0x11,0x26(%rax)
mov    -0x8(%rbp),%rax
movw   $0x15,0x28(%rax)
mov    -0x8(%rbp),%rax
movw   $0x19,0x2a(%rax)
mov    -0x8(%rbp),%rax
movw   $0x1e,0x2c(%rax)
mov    -0x8(%rbp),%rax
movw   $0x23,0x2e(%rax)
mov    -0x8(%rbp),%rax
movw   $0x2d,0x30(%rax)
mov    -0x8(%rbp),%rax
movw   $0x3c,0x32(%rax)
mov    -0x8(%rbp),%rax
movw   $0x50,0x34(%rax)
mov    -0x8(%rbp),%rax
movw   $0x64,0x36(%rax)
mov    -0x8(%rbp),%rax
movw   $0xc8,0x38(%rax)
mov    -0x8(%rbp),%rax
movw   $0x12c,0x3a(%rax)
mov    -0x8(%rbp),%rax
movw   $0x190,0x3c(%rax)
mov    -0x8(%rbp),%rax
movw   $0x1f4,0x3e(%rax)
mov    -0x10(%rbp),%rax
movw   $0x0,0x10(%rax)
mov    -0x10(%rbp),%rax
movw   $0x0,0xe(%rax)
mov    -0x10(%rbp),%rax
movw   $0x0,0xc(%rax)
mov    -0x10(%rbp),%rax
movw   $0x0,0xa(%rax)
mov    -0x10(%rbp),%rax
movw   $0x0,0x8(%rax)
mov    -0x10(%rbp),%rax
movw   $0x0,0x6(%rax)
mov    -0x10(%rbp),%rax
movw   $0x0,0x4(%rax)
mov    -0x10(%rbp),%rax
movw   $0x0,0x2(%rax)
mov    -0x10(%rbp),%rax
movw   $0x0,(%rax)
mov    -0x10(%rbp),%rax
movw   $0x1,0x14(%rax)
mov    -0x10(%rbp),%rax
movw   $0x1,0x12(%rax)
mov    -0x10(%rbp),%rax
movw   $0x2,0x18(%rax)
mov    -0x10(%rbp),%rax
movw   $0x2,0x16(%rax)
mov    -0x10(%rbp),%rax
movw   $0x3,0x20(%rax)
mov    -0x10(%rbp),%rax
movw   $0x3,0x1e(%rax)
mov    -0x10(%rbp),%rax
movw   $0x3,0x1c(%rax)
mov    -0x10(%rbp),%rax
movw   $0x3,0x1a(%rax)
mov    -0x10(%rbp),%rax
movw   $0x4,0x2a(%rax)
mov    -0x10(%rbp),%rax
movw   $0x4,0x28(%rax)
mov    -0x10(%rbp),%rax
movw   $0x4,0x26(%rax)
mov    -0x10(%rbp),%rax
movw   $0x4,0x24(%rax)
mov    -0x10(%rbp),%rax
movw   $0x4,0x22(%rax)
mov    -0x10(%rbp),%rax
movw   $0x5,0x36(%rax)
mov    -0x10(%rbp),%rax
movw   $0x5,0x34(%rax)
mov    -0x10(%rbp),%rax
movw   $0x5,0x32(%rax)
mov    -0x10(%rbp),%rax
movw   $0x5,0x30(%rax)
mov    -0x10(%rbp),%rax
movw   $0x5,0x2e(%rax)
mov    -0x10(%rbp),%rax
movw   $0x5,0x2c(%rax)
mov    -0x10(%rbp),%rax
movw   $0x6,0x3a(%rax)
mov    -0x10(%rbp),%rax
movw   $0x6,0x38(%rax)
mov    -0x10(%rbp),%rax
movw   $0x7,0x3e(%rax)
mov    -0x10(%rbp),%rax
movw   $0x7,0x3c(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<init_cong_ctrl>:
movaps 0xef9(%rip),%xmm0
movups %xmm0,(%rdi)
movaps 0xeff(%rip),%xmm0
movups %xmm0,0x10(%rdi)
movaps 0xf04(%rip),%xmm0
movups %xmm0,0x20(%rdi)
movaps 0xf09(%rip),%xmm0
movups %xmm0,0x30(%rdi)
xorps  %xmm0,%xmm0
movups %xmm0,(%rsi)
movw   $0x0,0x10(%rsi)
movaps 0xf02(%rip),%xmm0
movups %xmm0,0x12(%rsi)
movw   $0x5,0x36(%rsi)
movl   $0x50005,0x32(%rsi)
movaps 0xefa(%rip),%xmm0
movups %xmm0,0x22(%rsi)
movabs $0x7000700060006,%rax
mov    %rax,0x38(%rsi)
ret

LLVM IR (-O0):
define void @init_cong_ctrl(i16* %0, i16* %1) {
%3 = alloca i16*
%4 = alloca i16*
store i16* %0, i16** %3
store i16* %1, i16** %4
%5 = load i16*, i16** %3
%6 = getelementptr inbounds i16, i16* %5, i64 8
store i16 1, i16* %6
%7 = load i16*, i16** %3
%8 = getelementptr inbounds i16, i16* %7, i64 7
store i16 1, i16* %8
%9 = load i16*, i16** %3
%10 = getelementptr inbounds i16, i16* %9, i64 6
store i16 1, i16* %10
%11 = load i16*, i16** %3
%12 = getelementptr inbounds i16, i16* %11, i64 5
store i16 1, i16* %12
%13 = load i16*, i16** %3
%14 = getelementptr inbounds i16, i16* %13, i64 4
store i16 1, i16* %14
%15 = load i16*, i16** %3
%16 = getelementptr inbounds i16, i16* %15, i64 3
store i16 1, i16* %16
%17 = load i16*, i16** %3
%18 = getelementptr inbounds i16, i16* %17, i64 2
store i16 1, i16* %18
%19 = load i16*, i16** %3
%20 = getelementptr inbounds i16, i16* %19, i64 1
store i16 1, i16* %20
%21 = load i16*, i16** %3
%22 = getelementptr inbounds i16, i16* %21, i64 0
store i16 1, i16* %22
%23 = load i16*, i16** %3
%24 = getelementptr inbounds i16, i16* %23, i64 9
store i16 2, i16* %24
%25 = load i16*, i16** %3
%26 = getelementptr inbounds i16, i16* %25, i64 10
store i16 3, i16* %26
%27 = load i16*, i16** %3
%28 = getelementptr inbounds i16, i16* %27, i64 11
store i16 4, i16* %28
%29 = load i16*, i16** %3
%30 = getelementptr inbounds i16, i16* %29, i64 12
store i16 5, i16* %30
%31 = load i16*, i16** %3
%32 = getelementptr inbounds i16, i16* %31, i64 13
store i16 6, i16* %32
%33 = load i16*, i16** %3
%34 = getelementptr inbounds i16, i16* %33, i64 14
store i16 7, i16* %34
%35 = load i16*, i16** %3
%36 = getelementptr inbounds i16, i16* %35, i64 15
store i16 8, i16* %36
%37 = load i16*, i16** %3
%38 = getelementptr inbounds i16, i16* %37, i64 16
store i16 9, i16* %38
%39 = load i16*, i16** %3
%40 = getelementptr inbounds i16, i16* %39, i64 17
store i16 10, i16* %40
%41 = load i16*, i16** %3
%42 = getelementptr inbounds i16, i16* %41, i64 18
store i16 14, i16* %42
%43 = load i16*, i16** %3
%44 = getelementptr inbounds i16, i16* %43, i64 19
store i16 17, i16* %44
%45 = load i16*, i16** %3
%46 = getelementptr inbounds i16, i16* %45, i64 20
store i16 21, i16* %46
%47 = load i16*, i16** %3
%48 = getelementptr inbounds i16, i16* %47, i64 21
store i16 25, i16* %48
%49 = load i16*, i16** %3
%50 = getelementptr inbounds i16, i16* %49, i64 22
store i16 30, i16* %50
%51 = load i16*, i16** %3
%52 = getelementptr inbounds i16, i16* %51, i64 23
store i16 35, i16* %52
%53 = load i16*, i16** %3
%54 = getelementptr inbounds i16, i16* %53, i64 24
store i16 45, i16* %54
%55 = load i16*, i16** %3
%56 = getelementptr inbounds i16, i16* %55, i64 25
store i16 60, i16* %56
%57 = load i16*, i16** %3
%58 = getelementptr inbounds i16, i16* %57, i64 26
store i16 80, i16* %58
%59 = load i16*, i16** %3
%60 = getelementptr inbounds i16, i16* %59, i64 27
store i16 100, i16* %60
%61 = load i16*, i16** %3
%62 = getelementptr inbounds i16, i16* %61, i64 28
store i16 200, i16* %62
%63 = load i16*, i16** %3
%64 = getelementptr inbounds i16, i16* %63, i64 29
store i16 300, i16* %64
%65 = load i16*, i16** %3
%66 = getelementptr inbounds i16, i16* %65, i64 30
store i16 400, i16* %66
%67 = load i16*, i16** %3
%68 = getelementptr inbounds i16, i16* %67, i64 31
store i16 500, i16* %68
%69 = load i16*, i16** %4
%70 = getelementptr inbounds i16, i16* %69, i64 8
store i16 0, i16* %70
%71 = load i16*, i16** %4
%72 = getelementptr inbounds i16, i16* %71, i64 7
store i16 0, i16* %72
%73 = load i16*, i16** %4
%74 = getelementptr inbounds i16, i16* %73, i64 6
store i16 0, i16* %74
%75 = load i16*, i16** %4
%76 = getelementptr inbounds i16, i16* %75, i64 5
store i16 0, i16* %76
%77 = load i16*, i16** %4
%78 = getelementptr inbounds i16, i16* %77, i64 4
store i16 0, i16* %78
%79 = load i16*, i16** %4
%80 = getelementptr inbounds i16, i16* %79, i64 3
store i16 0, i16* %80
%81 = load i16*, i16** %4
%82 = getelementptr inbounds i16, i16* %81, i64 2
store i16 0, i16* %82
%83 = load i16*, i16** %4
%84 = getelementptr inbounds i16, i16* %83, i64 1
store i16 0, i16* %84
%85 = load i16*, i16** %4
%86 = getelementptr inbounds i16, i16* %85, i64 0
store i16 0, i16* %86
%87 = load i16*, i16** %4
%88 = getelementptr inbounds i16, i16* %87, i64 10
store i16 1, i16* %88
%89 = load i16*, i16** %4
%90 = getelementptr inbounds i16, i16* %89, i64 9
store i16 1, i16* %90
%91 = load i16*, i16** %4
%92 = getelementptr inbounds i16, i16* %91, i64 12
store i16 2, i16* %92
%93 = load i16*, i16** %4
%94 = getelementptr inbounds i16, i16* %93, i64 11
store i16 2, i16* %94
%95 = load i16*, i16** %4
%96 = getelementptr inbounds i16, i16* %95, i64 16
store i16 3, i16* %96
%97 = load i16*, i16** %4
%98 = getelementptr inbounds i16, i16* %97, i64 15
store i16 3, i16* %98
%99 = load i16*, i16** %4
%100 = getelementptr inbounds i16, i16* %99, i64 14
store i16 3, i16* %100
%101 = load i16*, i16** %4
%102 = getelementptr inbounds i16, i16* %101, i64 13
store i16 3, i16* %102
%103 = load i16*, i16** %4
%104 = getelementptr inbounds i16, i16* %103, i64 21
store i16 4, i16* %104
%105 = load i16*, i16** %4
%106 = getelementptr inbounds i16, i16* %105, i64 20
store i16 4, i16* %106
%107 = load i16*, i16** %4
%108 = getelementptr inbounds i16, i16* %107, i64 19
store i16 4, i16* %108
%109 = load i16*, i16** %4
%110 = getelementptr inbounds i16, i16* %109, i64 18
store i16 4, i16* %110
%111 = load i16*, i16** %4
%112 = getelementptr inbounds i16, i16* %111, i64 17
store i16 4, i16* %112
%113 = load i16*, i16** %4
%114 = getelementptr inbounds i16, i16* %113, i64 27
store i16 5, i16* %114
%115 = load i16*, i16** %4
%116 = getelementptr inbounds i16, i16* %115, i64 26
store i16 5, i16* %116
%117 = load i16*, i16** %4
%118 = getelementptr inbounds i16, i16* %117, i64 25
store i16 5, i16* %118
%119 = load i16*, i16** %4
%120 = getelementptr inbounds i16, i16* %119, i64 24
store i16 5, i16* %120
%121 = load i16*, i16** %4
%122 = getelementptr inbounds i16, i16* %121, i64 23
store i16 5, i16* %122
%123 = load i16*, i16** %4
%124 = getelementptr inbounds i16, i16* %123, i64 22
store i16 5, i16* %124
%125 = load i16*, i16** %4
%126 = getelementptr inbounds i16, i16* %125, i64 29
store i16 6, i16* %126
%127 = load i16*, i16** %4
%128 = getelementptr inbounds i16, i16* %127, i64 28
store i16 6, i16* %128
%129 = load i16*, i16** %4
%130 = getelementptr inbounds i16, i16* %129, i64 31
store i16 7, i16* %130
%131 = load i16*, i16** %4
%132 = getelementptr inbounds i16, i16* %131, i64 30
store i16 7, i16* %132
ret void
}

LLVM IR (-O2):
define void @init_cong_ctrl(i16* writeonly %0, i16* writeonly %1) {
%3 = getelementptr inbounds i16, i16* %0, i64 8
%4 = bitcast i16* %0 to <8 x i16>*
store <8 x i16> <i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1>, <8 x i16>* %4
%5 = bitcast i16* %3 to <8 x i16>*
store <8 x i16> <i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8>, <8 x i16>* %5
%6 = getelementptr inbounds i16, i16* %0, i64 16
%7 = bitcast i16* %6 to <8 x i16>*
store <8 x i16> <i16 9, i16 10, i16 14, i16 17, i16 21, i16 25, i16 30, i16 35>, <8 x i16>* %7
%8 = getelementptr inbounds i16, i16* %0, i64 24
%9 = bitcast i16* %8 to <8 x i16>*
store <8 x i16> <i16 45, i16 60, i16 80, i16 100, i16 200, i16 300, i16 400, i16 500>, <8 x i16>* %9
%10 = bitcast i16* %1 to i8*
%11 = getelementptr inbounds i16, i16* %1, i64 9
%12 = bitcast i16* %11 to <8 x i16>*
store <8 x i16> <i16 1, i16 1, i16 2, i16 2, i16 3, i16 3, i16 3, i16 3>, <8 x i16>* %12
%13 = getelementptr inbounds i16, i16* %1, i64 17
%14 = getelementptr inbounds i16, i16* %1, i64 27
store i16 5, i16* %14
%15 = getelementptr inbounds i16, i16* %1, i64 26
store i16 5, i16* %15
%16 = getelementptr inbounds i16, i16* %1, i64 25
store i16 5, i16* %16
%17 = bitcast i16* %13 to <8 x i16>*
store <8 x i16> <i16 4, i16 4, i16 4, i16 4, i16 4, i16 5, i16 5, i16 5>, <8 x i16>* %17
%18 = getelementptr inbounds i16, i16* %1, i64 29
store i16 6, i16* %18
%19 = getelementptr inbounds i16, i16* %1, i64 28
store i16 6, i16* %19
%20 = getelementptr inbounds i16, i16* %1, i64 31
store i16 7, i16* %20
%21 = getelementptr inbounds i16, i16* %1, i64 30
store i16 7, i16* %21
ret void
}