// File: /workspace/github_cpp_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x128, %rsp            # imm = 0x128
leaq 0x4129f(%rip), %rbx     # 0x57320
leaq 0x100(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1c660
leaq 0x4128c(%rip), %rsi     # 0x57327
leaq 0x4128e(%rip), %rdx     # 0x57330
leaq 0x98(%rsp), %rdi
movq %rbx, %rcx
movq %r14, %r8
callq 0x1de5a
cmpb $0x0, 0x98(%rsp)
jne 0x16122
leaq 0x70(%rsp), %rdi
callq 0x3d5f6
movq 0xa0(%rsp), %rax
testq %rax, %rax
je 0x160db
movq (%rax), %r8
jmp 0x160e2
leaq 0x42f88(%rip), %r8      # 0x5906a
leaq 0x411e8(%rip), %rdx     # 0x572d1
leaq 0x48(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0xc
popq %rcx
callq 0x3b5b6
leaq 0x48(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x39b08
leaq 0x48(%rsp), %rdi
callq 0x3b616
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x16122
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0xa0(%rsp), %rdi
callq 0x13646
leaq 0x70(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x120(%rsp), %r8
leaq 0x411ef(%rip), %rsi     # 0x57338
leaq 0x411f9(%rip), %rdx     # 0x57349
leaq 0x98(%rsp), %rdi
callq 0x1e095
cmpb $0x0, 0x98(%rsp)
jne 0x161ca
leaq 0x70(%rsp), %rdi
callq 0x3d5f6
movq 0xa0(%rsp), %rax
testq %rax, %rax
je 0x16183
movq (%rax), %r8
jmp 0x1618a
leaq 0x42ee0(%rip), %r8      # 0x5906a
leaq 0x41140(%rip), %rdx     # 0x572d1
leaq 0x48(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0xd
popq %rcx
callq 0x3b5b6
leaq 0x48(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x39b08
leaq 0x48(%rsp), %rdi
callq 0x3b616
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x161ca
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0xa0(%rsp), %rdi
callq 0x13646
leaq 0x411b5(%rip), %rsi     # 0x57393
leaq 0x98(%rsp), %rdi
callq 0x1c660
leaq 0x4115f(%rip), %rsi     # 0x57351
leaq 0x41161(%rip), %rdx     # 0x5735a
leaq 0x41193(%rip), %rcx     # 0x57393
leaq 0x70(%rsp), %rdi
leaq 0x98(%rsp), %r8
callq 0x1de5a
cmpb $0x0, 0x70(%rsp)
jne 0x16279
leaq 0x48(%rsp), %rdi
callq 0x3d5f6
movq 0x78(%rsp), %rax
testq %rax, %rax
je 0x16232
movq (%rax), %r8
jmp 0x16239
leaq 0x42e31(%rip), %r8      # 0x5906a
leaq 0x41091(%rip), %rdx     # 0x572d1
leaq 0x20(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x10
popq %rcx
callq 0x3b5b6
leaq 0x20(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x39b08
leaq 0x20(%rsp), %rdi
callq 0x3b616
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x16279
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x78(%rsp), %rdi
callq 0x13646
leaq 0x48(%rsp), %rcx
andl $0x0, (%rcx)
leaq 0xb8(%rsp), %r8
leaq 0x410c8(%rip), %rsi     # 0x57362
leaq 0x410d3(%rip), %rdx     # 0x57374
leaq 0x70(%rsp), %rdi
callq 0x1e095
cmpb $0x0, 0x70(%rsp)
jne 0x16312
leaq 0x48(%rsp), %rdi
callq 0x3d5f6
movq 0x78(%rsp), %rax
testq %rax, %rax
je 0x162cb
movq (%rax), %r8
jmp 0x162d2
leaq 0x42d98(%rip), %r8      # 0x5906a
leaq 0x40ff8(%rip), %rdx     # 0x572d1
leaq 0x20(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x11
popq %rcx
callq 0x3b5b6
leaq 0x20(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x39b08
leaq 0x20(%rsp), %rdi
callq 0x3b616
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x16312
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x78(%rsp), %rdi
callq 0x13646
leaq 0x40faa(%rip), %rsi     # 0x572cd
leaq 0x70(%rsp), %rdi
callq 0x1c660
leaq 0x41048(%rip), %rsi     # 0x5737c
leaq 0x41047(%rip), %rdx     # 0x57382
leaq 0x40f8b(%rip), %rcx     # 0x572cd
leaq 0x48(%rsp), %rdi
leaq 0x70(%rsp), %r8
callq 0x1e1b3
cmpb $0x0, 0x48(%rsp)
jne 0x163b8
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x50(%rsp), %rax
testq %rax, %rax
je 0x16371
movq (%rax), %r8
jmp 0x16378
leaq 0x42cf2(%rip), %r8      # 0x5906a
leaq 0x40f52(%rip), %rdx     # 0x572d1
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x14
popq %rcx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x163b8
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x50(%rsp), %rdi
callq 0x13646
leaq 0x20(%rsp), %rcx
andl $0x0, (%rcx)
leaq 0x90(%rsp), %r8
leaq 0x40f89(%rip), %rsi     # 0x57362
leaq 0x40faa(%rip), %rdx     # 0x5738a
leaq 0x48(%rsp), %rdi
callq 0x1e095
cmpb $0x0, 0x48(%rsp)
jne 0x16451
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x50(%rsp), %rax
testq %rax, %rax
je 0x1640a
movq (%rax), %r8
jmp 0x16411
leaq 0x42c59(%rip), %r8      # 0x5906a
leaq 0x40eb9(%rip), %rdx     # 0x572d1
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x15
popq %rcx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x16451
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x50(%rsp), %rdi
callq 0x13646
leaq 0x40f30(%rip), %rsi     # 0x57392
leaq 0xe0(%rsp), %rdi
leaq 0x20(%rsp), %rdx
callq 0x1337a
leaq 0x58(%rsp), %rcx
movq %rcx, -0x10(%rcx)
leaq 0xf0(%rsp), %rax
movq -0x10(%rax), %rdx
cmpq %rax, %rdx
je 0x164a2
movq %rdx, 0x48(%rsp)
movq 0xf0(%rsp), %rcx
movq %rcx, 0x58(%rsp)
jmp 0x164a8
movups (%rax), %xmm0
movups %xmm0, (%rcx)
leaq 0xe0(%rsp), %rdi
movq 0x8(%rdi), %rcx
leaq 0x48(%rsp), %rbx
movq %rcx, 0x8(%rbx)
movq %rax, (%rdi)
andq $0x0, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
andl $0x0, 0x20(%rbx)
callq 0xdbe8
leaq 0x40ec1(%rip), %rsi     # 0x5739a
leaq 0x40ec4(%rip), %rdx     # 0x573a4
leaq 0x40eab(%rip), %rcx     # 0x57392
leaq 0x20(%rsp), %rdi
movq %rbx, %r8
callq 0x1e295
cmpb $0x0, 0x20(%rsp)
jne 0x16555
leaq 0x8(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x16514
movq (%rax), %r8
jmp 0x1651b
leaq 0x42b4f(%rip), %r8      # 0x5906a
leaq 0x40daf(%rip), %rdx     # 0x572d1
movq %rsp, %rdi
pushq $0x1
popq %rsi
pushq $0x18
popq %rcx
callq 0x3b5b6
movq %rsp, %rdi
leaq 0x8(%rsp), %rsi
callq 0x39b08
movq %rsp, %rdi
callq 0x3b616
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x16555
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x68(%rsp), %rbx
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x8(%rsp), %rcx
andl $0x0, (%rcx)
leaq 0x40def(%rip), %rsi     # 0x57362
leaq 0x40e32(%rip), %rdx     # 0x573ac
leaq 0x20(%rsp), %rdi
movq %rbx, %r8
callq 0x1e095
cmpb $0x0, 0x20(%rsp)
jne 0x165e8
leaq 0x8(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x165a7
movq (%rax), %r8
jmp 0x165ae
leaq 0x42abc(%rip), %r8      # 0x5906a
leaq 0x40d1c(%rip), %rdx     # 0x572d1
movq %rsp, %rdi
pushq $0x1
popq %rsi
pushq $0x19
popq %rcx
callq 0x3b5b6
movq %rsp, %rdi
leaq 0x8(%rsp), %rsi
callq 0x39b08
movq %rsp, %rdi
callq 0x3b616
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x165e8
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x40e03(%rip), %rsi     # 0x573fc
leaq 0xc0(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1337a
leaq 0x30(%rsp), %rcx
movq %rcx, -0x10(%rcx)
leaq 0xd0(%rsp), %rax
movq -0x10(%rax), %rdx
cmpq %rax, %rdx
je 0x16639
movq %rdx, 0x20(%rsp)
movq 0xd0(%rsp), %rcx
movq %rcx, 0x30(%rsp)
jmp 0x1663f
movups (%rax), %xmm0
movups %xmm0, (%rcx)
leaq 0xc0(%rsp), %rdi
movq 0x8(%rdi), %rcx
movq %rax, (%rdi)
andq $0x0, 0x8(%rdi)
leaq 0x20(%rsp), %rbx
movq %rcx, 0x8(%rbx)
movb $0x0, 0x10(%rdi)
movl $0x2, 0x20(%rbx)
callq 0xdbe8
leaq 0x40d41(%rip), %rsi     # 0x573b4
leaq 0x40d3e(%rip), %rdx     # 0x573b8
leaq 0x40d7b(%rip), %rcx     # 0x573fc
leaq 0x8(%rsp), %rdi
movq %rbx, %r8
callq 0x1e377
cmpb $0x0, 0x8(%rsp)
jne 0x166f0
movq %rsp, %rdi
callq 0x3d5f6
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x166ac
movq (%rax), %r8
jmp 0x166b3
leaq 0x429b7(%rip), %r8      # 0x5906a
leaq 0x40c17(%rip), %rdx     # 0x572d1
leaq 0x18(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x1c
popq %rcx
callq 0x3b5b6
leaq 0x18(%rsp), %rdi
movq %rsp, %rsi
callq 0x39b08
leaq 0x18(%rsp), %rdi
callq 0x3b616
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x166f0
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x40(%rsp), %rbx
leaq 0x10(%rsp), %rdi
callq 0x13646
movq %rsp, %rcx
movl $0x2, (%rcx)
leaq 0x40cb1(%rip), %rsi     # 0x573c0
leaq 0x40cbb(%rip), %rdx     # 0x573d1
leaq 0x8(%rsp), %rdi
movq %rbx, %r8
callq 0x1e095
cmpb $0x0, 0x8(%rsp)
jne 0x16785
movq %rsp, %rdi
callq 0x3d5f6
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x16741
movq (%rax), %r8
jmp 0x16748
leaq 0x42922(%rip), %r8      # 0x5906a
leaq 0x40b82(%rip), %rdx     # 0x572d1
leaq 0x18(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x1d
popq %rcx
callq 0x3b5b6
leaq 0x18(%rsp), %rdi
movq %rsp, %rsi
callq 0x39b08
leaq 0x18(%rsp), %rdi
callq 0x3b616
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x16785
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x10(%rsp), %rdi
callq 0x13646
leaq 0x20(%rsp), %rdi
callq 0xdbe8
leaq 0x48(%rsp), %rdi
callq 0xdbe8
leaq 0x70(%rsp), %rdi
callq 0xdbe8
leaq 0x98(%rsp), %rdi
callq 0xdbe8
leaq 0x100(%rsp), %rdi
callq 0xdbe8
addq $0x128, %rsp            # imm = 0x128
popq %rbx
popq %r14
retq
jmp 0x167d8
jmp 0x167e7
jmp 0x167fb
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x3b616
jmp 0x167ea
movq %rax, %rbx
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x167fe
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x167fe
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x13646
jmp 0x168fd
jmp 0x16813
jmp 0x16820
jmp 0x16835
movq %rax, %rbx
movq %rsp, %rdi
callq 0x3b616
jmp 0x16823
movq %rax, %rbx
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x16838
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x16838
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x13646
jmp 0x16910
jmp 0x1684d
jmp 0x1685c
jmp 0x16871
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x3b616
jmp 0x1685f
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x16874
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x16874
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x13646
jmp 0x16923
jmp 0x16889
jmp 0x16898
jmp 0x168ad
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x3b616
jmp 0x1689b
movq %rax, %rbx
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x168b0
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x168b0
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x13646
jmp 0x1692d
jmp 0x168c2
jmp 0x168d1
jmp 0x168e6
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x3b616
jmp 0x168d4
movq %rax, %rbx
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x168e9
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x168e9
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0x13646
jmp 0x1693a
jmp 0x168fa
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xdbe8
jmp 0x16910
jmp 0x1690d
jmp 0x1690d
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0xdbe8
jmp 0x16923
jmp 0x16920
jmp 0x16920
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xdbe8
leaq 0x98(%rsp), %rdi
callq 0xdbe8
leaq 0x100(%rsp), %rdi
callq 0xdbe8
movq %rbx, %rdi
callq 0xdaa0
jmp 0x16953
jmp 0x16953
movq %rax, %rbx
jmp 0x1692d
jmp 0x1695c
jmp 0x1695c
movq %rax, %rbx
jmp 0x1693a
nop