// File: /workspace/github_cpp_makefile_star2_O1/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 0x484b9(%rip), %rsi     # 0x717da
leaq 0x484b5(%rip), %rdx     # 0x717dd
leaq -0x350(%rbp), %rdi
callq 0x95e2
leaq -0x110(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x1de9e
movabsq $-0x4010000000000000, %r14 # imm = 0xBFF0000000000000
movq %r14, (%rax)
movq -0x350(%rbp), %rdi
cmpq %rbx, %rdi
je 0x29365
callq 0x5380
leaq -0x350(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0xf588
movq 0x62199(%rip), %rdi     # 0x8b518
leaq 0x48445(%rip), %r15     # 0x717cb
leaq -0x220(%rbp), %rsi
movq %r15, (%rsi)
leaq 0x48442(%rip), %r12     # 0x717d9
movq %r12, 0x8(%rsi)
leaq 0x486bd(%rip), %rax     # 0x71a5f
leaq -0x210(%rbp), %rcx
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0xf, %edx
callq 0x5760
movb $0x0, -0x60(%rbp)
leaq 0x6169b(%rip), %rax     # 0x8aa60
movq %rax, -0x68(%rbp)
movq 0x61be0(%rip), %rax     # 0x8afb0
movq %rax, -0x58(%rbp)
leaq 0x47fec(%rip), %rax     # 0x713c7
movq %rax, -0x50(%rbp)
movq %r14, -0xb0(%rbp)
leaq -0x78(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x483e5(%rip), %rsi     # 0x717da
leaq 0x483e1(%rip), %rdx     # 0x717dd
leaq -0x88(%rbp), %rdi
callq 0x95e2
leaq -0x350(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xfbdc
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 0x61661(%rip), %r9      # 0x8aad8
movq %r9, (%r8)
movq 0x61b2f(%rip), %r10     # 0x8afb0
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 0x4832f(%rip), %rax     # 0x717e3
movq %rax, 0x18(%rsp)
movq %r8, 0x10(%rsp)
leaq 0x48319(%rip), %rax     # 0x717de
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 0x2e966
movq -0x88(%rbp), %rdi
cmpq %r14, %rdi
je 0x2950b
callq 0x5380
movq 0x62006(%rip), %rdi     # 0x8b518
leaq -0x200(%rbp), %rsi
movq %r15, (%rsi)
movq %r12, 0x8(%rsi)
leaq -0x1f0(%rbp), %rcx
leaq 0x48531(%rip), %rax     # 0x71a5f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x10, %edx
callq 0x5760
leaq -0x38(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x4828c(%rip), %rsi     # 0x717da
leaq 0x48288(%rip), %rdx     # 0x717dd
leaq -0x48(%rbp), %rdi
callq 0x95e2
leaq -0x350(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xfb6a
leaq -0x68(%rbp), %r15
movb %al, (%r15)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x8(%r15)
leaq 0x483cb(%rip), %rax     # 0x71951
movq %rax, -0x88(%rbp)
leaq 0x483cf(%rip), %rax     # 0x71963
movq %rax, -0x80(%rbp)
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x6156e(%rip), %rax     # 0x8ab18
movq %rax, (%rsi)
movq 0x619fc(%rip), %rax     # 0x8afb0
movq %rax, 0x10(%rsi)
leaq -0x88(%rbp), %rax
movq %rax, 0x18(%rsi)
leaq -0x1e0(%rbp), %rdx
leaq 0x481fa(%rip), %rax     # 0x717cb
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 0x2e966
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x2960f
callq 0x5380
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x481da(%rip), %rsi     # 0x717f7
leaq 0x481d7(%rip), %rdx     # 0x717fb
callq 0x95e2
leaq -0x350(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xfbdc
movq -0x48(%rbp), %rdi
movq %r14, %r13
cmpq %r14, %rdi
je 0x2964a
callq 0x5380
xorl %r14d, %r14d
movq 0x61ec4(%rip), %rdi     # 0x8b518
leaq -0x1d0(%rbp), %rsi
leaq 0x48169(%rip), %r12     # 0x717cb
movq %r12, (%rsi)
leaq 0x4816d(%rip), %rbx     # 0x717d9
movq %rbx, 0x8(%rsi)
leaq -0x1c0(%rbp), %rcx
leaq 0x483e1(%rip), %rax     # 0x71a5f
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 0x48153(%rip), %rax     # 0x717fc
movq %rax, -0x68(%rbp)
leaq 0x4814e(%rip), %rax     # 0x71802
movq %rax, -0x60(%rbp)
leaq -0x48(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x61451(%rip), %rax     # 0x8ab18
movq %rax, (%rsi)
movq 0x618df(%rip), %rax     # 0x8afb0
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 0x2e966
movq 0x61e01(%rip), %rdi     # 0x8b518
leaq -0x1a0(%rbp), %rsi
movq %r12, (%rsi)
movq %rbx, 0x8(%rsi)
leaq -0x190(%rbp), %rcx
leaq 0x4832c(%rip), %rax     # 0x71a5f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x1a, %edx
callq 0x5760
leaq -0x48(%rbp), %rdi
movq %r13, %r14
movq %r13, (%rdi)
leaq 0x480a2(%rip), %rsi     # 0x717f7
leaq 0x4809f(%rip), %rdx     # 0x717fb
callq 0x95e2
leaq -0x350(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xfb6a
leaq 0x48061(%rip), %rcx     # 0x717d9
xorb $0x1, %al
leaq -0x68(%rbp), %r15
movb %al, (%r15)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x8(%r15)
leaq 0x48071(%rip), %rax     # 0x71803
movq %rax, -0x88(%rbp)
leaq 0x48077(%rip), %rax     # 0x71817
movq %rax, -0x80(%rbp)
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x61362(%rip), %rax     # 0x8ab18
movq %rax, (%rsi)
movq 0x617f0(%rip), %rax     # 0x8afb0
movq %rax, 0x10(%rsi)
leaq -0x88(%rbp), %rax
movq %rax, 0x18(%rsi)
leaq -0x180(%rbp), %rdx
leaq 0x47fee(%rip), %rax     # 0x717cb
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 0x2e966
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x2981b
callq 0x5380
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x48019(%rip), %rsi     # 0x71842
leaq 0x48013(%rip), %rdx     # 0x71843
callq 0x95e2
leaq -0x350(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xfbdc
movq -0x48(%rbp), %rdi
movq %r14, %r13
cmpq %r14, %rdi
je 0x29856
callq 0x5380
xorl %r14d, %r14d
movq 0x61cb8(%rip), %rdi     # 0x8b518
leaq -0x170(%rbp), %rsi
leaq 0x47f5d(%rip), %r12     # 0x717cb
movq %r12, (%rsi)
leaq 0x47f61(%rip), %rbx     # 0x717d9
movq %rbx, 0x8(%rsi)
leaq -0x160(%rbp), %rcx
leaq 0x481d5(%rip), %rax     # 0x71a5f
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 0x47f47(%rip), %rax     # 0x717fc
movq %rax, -0x68(%rbp)
leaq 0x47f42(%rip), %rax     # 0x71802
movq %rax, -0x60(%rbp)
leaq -0x48(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x61245(%rip), %rax     # 0x8ab18
movq %rax, (%rsi)
movq 0x616d3(%rip), %rax     # 0x8afb0
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 0x2e966
movq 0x61bf5(%rip), %rdi     # 0x8b518
leaq -0x140(%rbp), %rsi
movq %r12, (%rsi)
movq %rbx, 0x8(%rsi)
leaq -0x130(%rbp), %rcx
leaq 0x48120(%rip), %rax     # 0x71a5f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x24, %edx
callq 0x5760
leaq -0x48(%rbp), %rdi
movq %r13, (%rdi)
leaq 0x47ee4(%rip), %rsi     # 0x71842
leaq 0x47ede(%rip), %rdx     # 0x71843
callq 0x95e2
leaq -0x350(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xfb6a
leaq 0x47e4a(%rip), %rcx     # 0x717cb
leaq 0x47e51(%rip), %r8      # 0x717d9
xorb $0x1, %al
leaq -0x68(%rbp), %rdi
movb %al, (%rdi)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x8(%rdi)
leaq 0x47e78(%rip), %rax     # 0x71818
movq %rax, -0x88(%rbp)
leaq 0x47e7b(%rip), %rax     # 0x71829
movq %rax, -0x80(%rbp)
leaq -0xa8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x61154(%rip), %rax     # 0x8ab18
movq %rax, (%rsi)
movq 0x615e2(%rip), %rax     # 0x8afb0
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 0x2e966
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x29a1f
callq 0x5380
leaq -0x350(%rbp), %rdi
callq 0xf8d4
leaq -0x110(%rbp), %rdi
callq 0x1e7f8
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 0x2e966
jmp 0x29a5a
movq %rax, %r12
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
jne 0x29b4c
jmp 0x29b77
jmp 0x29b74
jmp 0x29ac1
movq %rdx, %rbx
movq %rax, %r12
movq -0x48(%rbp), %rdi
movq %r14, %r13
cmpq %r14, %rdi
je 0x29a95
callq 0x5380
jmp 0x29a95
movq %r14, %r13
movq %rdx, %rbx
movq %rax, %r12
cmpl $0x1, %ebx
jne 0x29b77
movq %r12, %rdi
callq 0x5170
movb $0x1, %r14b
callq 0x5640
jmp 0x29859
jmp 0x29b74
jmp 0x29b13
jmp 0x29b21
jmp 0x29b74
movq %rax, %r12
leaq -0x98(%rbp), %rdi
callq 0x2e966
jmp 0x29b77
movq %rdx, %rbx
movq %rax, %r12
movq -0x48(%rbp), %rdi
movq %r14, %r13
cmpq %r14, %rdi
je 0x29af7
callq 0x5380
jmp 0x29af7
movq %r14, %r13
movq %rdx, %rbx
movq %rax, %r12
cmpl $0x1, %ebx
jne 0x29b77
movq %r12, %rdi
callq 0x5170
movb $0x1, %r14b
callq 0x5640
jmp 0x2964d
jmp 0x29b74
movq %rax, %r12
leaq -0x58(%rbp), %rdi
callq 0x2e966
jmp 0x29b24
movq %rax, %r12
movq -0x48(%rbp), %rdi
jmp 0x29b47
jmp 0x29b74
movq %rax, %r12
leaq -0xd0(%rbp), %rdi
callq 0x2e966
jmp 0x29b40
movq %rax, %r12
movq -0x88(%rbp), %rdi
cmpq %r14, %rdi
je 0x29b77
callq 0x5380
jmp 0x29b77
jmp 0x29b74
jmp 0x29b6d
movq %rax, %r12
movq -0x350(%rbp), %rdi
cmpq %rbx, %rdi
je 0x29b83
callq 0x5380
jmp 0x29b83
movq %rax, %r12
jmp 0x29b83
jmp 0x29b74
movq %rax, %r12
leaq -0x350(%rbp), %rdi
callq 0xf8d4
leaq -0x110(%rbp), %rdi
callq 0x1e7f8
movq %r12, %rdi
callq 0x56f0