// File: /workspace/github_c_makefile_star2_O3/svpv[P]rpmset/bench-base64unpack.c
// Function: main
int main()
{
    bench_LOOP("unpack5x19",  pack5x19c16e1, LOOP_unpack5x19c16e1,    5, 19, 16, 1, 0);
    bench_LOOP("unpack6x16",  pack6x16c16,   LOOP_unpack6x16c16,      6, 16, 16, 0, 0);
    bench_LOOP("unpack7x12",  pack7x12c14,   LOOP_unpack7x12c14,      7, 12, 14, 0, 0);
    bench_LOOP("unpack7x24",  pack7x24c28,   LOOP_unpack7x24c28,      7, 24, 28, 0, 0);
    bench_LOOP("unpack8x12",  pack8x12c16,   LOOP_unpack8x12c16,      8, 12, 16, 0, 0);
    bench_LOOP("unpack9x10",  pack9x10c15,   LOOP_unpack9x10c15,      9, 10, 15, 0, 0);
    bench_LOOP("unpack9x32",  pack9x32c48,   LOOP_unpack9x32c48,      9, 32, 48, 0, 0);
    bench_LOOP("unpack10x8",  pack10x8c14e4, LOOP_unpack10x8c14e4,   10,  8, 14, 4, 0);
    bench_LOOP("unpack10x9",  pack10x9c15,   LOOP_unpack10x9c15,     10,  9, 15, 0, 0);
    bench_LOOP("unpack10x10", pack10x10c18e8,LOOP_unpack10x10c18e8,  10, 10, 18, 8, 0);
    bench_LOOP("unpack10x18", pack10x18c30,  LOOP_unpack10x18c30,    10, 18, 30, 0, 0);
    bench_LOOP("unpack10x24", pack10x24c40,  LOOP_unpack10x24c40,    10, 24, 40, 0, 0);
    bench_LOOP("unpack11x8",  pack11x8c15e2, LOOP_unpack11x8c15e2,   11,  8, 15, 2, 0);
    bench_LOOP("unpack11x8e", pack11x8c16e8, LOOP_unpack11x8c16e8,   11,  8, 16, 8, 0);
    bench_LOOP("unpack11x9",  pack11x9c18e9, LOOP_unpack11x9c18e9,   11,  9, 18, 9, 0);
    bench_LOOP("unpack12x8",  pack12x8c16,   LOOP_unpack12x8c16,     12,  8, 16, 0, 0);
    bench_LOOP("unpack12x16", pack12x16c32,  LOOP_unpack12x16c32,    12, 16, 32, 0, 0);
    bench_LOOP("unpack13x6",  pack13x6c13,   LOOP_unpack13x6c13o1,   13,  6, 13, 0, 1);
    bench_LOOP("unpack13x7",  pack13x7c16e5, LOOP_unpack13x7c16e5,   13,  7, 16, 5, 0);
    bench_LOOP("unpack14x6",  pack14x6c14,   LOOP_unpack14x6c14,     14,  6, 14, 0, 0);
    bench_LOOP("unpack15x6",  pack15x6c15,   LOOP_unpack15x6c15,     15,  6, 15, 0, 0);
    bench_LOOP("unpack16x6",  pack16x6c16,   LOOP_unpack16x6c16,     16,  6, 16, 0, 0);
    bench_LOOP("unpack17x5",  pack17x5c15e5, LOOP_unpack17x5c15e5,   17,  5, 15, 5, 0);
    bench_LOOP("unpack17x6",  pack17x6c17,   LOOP_unpack17x6c17,     17,  6, 17, 0, 0);
    bench_LOOP("unpack18x5",  pack18x5c15,   LOOP_unpack18x5c15,     18,  5, 15, 0, 0);
    bench_LOOP("unpack19x4",  pack19x4c13e2, LOOP_unpack19x4c13e2o1, 19,  4, 13, 2, 1);
    bench_LOOP("unpack19x5",  pack19x5c16e1, LOOP_unpack19x5c16e1,   19,  5, 16, 1, 0);
    bench_LOOP("unpack20x4",  pack20x4c14e4, LOOP_unpack20x4c14e4,   20,  4, 14, 4, 0);
    bench_LOOP("unpack20x6",  pack20x6c20,   LOOP_unpack20x6c20,     20,  6, 20, 0, 0);
    bench_LOOP("unpack21x4",  pack21x4c14,   LOOP_unpack21x4c14,     21,  4, 14, 0, 0);
    bench_LOOP("unpack22x4",  pack22x4c15e2, LOOP_unpack22x4c15e2,   22,  4, 15, 2, 0);
    bench_LOOP("unpack23x4",  pack23x4c16e4, LOOP_unpack23x4c16e4,   23,  4, 16, 4, 0);
    bench_LOOP("unpack24x4",  pack24x4c16,   LOOP_unpack24x4c16,     24,  4, 16, 0, 0);
    bench_LOOP("unpack25x3",  pack25x3c13e3, LOOP_unpack25x3c13e3o1, 25,  3, 13, 3, 1);
    bench_LOOP("unpack25x4",  pack25x4c17e2, LOOP_unpack25x4c17e2,   25,  4, 17, 2, 0);
    bench_LOOP("unpack26x3",  pack26x3c13,   LOOP_unpack26x3c13o1,   26,  3, 13, 0, 1);
    bench_LOOP("unpack26x4",  pack26x4c18e4, LOOP_unpack26x4c18e4,   26,  4, 18, 4, 0);
    bench_LOOP("unpack27x3",  pack27x3c14e3, LOOP_unpack27x3c14e3,   27,  3, 14, 3, 0);
    bench_LOOP("unpack27x4",  pack27x4c18,   LOOP_unpack27x4c18,     27,  4, 18, 0, 0);
    bench_LOOP("unpack28x3",  pack28x3c14,   LOOP_unpack28x3c14,     28,  3, 14, 0, 0);
    bench_LOOP("unpack29x3",  pack29x3c15e3, LOOP_unpack29x3c15e3o1, 29,  3, 15, 3, 1);
    bench_LOOP("unpack30x3",  pack30x3c15,   LOOP_unpack30x3c15o1,   30,  3, 15, 0, 1);
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
xorl %ebx, %ebx
movl $0x1, %r14d
leaq 0x65ef(%rip), %rdi      # 0xa865
leaq 0x840(%rip), %rsi       # 0x4abd
leaq -0x3128(%rip), %rdx     # 0x115c
movl $0x5, %r12d
movl $0x5, %ecx
movl $0x13, %r8d
movl $0x10, %r9d
pushq %rbx
pushq %r14
callq 0x3ece
addq $0x10, %rsp
leaq 0x65c2(%rip), %rdi      # 0xa870
leaq 0x9fd(%rip), %rsi       # 0x4cb2
leaq -0x2ff5(%rip), %rdx     # 0x12c7
movl $0x6, %ecx
movl $0x10, %r8d
movl $0x10, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x659c(%rip), %rdi      # 0xa87b
leaq 0xa92(%rip), %rsi       # 0x4d78
leaq -0x2f4a(%rip), %rdx     # 0x13a3
movl $0x7, %ecx
movl $0xc, %r8d
movl $0xe, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x6576(%rip), %rdi      # 0xa886
leaq 0xbc2(%rip), %rsi       # 0x4ed9
leaq -0x2e5f(%rip), %rdx     # 0x14bf
movl $0x7, %ecx
movl $0x18, %r8d
movl $0x1c, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x6550(%rip), %rdi      # 0xa891
leaq 0xe46(%rip), %rsi       # 0x518e
leaq -0x2d21(%rip), %rdx     # 0x162e
movl $0x8, %ebp
movl $0x8, %ecx
movl $0xc, %r8d
movl $0x10, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x6525(%rip), %rdi      # 0xa89c
leaq 0xfa6(%rip), %rsi       # 0x5324
leaq -0x2c73(%rip), %rdx     # 0x1712
movl $0x9, %ecx
movl $0xa, %r8d
movl $0xf, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x64ff(%rip), %rdi      # 0xa8a7
leaq 0x1079(%rip), %rsi      # 0x5428
leaq -0x2b7a(%rip), %rdx     # 0x183c
movl $0x9, %ecx
movl $0x20, %r8d
movl $0x30, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
movl $0x4, %r15d
leaq 0x64d3(%rip), %rdi      # 0xa8b2
leaq 0x1423(%rip), %rsi      # 0x5809
leaq -0x29e1(%rip), %rdx     # 0x1a0c
movl $0xa, %ecx
movl $0x8, %r8d
movl $0xe, %r9d
pushq %rbx
pushq %r15
callq 0x3ece
addq $0x10, %rsp
leaq 0x64ac(%rip), %rdi      # 0xa8bd
leaq 0x14f7(%rip), %rsi      # 0x590f
leaq -0x28f8(%rip), %rdx     # 0x1b27
movl $0xa, %ecx
movl $0x9, %r8d
movl $0xf, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x6486(%rip), %rdi      # 0xa8c8
leaq 0x162b(%rip), %rsi      # 0x5a74
leaq -0x2812(%rip), %rdx     # 0x1c3e
movl $0xa, %ecx
movl $0xa, %r8d
movl $0x12, %r9d
pushq %rbx
pushq %rbp
callq 0x3ece
addq $0x10, %rsp
leaq 0x6461(%rip), %rdi      # 0xa8d4
leaq 0x17a6(%rip), %rsi      # 0x5c20
leaq -0x26df(%rip), %rdx     # 0x1da2
movl $0xa, %ecx
movl $0x12, %r8d
movl $0x1e, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x643c(%rip), %rdi      # 0xa8e0
leaq 0x1a53(%rip), %rsi      # 0x5efe
leaq -0x2597(%rip), %rdx     # 0x1f1b
movl $0xa, %ecx
movl $0x18, %r8d
movl $0x28, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
movl $0x2, %r13d
leaq 0x6411(%rip), %rdi      # 0xa8ec
leaq 0x1d01(%rip), %rsi      # 0x61e3
leaq -0x2416(%rip), %rdx     # 0x20d3
movl $0xb, %ecx
movl $0x8, %r8d
movl $0xf, %r9d
pushq %rbx
pushq %r13
callq 0x3ece
addq $0x10, %rsp
leaq 0x63ea(%rip), %rdi      # 0xa8f7
leaq 0x1e04(%rip), %rsi      # 0x6318
leaq -0x2325(%rip), %rdx     # 0x21f6
movl $0xb, %ecx
movl $0x8, %r8d
movl $0x10, %r9d
pushq %rbx
pushq %rbp
callq 0x3ece
addq $0x10, %rsp
leaq 0x63c5(%rip), %rdi      # 0xa903
leaq 0x1f19(%rip), %rsi      # 0x645e
leaq -0x223b(%rip), %rdx     # 0x2311
movl $0xb, %ecx
movl $0x9, %r8d
movl $0x12, %r9d
pushq %rbx
pushq $0x9
callq 0x3ece
addq $0x10, %rsp
leaq 0x639e(%rip), %rdi      # 0xa90e
leaq 0x2063(%rip), %rsi      # 0x65da
leaq -0x210c(%rip), %rdx     # 0x2472
movl $0xc, %ecx
movl $0x8, %r8d
movl $0x10, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x6378(%rip), %rdi      # 0xa919
leaq 0x210f(%rip), %rsi      # 0x66b7
leaq -0x2081(%rip), %rdx     # 0x252e
movl $0xc, %ecx
movl $0x10, %r8d
movl $0x20, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x6353(%rip), %rdi      # 0xa925
leaq 0x2293(%rip), %rsi      # 0x686c
leaq -0x1ecf(%rip), %rdx     # 0x2711
movl $0xd, %ecx
movl $0x6, %r8d
movl $0xd, %r9d
pushq %r14
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x632c(%rip), %rdi      # 0xa930
leaq 0x2355(%rip), %rsi      # 0x6960
leaq -0x2020(%rip), %rdx     # 0x25f2
movl $0xd, %ecx
movl $0x7, %r8d
movl $0x10, %r9d
pushq %rbx
pushq %r12
callq 0x3ece
addq $0x10, %rsp
leaq 0x6305(%rip), %rdi      # 0xa93b
leaq 0x2448(%rip), %rsi      # 0x6a85
leaq -0x1e2a(%rip), %rdx     # 0x281a
movl $0xe, %ecx
movl $0x6, %r8d
movl $0xe, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x62df(%rip), %rdi      # 0xa946
leaq 0x250f(%rip), %rsi      # 0x6b7d
leaq -0x1d50(%rip), %rdx     # 0x2925
movl $0xf, %ecx
movl $0x6, %r8d
movl $0xf, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x62b9(%rip), %rdi      # 0xa951
leaq 0x25d5(%rip), %rsi      # 0x6c74
leaq -0x1c76(%rip), %rdx     # 0x2a30
movl $0x10, %ecx
movl $0x6, %r8d
movl $0x10, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x6293(%rip), %rdi      # 0xa95c
leaq 0x26ba(%rip), %rsi      # 0x6d8a
leaq -0x1bce(%rip), %rdx     # 0x2b09
movl $0x11, %ecx
movl $0x5, %r8d
movl $0xf, %r9d
pushq %rbx
pushq %r12
callq 0x3ece
addq $0x10, %rsp
leaq 0x626c(%rip), %rdi      # 0xa967
leaq 0x27ce(%rip), %rsi      # 0x6ed0
leaq -0x1af8(%rip), %rdx     # 0x2c11
movl $0x11, %ecx
movl $0x6, %r8d
movl $0x11, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x6246(%rip), %rdi      # 0xa972
leaq 0x28cc(%rip), %rsi      # 0x6fff
leaq -0x19ed(%rip), %rdx     # 0x2d4d
movl $0x12, %ecx
movl $0x5, %r8d
movl $0xf, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x6220(%rip), %rdi      # 0xa97d
leaq 0x2971(%rip), %rsi      # 0x70d5
leaq -0x192e(%rip), %rdx     # 0x2e3d
movl $0x13, %ecx
movl $0x4, %r8d
movl $0xd, %r9d
pushq %r14
pushq %r13
callq 0x3ece
addq $0x10, %rsp
leaq 0x61f8(%rip), %rdi      # 0xa988
leaq 0x2a25(%rip), %rsi      # 0x71bc
leaq -0x1868(%rip), %rdx     # 0x2f36
movl $0x13, %ecx
movl $0x5, %r8d
movl $0x10, %r9d
pushq %rbx
pushq %r14
callq 0x3ece
addq $0x10, %rsp
leaq 0x61d1(%rip), %rdi      # 0xa993
leaq 0x2b0f(%rip), %rsi      # 0x72d8
leaq -0x178d(%rip), %rdx     # 0x3043
movl $0x14, %ecx
movl $0x4, %r8d
movl $0xe, %r9d
pushq %rbx
pushq %r15
callq 0x3ece
addq $0x10, %rsp
leaq 0x61aa(%rip), %rdi      # 0xa99e
leaq 0x2bc7(%rip), %rsi      # 0x73c2
leaq -0x16d0(%rip), %rdx     # 0x3132
movl $0x14, %ecx
movl $0x6, %r8d
movl $0x14, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x6184(%rip), %rdi      # 0xa9a9
leaq 0x2d2a(%rip), %rsi      # 0x7556
leaq -0x15b7(%rip), %rdx     # 0x327c
movl $0x15, %ecx
movl $0x4, %r8d
movl $0xe, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x615e(%rip), %rdi      # 0xa9b4
leaq 0x2dda(%rip), %rsi      # 0x7637
leaq -0x1500(%rip), %rdx     # 0x3364
movl $0x16, %ecx
movl $0x4, %r8d
movl $0xf, %r9d
pushq %rbx
pushq %r13
callq 0x3ece
addq $0x10, %rsp
leaq 0x6137(%rip), %rdi      # 0xa9bf
leaq 0x2eb6(%rip), %rsi      # 0x7745
leaq -0x143a(%rip), %rdx     # 0x345c
movl $0x17, %ecx
movl $0x4, %r8d
movl $0x10, %r9d
pushq %rbx
pushq %r15
callq 0x3ece
addq $0x10, %rsp
leaq 0x6110(%rip), %rdi      # 0xa9ca
leaq 0x2f99(%rip), %rsi      # 0x785a
leaq -0x139d(%rip), %rdx     # 0x352b
movl $0x18, %ecx
movl $0x4, %r8d
movl $0x10, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
movl $0x3, %r12d
leaq 0x60e4(%rip), %rdi      # 0xa9d5
leaq 0x3049(%rip), %rsi      # 0x7941
leaq -0x131e(%rip), %rdx     # 0x35e1
movl $0x19, %ecx
movl $0x3, %r8d
movl $0xd, %r9d
pushq %r14
pushq %r12
callq 0x3ece
addq $0x10, %rsp
leaq 0x60bc(%rip), %rdi      # 0xa9e0
leaq 0x310e(%rip), %rsi      # 0x7a39
leaq -0x1259(%rip), %rdx     # 0x36d9
movl $0x19, %ecx
movl $0x4, %r8d
movl $0x11, %r9d
pushq %rbx
pushq %r13
callq 0x3ece
addq $0x10, %rsp
leaq 0x6095(%rip), %rdi      # 0xa9eb
leaq 0x3203(%rip), %rsi      # 0x7b60
leaq -0x115f(%rip), %rdx     # 0x3805
movl $0x1a, %ecx
movl $0x3, %r8d
movl $0xd, %r9d
pushq %r14
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x606e(%rip), %rdi      # 0xa9f6
leaq 0x32a5(%rip), %rsi      # 0x7c34
leaq -0x10ae(%rip), %rdx     # 0x38e8
movl $0x1a, %ecx
movl $0x4, %r8d
movl $0x12, %r9d
pushq %rbx
pushq %r15
callq 0x3ece
addq $0x10, %rsp
leaq 0x6047(%rip), %rdi      # 0xaa01
leaq 0x339b(%rip), %rsi      # 0x7d5c
leaq -0xfa7(%rip), %rdx      # 0x3a21
movl $0x1b, %ecx
movl $0x3, %r8d
movl $0xe, %r9d
pushq %rbx
pushq %r12
callq 0x3ece
addq $0x10, %rsp
leaq 0x6020(%rip), %rdi      # 0xaa0c
leaq 0x3489(%rip), %rsi      # 0x7e7c
leaq -0xee3(%rip), %rdx      # 0x3b17
movl $0x1b, %ecx
movl $0x4, %r8d
movl $0x12, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x5ffa(%rip), %rdi      # 0xaa17
leaq 0x3572(%rip), %rsi      # 0x7f96
leaq -0xdf1(%rip), %rdx      # 0x3c3a
movl $0x1c, %ecx
movl $0x3, %r8d
movl $0xe, %r9d
pushq %rbx
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
leaq 0x5fd4(%rip), %rdi      # 0xaa22
leaq 0x3624(%rip), %rsi      # 0x8079
leaq -0xd49(%rip), %rdx      # 0x3d13
movl $0x1d, %ecx
movl $0x3, %r8d
movl $0xf, %r9d
pushq %r14
pushq %r12
callq 0x3ece
addq $0x10, %rsp
leaq 0x5fac(%rip), %rdi      # 0xaa2d
leaq 0x36eb(%rip), %rsi      # 0x8173
leaq -0xc8d(%rip), %rdx      # 0x3e02
movl $0x1e, %ecx
movl $0x3, %r8d
movl $0xf, %r9d
pushq %r14
pushq %rbx
callq 0x3ece
addq $0x10, %rsp
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq