// File: /workspace/github_cpp_makefile_star2_O1/halfflat[P]tinyopt/test/test_option.cc
// Function: key_ctor_Test::TestBody()
TEST(key, ctor) {
    to::key a("--long");
    EXPECT_EQ("--long", a.label);
    EXPECT_EQ(to::key::longfmt, a.style);

    to::key b("-short");
    EXPECT_EQ("-short", b.label);
    EXPECT_EQ(to::key::shortfmt, b.style);

    to::key c("key");
    EXPECT_EQ("key", c.label);
    EXPECT_EQ(to::key::shortfmt, c.style);

    to::key d("--short", to::key::shortfmt);
    EXPECT_EQ("--short", d.label);
    EXPECT_EQ(to::key::shortfmt, d.style);

    to::key e("c", to::key::compact);
    EXPECT_EQ("c", e.label);
    EXPECT_EQ(to::key::compact, e.style);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x130, %rsp            # imm = 0x130
leaq 0x5708d(%rip), %rbx     # 0x6f2b0
leaq 0x108(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x20926
leaq 0x5707a(%rip), %rsi     # 0x6f2b7
leaq 0x5707c(%rip), %rdx     # 0x6f2c0
leaq 0xa0(%rsp), %rdi
movq %rbx, %rcx
movq %r14, %r8
callq 0x226b2
cmpb $0x0, 0xa0(%rsp)
jne 0x182c8
leaq 0x78(%rsp), %rdi
callq 0x4e2e8
movq 0xa8(%rsp), %rax
testq %rax, %rax
je 0x1827d
movq (%rax), %r8
jmp 0x18284
leaq 0x58d74(%rip), %r8      # 0x70ff8
leaq 0x56fd6(%rip), %rdx     # 0x6f261
leaq 0x48(%rsp), %rdi
movl $0x1, %esi
movl $0xc, %ecx
callq 0x4a84c
leaq 0x48(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x481aa
leaq 0x48(%rsp), %rdi
callq 0x4a8b8
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x182c8
movq (%rdi), %rax
callq *0x8(%rax)
movq 0xa8(%rsp), %rsi
testq %rsi, %rsi
je 0x182e2
leaq 0xa8(%rsp), %rdi
callq 0x156d0
leaq 0x78(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x128(%rsp), %r8
leaq 0x56fcc(%rip), %rsi     # 0x6f2c8
leaq 0x56fd6(%rip), %rdx     # 0x6f2d9
leaq 0xa0(%rsp), %rdi
callq 0x2298b
cmpb $0x0, 0xa0(%rsp)
jne 0x18381
leaq 0x78(%rsp), %rdi
callq 0x4e2e8
movq 0xa8(%rsp), %rax
testq %rax, %rax
je 0x18336
movq (%rax), %r8
jmp 0x1833d
leaq 0x58cbb(%rip), %r8      # 0x70ff8
leaq 0x56f1d(%rip), %rdx     # 0x6f261
leaq 0x48(%rsp), %rdi
movl $0x1, %esi
movl $0xd, %ecx
callq 0x4a84c
leaq 0x48(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x481aa
leaq 0x48(%rsp), %rdi
callq 0x4a8b8
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x18381
movq (%rdi), %rax
callq *0x8(%rax)
movq 0xa8(%rsp), %rsi
testq %rsi, %rsi
je 0x1839b
leaq 0xa8(%rsp), %rdi
callq 0x156d0
leaq 0x56f81(%rip), %rsi     # 0x6f323
leaq 0xa0(%rsp), %rdi
callq 0x20926
leaq 0x56f2b(%rip), %rsi     # 0x6f2e1
leaq 0x56f2d(%rip), %rdx     # 0x6f2ea
leaq 0x56f5f(%rip), %rcx     # 0x6f323
leaq 0x78(%rsp), %rdi
leaq 0xa0(%rsp), %r8
callq 0x226b2
cmpb $0x0, 0x78(%rsp)
jne 0x18444
leaq 0x48(%rsp), %rdi
callq 0x4e2e8
movq 0x80(%rsp), %rax
testq %rax, %rax
je 0x183f9
movq (%rax), %r8
jmp 0x18400
leaq 0x58bf8(%rip), %r8      # 0x70ff8
leaq 0x56e5a(%rip), %rdx     # 0x6f261
leaq 0x20(%rsp), %rdi
movl $0x1, %esi
movl $0x10, %ecx
callq 0x4a84c
leaq 0x20(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x481aa
leaq 0x20(%rsp), %rdi
callq 0x4a8b8
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x18444
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x80(%rsp), %rsi
testq %rsi, %rsi
je 0x1845e
leaq 0x80(%rsp), %rdi
callq 0x156d0
leaq 0x48(%rsp), %rcx
movl $0x0, (%rcx)
leaq 0xc0(%rsp), %r8
leaq 0x56e7a(%rip), %rsi     # 0x6f2f2
leaq 0x56e85(%rip), %rdx     # 0x6f304
leaq 0x78(%rsp), %rdi
callq 0x2298b
cmpb $0x0, 0x78(%rsp)
jne 0x184f7
leaq 0x48(%rsp), %rdi
callq 0x4e2e8
movq 0x80(%rsp), %rax
testq %rax, %rax
je 0x184ac
movq (%rax), %r8
jmp 0x184b3
leaq 0x58b45(%rip), %r8      # 0x70ff8
leaq 0x56da7(%rip), %rdx     # 0x6f261
leaq 0x20(%rsp), %rdi
movl $0x1, %esi
movl $0x11, %ecx
callq 0x4a84c
leaq 0x20(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x481aa
leaq 0x20(%rsp), %rdi
callq 0x4a8b8
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x184f7
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x80(%rsp), %rsi
testq %rsi, %rsi
je 0x18511
leaq 0x80(%rsp), %rdi
callq 0x156d0
leaq 0x56d45(%rip), %rsi     # 0x6f25d
leaq 0x78(%rsp), %rdi
callq 0x20926
leaq 0x56de3(%rip), %rsi     # 0x6f30c
leaq 0x56de2(%rip), %rdx     # 0x6f312
leaq 0x56d26(%rip), %rcx     # 0x6f25d
leaq 0x48(%rsp), %rdi
leaq 0x78(%rsp), %r8
callq 0x22b07
cmpb $0x0, 0x48(%rsp)
jne 0x185b1
leaq 0x20(%rsp), %rdi
callq 0x4e2e8
movq 0x50(%rsp), %rax
testq %rax, %rax
je 0x18566
movq (%rax), %r8
jmp 0x1856d
leaq 0x58a8b(%rip), %r8      # 0x70ff8
leaq 0x56ced(%rip), %rdx     # 0x6f261
leaq 0x10(%rsp), %rdi
movl $0x1, %esi
movl $0x14, %ecx
callq 0x4a84c
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x481aa
leaq 0x10(%rsp), %rdi
callq 0x4a8b8
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x185b1
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x50(%rsp), %rsi
testq %rsi, %rsi
je 0x185c5
leaq 0x50(%rsp), %rdi
callq 0x156d0
leaq 0x20(%rsp), %rcx
movl $0x0, (%rcx)
leaq 0x98(%rsp), %r8
leaq 0x56d13(%rip), %rsi     # 0x6f2f2
leaq 0x56d34(%rip), %rdx     # 0x6f31a
leaq 0x48(%rsp), %rdi
callq 0x2298b
cmpb $0x0, 0x48(%rsp)
jne 0x1865b
leaq 0x20(%rsp), %rdi
callq 0x4e2e8
movq 0x50(%rsp), %rax
testq %rax, %rax
je 0x18610
movq (%rax), %r8
jmp 0x18617
leaq 0x589e1(%rip), %r8      # 0x70ff8
leaq 0x56c43(%rip), %rdx     # 0x6f261
leaq 0x10(%rsp), %rdi
movl $0x1, %esi
movl $0x15, %ecx
callq 0x4a84c
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x481aa
leaq 0x10(%rsp), %rdi
callq 0x4a8b8
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1865b
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x50(%rsp), %rsi
testq %rsi, %rsi
je 0x1866f
leaq 0x50(%rsp), %rdi
callq 0x156d0
leaq 0xf8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x56ca0(%rip), %rsi     # 0x6f322
leaq 0x56ca0(%rip), %rdx     # 0x6f329
leaq 0xe8(%rsp), %rdi
callq 0x15892
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xe8(%rsp), %rax
cmpq %rbx, %rax
je 0x186c0
movq %rax, 0x48(%rsp)
movq 0xf8(%rsp), %rax
movq %rax, 0x58(%rsp)
jmp 0x186c7
movups (%rbx), %xmm0
movups %xmm0, (%r14)
movq 0xf0(%rsp), %rax
leaq 0x48(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rbx, 0xe8(%rsp)
movq $0x0, 0xf0(%rsp)
movb $0x0, 0xf8(%rsp)
movl $0x0, 0x20(%r8)
leaq 0x56c27(%rip), %rsi     # 0x6f32a
leaq 0x56c2a(%rip), %rdx     # 0x6f334
leaq 0x56c11(%rip), %rcx     # 0x6f322
leaq 0x20(%rsp), %rdi
callq 0x22c32
cmpb $0x0, 0x20(%rsp)
jne 0x18786
leaq 0x10(%rsp), %rdi
callq 0x4e2e8
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x1873b
movq (%rax), %r8
jmp 0x18742
leaq 0x588b6(%rip), %r8      # 0x70ff8
leaq 0x56b18(%rip), %rdx     # 0x6f261
leaq 0x8(%rsp), %rdi
movl $0x1, %esi
movl $0x18, %ecx
callq 0x4a84c
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x481aa
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x18786
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x68(%rsp), %rbx
movq 0x28(%rsp), %rsi
testq %rsi, %rsi
je 0x1879f
leaq 0x28(%rsp), %rdi
callq 0x156d0
leaq 0x10(%rsp), %rcx
movl $0x0, (%rcx)
leaq 0x56b41(%rip), %rsi     # 0x6f2f2
leaq 0x56b84(%rip), %rdx     # 0x6f33c
leaq 0x20(%rsp), %rdi
movq %rbx, %r8
callq 0x2298b
cmpb $0x0, 0x20(%rsp)
jne 0x18830
leaq 0x10(%rsp), %rdi
callq 0x4e2e8
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x187e5
movq (%rax), %r8
jmp 0x187ec
leaq 0x5880c(%rip), %r8      # 0x70ff8
leaq 0x56a6e(%rip), %rdx     # 0x6f261
leaq 0x8(%rsp), %rdi
movl $0x1, %esi
movl $0x19, %ecx
callq 0x4a84c
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x481aa
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x18830
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x28(%rsp), %rsi
testq %rsi, %rsi
je 0x18844
leaq 0x28(%rsp), %rdi
callq 0x156d0
leaq 0xd8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x56b35(%rip), %rsi     # 0x6f38c
leaq 0x56b2f(%rip), %rdx     # 0x6f38d
leaq 0xc8(%rsp), %rdi
callq 0x15892
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0xc8(%rsp), %rax
cmpq %rbx, %rax
je 0x18895
movq %rax, 0x20(%rsp)
movq 0xd8(%rsp), %rax
movq %rax, 0x30(%rsp)
jmp 0x1889c
movups (%rbx), %xmm0
movups %xmm0, (%r15)
movq 0xd0(%rsp), %rax
leaq 0x20(%rsp), %r8
movq %rax, 0x8(%r8)
movq %rbx, 0xc8(%rsp)
movq $0x0, 0xd0(%rsp)
movb $0x0, 0xd8(%rsp)
movl $0x2, 0x20(%r8)
leaq 0x56a6c(%rip), %rsi     # 0x6f344
leaq 0x56a69(%rip), %rdx     # 0x6f348
leaq 0x56aa6(%rip), %rcx     # 0x6f38c
leaq 0x10(%rsp), %rdi
callq 0x22d5d
cmpb $0x0, 0x10(%rsp)
jne 0x1895b
leaq 0x8(%rsp), %rdi
callq 0x4e2e8
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x18910
movq (%rax), %r8
jmp 0x18917
leaq 0x586e1(%rip), %r8      # 0x70ff8
leaq 0x56943(%rip), %rdx     # 0x6f261
leaq 0x70(%rsp), %rdi
movl $0x1, %esi
movl $0x1c, %ecx
callq 0x4a84c
leaq 0x70(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x481aa
leaq 0x70(%rsp), %rdi
callq 0x4a8b8
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x1895b
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x40(%rsp), %rbx
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x18974
leaq 0x18(%rsp), %rdi
callq 0x156d0
leaq 0x8(%rsp), %rcx
movl $0x2, (%rcx)
leaq 0x569ca(%rip), %rsi     # 0x6f350
leaq 0x569d4(%rip), %rdx     # 0x6f361
leaq 0x10(%rsp), %rdi
movq %rbx, %r8
callq 0x2298b
cmpb $0x0, 0x10(%rsp)
jne 0x18a05
leaq 0x8(%rsp), %rdi
callq 0x4e2e8
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x189ba
movq (%rax), %r8
jmp 0x189c1
leaq 0x58637(%rip), %r8      # 0x70ff8
leaq 0x56899(%rip), %rdx     # 0x6f261
leaq 0x70(%rsp), %rdi
movl $0x1, %esi
movl $0x1d, %ecx
callq 0x4a84c
leaq 0x70(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x481aa
leaq 0x70(%rsp), %rdi
callq 0x4a8b8
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x18a05
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x18a19
leaq 0x18(%rsp), %rdi
callq 0x156d0
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x18a30
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x18a47
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x18a68
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0xb0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x18a89
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x118(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x18aaa
movq 0x118(%rsp), %rsi
incq %rsi
callq 0xd530
addq $0x130, %rsp            # imm = 0x130
popq %rbx
popq %r14
popq %r15
retq
jmp 0x18abd
jmp 0x18acc
jmp 0x18aea
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x4a8b8
jmp 0x18acf
movq %rax, %rbx
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x18adf
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x8(%rsp)
jmp 0x18aed
movq %rax, %rbx
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x18b01
leaq 0x18(%rsp), %rdi
callq 0x156d0
movq $0x0, 0x18(%rsp)
jmp 0x18c86
jmp 0x18b15
jmp 0x18b24
jmp 0x18b42
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
jmp 0x18b27
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x18b37
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x10(%rsp)
jmp 0x18b45
movq %rax, %rbx
movq 0x28(%rsp), %rsi
testq %rsi, %rsi
je 0x18b59
leaq 0x28(%rsp), %rdi
callq 0x156d0
movq $0x0, 0x28(%rsp)
jmp 0x18ca6
jmp 0x18b6d
jmp 0x18b7c
jmp 0x18b9a
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x4a8b8
jmp 0x18b7f
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x18b8f
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x20(%rsp)
jmp 0x18b9d
movq %rax, %rbx
movq 0x50(%rsp), %rsi
testq %rsi, %rsi
je 0x18bb1
leaq 0x50(%rsp), %rdi
callq 0x156d0
movq $0x0, 0x50(%rsp)
jmp 0x18cc6
jmp 0x18bc5
jmp 0x18bd4
jmp 0x18bf2
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x4a8b8
jmp 0x18bd7
movq %rax, %rbx
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x18be7
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x48(%rsp)
jmp 0x18bf5
movq %rax, %rbx
movq 0x80(%rsp), %rsi
testq %rsi, %rsi
je 0x18c0f
leaq 0x80(%rsp), %rdi
callq 0x156d0
movq $0x0, 0x80(%rsp)
jmp 0x18cf0
jmp 0x18c26
jmp 0x18c35
jmp 0x18c53
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x4a8b8
jmp 0x18c38
movq %rax, %rbx
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x18c48
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x78(%rsp)
jmp 0x18c56
movq %rax, %rbx
movq 0xa8(%rsp), %rsi
testq %rsi, %rsi
je 0x18c70
leaq 0xa8(%rsp), %rdi
callq 0x156d0
movq $0x0, 0xa8(%rsp)
jmp 0x18d1a
jmp 0x18c83
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x18ca6
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x18ca6
jmp 0x18ca3
jmp 0x18ca3
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x18cc6
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x18cc6
jmp 0x18cc3
jmp 0x18cc3
movq %rax, %rbx
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x18cf0
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x18cf0
jmp 0x18ced
jmp 0x18ced
movq %rax, %rbx
leaq 0xb0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x18d1a
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x18d1a
jmp 0x18d17
jmp 0x18d17
movq %rax, %rbx
leaq 0x118(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x18d3b
movq 0x118(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70
nop