// File: /workspace/github_cpp_makefile_star2_O3/aalto-speech[P]ftk/test/sstest.cc
// Function: StringSetTest1::test_method()
BOOST_AUTO_TEST_CASE(StringSetTest1)
{
    map<string, flt_type> vocab;
    vocab["hei"] = -1.0;
    StringSet ss(vocab);

    BOOST_CHECK_EQUAL ( -1.0, ss.get_score("hei") );
    BOOST_CHECK ( ss.includes("hei") );

    bool throws = false;
    try {
        ss.get_score("blaa");
    }
    catch (string &e) {
        throws = true;
    }
    BOOST_CHECK( throws );
    BOOST_CHECK ( !ss.includes("blaa") );

    throws = false;
    try {
        ss.get_score("h");
    }
    catch (string &e) {
        throws = true;
    }
    BOOST_CHECK( throws );
    BOOST_CHECK ( !ss.includes("h") );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x358, %rsp            # imm = 0x358
leaq -0x108(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x340(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x4762d(%rip), %rsi     # 0x707ea
leaq 0x47629(%rip), %rdx     # 0x707ed
leaq -0x350(%rbp), %rdi
callq 0x95e6
leaq -0x110(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x1ddce
movabsq $-0x4010000000000000, %r14 # imm = 0xBFF0000000000000
movq %r14, (%rax)
movq -0x350(%rbp), %rdi
cmpq %rbx, %rdi
je 0x29201
callq 0x5380
leaq -0x350(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0xf4f0
movq 0x612fd(%rip), %rdi     # 0x8a518
leaq 0x475b9(%rip), %r15     # 0x707db
leaq -0x220(%rbp), %rsi
movq %r15, (%rsi)
leaq 0x475b6(%rip), %r12     # 0x707e9
movq %r12, 0x8(%rsi)
leaq 0x47831(%rip), %rax     # 0x70a6f
leaq -0x210(%rbp), %rcx
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0xf, %edx
callq 0x5760
movb $0x0, -0x60(%rbp)
leaq 0x6086f(%rip), %rax     # 0x89ad0
movq %rax, -0x68(%rbp)
movq 0x60d44(%rip), %rax     # 0x89fb0
movq %rax, -0x58(%rbp)
leaq 0x47150(%rip), %rax     # 0x703c7
movq %rax, -0x50(%rbp)
movq %r14, -0xb0(%rbp)
leaq -0x78(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x47559(%rip), %rsi     # 0x707ea
leaq 0x47555(%rip), %rdx     # 0x707ed
leaq -0x88(%rbp), %rdi
callq 0x95e6
leaq -0x350(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xfb5c
leaq -0xb0(%rbp), %rax
ucomisd (%rax), %xmm0
leaq -0xb8(%rbp), %rcx
movsd %xmm0, (%rcx)
setnp %dl
sete %sil
andb %dl, %sil
leaq -0xe0(%rbp), %rdi
movb %sil, (%rdi)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x8(%rdi)
leaq -0x230(%rbp), %rdx
movq %r15, (%rdx)
movq %r12, 0x8(%rdx)
leaq -0xc8(%rbp), %rsi
movq %rax, (%rsi)
xorl %eax, %eax
leaq -0x48(%rbp), %r8
movb %al, 0x8(%r8)
leaq 0x6080d(%rip), %r9      # 0x89b20
movq %r9, (%r8)
movq 0x60c93(%rip), %r10     # 0x89fb0
movq %r10, 0x10(%r8)
movq %rsi, 0x18(%r8)
leaq -0xc0(%rbp), %rsi
movq %rcx, (%rsi)
leaq -0xa8(%rbp), %rcx
movb %al, 0x8(%rcx)
movq %r9, (%rcx)
movq %r10, 0x10(%rcx)
movq %rsi, 0x18(%rcx)
movq %rcx, 0x20(%rsp)
leaq 0x474a3(%rip), %rax     # 0x707f3
movq %rax, 0x18(%rsp)
movq %r8, 0x10(%rsp)
leaq 0x4748d(%rip), %rax     # 0x707ee
movq %rax, 0x8(%rsp)
movq $0x2, (%rsp)
leaq -0x68(%rbp), %rsi
movl $0xf, %ecx
movl $0x1, %r8d
movl $0x2, %r9d
xorl %eax, %eax
callq 0x5740
leaq -0xd0(%rbp), %rdi
callq 0x2e804
movq -0x88(%rbp), %rdi
cmpq %r14, %rdi
je 0x293a7
callq 0x5380
movq 0x6116a(%rip), %rdi     # 0x8a518
leaq -0x200(%rbp), %rsi
movq %r15, (%rsi)
movq %r12, 0x8(%rsi)
leaq -0x1f0(%rbp), %rcx
leaq 0x476a5(%rip), %rax     # 0x70a6f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x10, %edx
callq 0x5760
leaq -0x38(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x47400(%rip), %rsi     # 0x707ea
leaq 0x473fc(%rip), %rdx     # 0x707ed
leaq -0x48(%rbp), %rdi
callq 0x95e6
leaq -0x350(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xfb02
leaq -0x68(%rbp), %r15
movb %al, (%r15)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x8(%r15)
leaq 0x4753f(%rip), %rax     # 0x70961
movq %rax, -0x88(%rbp)
leaq 0x47543(%rip), %rax     # 0x70973
movq %rax, -0x80(%rbp)
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x6071a(%rip), %rax     # 0x89b60
movq %rax, (%rsi)
movq 0x60b60(%rip), %rax     # 0x89fb0
movq %rax, 0x10(%rsi)
leaq -0x88(%rbp), %rax
movq %rax, 0x18(%rsi)
leaq -0x1e0(%rbp), %rdx
leaq 0x4736e(%rip), %rax     # 0x707db
movq %rax, (%rdx)
movq %r12, 0x8(%rdx)
movq $0x0, (%rsp)
movl $0x10, %ecx
movq %r15, %rdi
movl $0x1, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x5740
leaq -0x58(%rbp), %rdi
callq 0x2e804
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x294ab
callq 0x5380
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4734e(%rip), %rsi     # 0x70807
leaq 0x4734b(%rip), %rdx     # 0x7080b
callq 0x95e6
leaq -0x350(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xfb5c
movq -0x48(%rbp), %rdi
movq %r14, %r13
cmpq %r14, %rdi
je 0x294e6
callq 0x5380
xorl %r14d, %r14d
movq 0x61028(%rip), %rdi     # 0x8a518
leaq -0x1d0(%rbp), %rsi
leaq 0x472dd(%rip), %r12     # 0x707db
movq %r12, (%rsi)
leaq 0x472e1(%rip), %rbx     # 0x707e9
movq %rbx, 0x8(%rsi)
leaq -0x1c0(%rbp), %rcx
leaq 0x47555(%rip), %rax     # 0x70a6f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x19, %edx
callq 0x5760
leaq -0xa8(%rbp), %rdi
movb %r14b, (%rdi)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x8(%rdi)
leaq 0x472c7(%rip), %rax     # 0x7080c
movq %rax, -0x68(%rbp)
leaq 0x472c2(%rip), %rax     # 0x70812
movq %rax, -0x60(%rbp)
leaq -0x48(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x605fd(%rip), %rax     # 0x89b60
movq %rax, (%rsi)
movq 0x60a43(%rip), %rax     # 0x89fb0
movq %rax, 0x10(%rsi)
movq %r15, 0x18(%rsi)
leaq -0x1b0(%rbp), %rdx
movq %r12, (%rdx)
movq %rbx, 0x8(%rdx)
movq $0x0, (%rsp)
movl $0x19, %ecx
movl $0x1, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x5740
leaq -0x98(%rbp), %rdi
callq 0x2e804
movq 0x60f65(%rip), %rdi     # 0x8a518
leaq -0x1a0(%rbp), %rsi
movq %r12, (%rsi)
movq %rbx, 0x8(%rsi)
leaq -0x190(%rbp), %rcx
leaq 0x474a0(%rip), %rax     # 0x70a6f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x1a, %edx
callq 0x5760
leaq -0x48(%rbp), %rdi
movq %r13, %r14
movq %r13, (%rdi)
leaq 0x47216(%rip), %rsi     # 0x70807
leaq 0x47213(%rip), %rdx     # 0x7080b
callq 0x95e6
leaq -0x350(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xfb02
leaq 0x471d5(%rip), %rcx     # 0x707e9
xorb $0x1, %al
leaq -0x68(%rbp), %r15
movb %al, (%r15)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x8(%r15)
leaq 0x471e5(%rip), %rax     # 0x70813
movq %rax, -0x88(%rbp)
leaq 0x471eb(%rip), %rax     # 0x70827
movq %rax, -0x80(%rbp)
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x6050e(%rip), %rax     # 0x89b60
movq %rax, (%rsi)
movq 0x60954(%rip), %rax     # 0x89fb0
movq %rax, 0x10(%rsi)
leaq -0x88(%rbp), %rax
movq %rax, 0x18(%rsi)
leaq -0x180(%rbp), %rdx
leaq 0x47162(%rip), %rax     # 0x707db
movq %rax, (%rdx)
movq %rcx, 0x8(%rdx)
movq $0x0, (%rsp)
movl $0x1a, %ecx
movq %r15, %rdi
movl $0x1, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x5740
leaq -0x58(%rbp), %rdi
callq 0x2e804
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x296b7
callq 0x5380
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4718d(%rip), %rsi     # 0x70852
leaq 0x47187(%rip), %rdx     # 0x70853
callq 0x95e6
leaq -0x350(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xfb5c
movq -0x48(%rbp), %rdi
movq %r14, %r13
cmpq %r14, %rdi
je 0x296f2
callq 0x5380
xorl %r14d, %r14d
movq 0x60e1c(%rip), %rdi     # 0x8a518
leaq -0x170(%rbp), %rsi
leaq 0x470d1(%rip), %r12     # 0x707db
movq %r12, (%rsi)
leaq 0x470d5(%rip), %rbx     # 0x707e9
movq %rbx, 0x8(%rsi)
leaq -0x160(%rbp), %rcx
leaq 0x47349(%rip), %rax     # 0x70a6f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x23, %edx
callq 0x5760
leaq -0xa8(%rbp), %rdi
movb %r14b, (%rdi)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x8(%rdi)
leaq 0x470bb(%rip), %rax     # 0x7080c
movq %rax, -0x68(%rbp)
leaq 0x470b6(%rip), %rax     # 0x70812
movq %rax, -0x60(%rbp)
leaq -0x48(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x603f1(%rip), %rax     # 0x89b60
movq %rax, (%rsi)
movq 0x60837(%rip), %rax     # 0x89fb0
movq %rax, 0x10(%rsi)
movq %r15, 0x18(%rsi)
leaq -0x150(%rbp), %rdx
movq %r12, (%rdx)
movq %rbx, 0x8(%rdx)
movq $0x0, (%rsp)
movl $0x23, %ecx
movl $0x1, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x5740
leaq -0x98(%rbp), %rdi
callq 0x2e804
movq 0x60d59(%rip), %rdi     # 0x8a518
leaq -0x140(%rbp), %rsi
movq %r12, (%rsi)
movq %rbx, 0x8(%rsi)
leaq -0x130(%rbp), %rcx
leaq 0x47294(%rip), %rax     # 0x70a6f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x24, %edx
callq 0x5760
leaq -0x48(%rbp), %rdi
movq %r13, (%rdi)
leaq 0x47058(%rip), %rsi     # 0x70852
leaq 0x47052(%rip), %rdx     # 0x70853
callq 0x95e6
leaq -0x350(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xfb02
leaq 0x46fbe(%rip), %rcx     # 0x707db
leaq 0x46fc5(%rip), %r8      # 0x707e9
xorb $0x1, %al
leaq -0x68(%rbp), %rdi
movb %al, (%rdi)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x8(%rdi)
leaq 0x46fec(%rip), %rax     # 0x70828
movq %rax, -0x88(%rbp)
leaq 0x46fef(%rip), %rax     # 0x70839
movq %rax, -0x80(%rbp)
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x60300(%rip), %rax     # 0x89b60
movq %rax, (%rsi)
movq 0x60746(%rip), %rax     # 0x89fb0
movq %rax, 0x10(%rsi)
leaq -0x88(%rbp), %rax
movq %rax, 0x18(%rsi)
leaq -0x120(%rbp), %rdx
movq %rcx, (%rdx)
movq %r8, 0x8(%rdx)
movq $0x0, (%rsp)
movl $0x24, %ecx
movl $0x1, %r8d
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x5740
leaq -0x58(%rbp), %rdi
callq 0x2e804
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x298bb
callq 0x5380
leaq -0x350(%rbp), %rdi
callq 0xf870
leaq -0x110(%rbp), %rdi
callq 0x1e712
addq $0x358, %rsp            # imm = 0x358
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r12
leaq -0x58(%rbp), %rdi
callq 0x2e804
jmp 0x298f6
movq %rax, %r12
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
jne 0x299e8
jmp 0x29a13
jmp 0x29a10
jmp 0x2995d
movq %rdx, %rbx
movq %rax, %r12
movq -0x48(%rbp), %rdi
movq %r14, %r13
cmpq %r14, %rdi
je 0x29931
callq 0x5380
jmp 0x29931
movq %r14, %r13
movq %rdx, %rbx
movq %rax, %r12
cmpl $0x1, %ebx
jne 0x29a13
movq %r12, %rdi
callq 0x5170
movb $0x1, %r14b
callq 0x5640
jmp 0x296f5
jmp 0x29a10
jmp 0x299af
jmp 0x299bd
jmp 0x29a10
movq %rax, %r12
leaq -0x98(%rbp), %rdi
callq 0x2e804
jmp 0x29a13
movq %rdx, %rbx
movq %rax, %r12
movq -0x48(%rbp), %rdi
movq %r14, %r13
cmpq %r14, %rdi
je 0x29993
callq 0x5380
jmp 0x29993
movq %r14, %r13
movq %rdx, %rbx
movq %rax, %r12
cmpl $0x1, %ebx
jne 0x29a13
movq %r12, %rdi
callq 0x5170
movb $0x1, %r14b
callq 0x5640
jmp 0x294e9
jmp 0x29a10
movq %rax, %r12
leaq -0x58(%rbp), %rdi
callq 0x2e804
jmp 0x299c0
movq %rax, %r12
movq -0x48(%rbp), %rdi
jmp 0x299e3
jmp 0x29a10
movq %rax, %r12
leaq -0xd0(%rbp), %rdi
callq 0x2e804
jmp 0x299dc
movq %rax, %r12
movq -0x88(%rbp), %rdi
cmpq %r14, %rdi
je 0x29a13
callq 0x5380
jmp 0x29a13
jmp 0x29a10
jmp 0x29a09
movq %rax, %r12
movq -0x350(%rbp), %rdi
cmpq %rbx, %rdi
je 0x29a1f
callq 0x5380
jmp 0x29a1f
movq %rax, %r12
jmp 0x29a1f
jmp 0x29a10
movq %rax, %r12
leaq -0x350(%rbp), %rdi
callq 0xf870
leaq -0x110(%rbp), %rdi
callq 0x1e712
movq %r12, %rdi
callq 0x56f0