// File: /workspace/github_cpp_makefile_star2_O2/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 $0x308, %rsp            # imm = 0x308
leaq -0xd8(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x2e071(%rip), %rsi     # 0x53766
leaq -0x310(%rbp), %rdi
leaq -0x50(%rbp), %rdx
callq 0x5160
leaq -0xe0(%rbp), %rdi
leaq -0x310(%rbp), %rsi
callq 0x1b3d2
movabsq $-0x4010000000000000, %r14 # imm = 0xBFF0000000000000
movq %r14, (%rax)
leaq -0x310(%rbp), %rdi
callq 0x57b8
leaq -0x310(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0xdbec
movq 0x4adbd(%rip), %rdi     # 0x70508
leaq 0x2e005(%rip), %r12     # 0x53757
leaq -0x1f0(%rbp), %rsi
movq %r12, (%rsi)
leaq 0x2e002(%rip), %r13     # 0x53765
movq %r13, 0x8(%rsi)
leaq 0x2e2a7(%rip), %rbx     # 0x53a15
leaq -0x1e0(%rbp), %rcx
movq %rbx, (%rcx)
movq %rbx, 0x8(%rcx)
pushq $0xf
popq %rdx
callq 0x5710
movb $0x0, -0x48(%rbp)
leaq 0x4a351(%rip), %rax     # 0x6fae0
movq %rax, -0x50(%rbp)
movq 0x4a816(%rip), %rax     # 0x6ffb0
movq %rax, -0x40(%rbp)
leaq 0x2dbb2(%rip), %rax     # 0x53357
movq %rax, -0x38(%rbp)
movq %r12, -0xb0(%rbp)
movq %r13, -0xa8(%rbp)
movq %r14, -0x70(%rbp)
leaq 0x2dfa4(%rip), %rsi     # 0x53766
leaq -0xa0(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x5160
leaq -0x310(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0xe12a
leaq -0x80(%rbp), %r15
movsd %xmm0, (%r15)
leaq 0x2df7a(%rip), %rax     # 0x5376f
movq %rax, 0x10(%rsp)
movq %r15, 0x8(%rsp)
leaq 0x2df64(%rip), %rax     # 0x5376a
movq %rax, (%rsp)
leaq -0x50(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
pushq $0xf
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
leaq -0x70(%rbp), %r9
callq 0x2903d
leaq -0xa0(%rbp), %rdi
callq 0x57b8
movq 0x4accd(%rip), %rdi     # 0x70508
leaq -0x1d0(%rbp), %rsi
movq %r12, (%rsi)
movq %r13, 0x8(%rsi)
leaq -0x1c0(%rbp), %rcx
movq %rbx, (%rcx)
movq %rbx, 0x8(%rcx)
pushq $0x10
popq %rdx
callq 0x5710
leaq 0x2df00(%rip), %rsi     # 0x53766
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x5160
leaq -0x310(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xe0d6
leaq -0x70(%rbp), %r14
movb %al, (%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r14)
leaq 0x2e044(%rip), %rax     # 0x538dd
movq %rax, -0x80(%rbp)
leaq 0x2e04b(%rip), %rax     # 0x538ef
movq %rax, -0x78(%rbp)
leaq -0xa0(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x4a2b6(%rip), %rax     # 0x6fb70
movq %rax, (%rsi)
movq 0x4a6ec(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rsi)
movq %r15, 0x18(%rsi)
leaq -0x1b0(%rbp), %rdx
movq %r12, (%rdx)
movq %r13, 0x8(%rdx)
andq $0x0, (%rsp)
pushq $0x10
popq %rcx
pushq $0x1
popq %r8
movq %r14, %rdi
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x56f0
leaq -0x60(%rbp), %rdi
callq 0x291f6
leaq -0x50(%rbp), %rdi
callq 0x57b8
leaq 0x2de77(%rip), %rsi     # 0x53783
leaq -0x50(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x310(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xe12a
leaq -0x50(%rbp), %rdi
callq 0x57b8
xorl %r15d, %r15d
movq 0x4abc9(%rip), %rdi     # 0x70508
leaq -0x1a0(%rbp), %rsi
movq %r12, (%rsi)
movq %r13, 0x8(%rsi)
leaq -0x190(%rbp), %rcx
movq %rbx, (%rcx)
movq %rbx, 0x8(%rcx)
pushq $0x19
popq %rdx
callq 0x5710
leaq -0xa0(%rbp), %rdi
movb %r15b, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
leaq 0x2de0d(%rip), %rax     # 0x53788
movq %rax, -0x70(%rbp)
leaq 0x2de08(%rip), %rax     # 0x5378e
movq %rax, -0x68(%rbp)
leaq -0x50(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x4a1d7(%rip), %rax     # 0x6fb70
movq %rax, (%rsi)
movq 0x4a60d(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rsi)
movq %r14, 0x18(%rsi)
leaq -0x180(%rbp), %rdx
movq %r12, (%rdx)
movq %r13, 0x8(%rdx)
andq $0x0, (%rsp)
pushq $0x19
popq %rcx
pushq $0x1
popq %r8
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x56f0
leaq -0x90(%rbp), %rdi
callq 0x291f6
movq 0x4ab26(%rip), %rdi     # 0x70508
leaq -0x170(%rbp), %rsi
movq %r12, (%rsi)
movq %r13, 0x8(%rsi)
leaq -0x160(%rbp), %rcx
movq %rbx, (%rcx)
movq %rbx, 0x8(%rcx)
pushq $0x1a
popq %rdx
callq 0x5710
leaq 0x2dd76(%rip), %rsi     # 0x53783
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x5160
leaq -0x310(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xe0d6
leaq -0x80(%rbp), %rcx
xorb $0x1, %al
leaq -0x70(%rbp), %r14
movb %al, (%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r14)
leaq 0x2dd49(%rip), %rax     # 0x5378f
movq %rax, -0x80(%rbp)
leaq 0x2dd52(%rip), %rax     # 0x537a3
movq %rax, -0x78(%rbp)
leaq -0xa0(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x4a109(%rip), %rax     # 0x6fb70
movq %rax, (%rsi)
movq 0x4a53f(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rsi)
movq %rcx, 0x18(%rsi)
leaq -0x150(%rbp), %rdx
movq %r12, (%rdx)
movq %r13, 0x8(%rdx)
andq $0x0, (%rsp)
pushq $0x1a
popq %rcx
pushq $0x1
popq %r8
movq %r14, %rdi
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x56f0
leaq -0x60(%rbp), %rdi
callq 0x291f6
leaq -0x50(%rbp), %rdi
callq 0x57b8
leaq 0x2dd15(%rip), %rsi     # 0x537ce
leaq -0x50(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x310(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xe12a
leaq -0x50(%rbp), %rdi
callq 0x57b8
xorl %r15d, %r15d
movq 0x4aa1c(%rip), %rdi     # 0x70508
leaq -0x140(%rbp), %rsi
movq %r12, (%rsi)
movq %r13, 0x8(%rsi)
leaq -0x130(%rbp), %rcx
movq %rbx, (%rcx)
movq %rbx, 0x8(%rcx)
pushq $0x23
popq %rdx
callq 0x5710
leaq -0xa0(%rbp), %rdi
movb %r15b, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
leaq 0x2dc60(%rip), %rax     # 0x53788
movq %rax, -0x70(%rbp)
leaq 0x2dc5b(%rip), %rax     # 0x5378e
movq %rax, -0x68(%rbp)
leaq -0x50(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x4a02a(%rip), %rax     # 0x6fb70
movq %rax, (%rsi)
movq 0x4a460(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rsi)
movq %r14, 0x18(%rsi)
leaq -0x120(%rbp), %rdx
movq %r12, (%rdx)
movq %r13, 0x8(%rdx)
andq $0x0, (%rsp)
pushq $0x23
popq %rcx
pushq $0x1
popq %r8
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x56f0
leaq -0x90(%rbp), %rdi
callq 0x291f6
movq 0x4a979(%rip), %rdi     # 0x70508
leaq -0x110(%rbp), %rsi
movq %r12, (%rsi)
movq %r13, 0x8(%rsi)
leaq -0x100(%rbp), %rcx
movq %rbx, (%rcx)
movq %rbx, 0x8(%rcx)
pushq $0x24
popq %rdx
callq 0x5710
leaq 0x2dc14(%rip), %rsi     # 0x537ce
leaq -0x50(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x5160
leaq -0x310(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xe0d6
leaq -0x80(%rbp), %rcx
xorb $0x1, %al
leaq -0x70(%rbp), %rdi
movb %al, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
leaq 0x2dbb3(%rip), %rax     # 0x537a4
movq %rax, -0x80(%rbp)
leaq 0x2dbb9(%rip), %rax     # 0x537b5
movq %rax, -0x78(%rbp)
leaq -0xa0(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x49f5e(%rip), %rax     # 0x6fb70
movq %rax, (%rsi)
movq 0x4a394(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rsi)
movq %rcx, 0x18(%rsi)
leaq -0xf0(%rbp), %rdx
movq %r12, (%rdx)
movq %r13, 0x8(%rdx)
andq $0x0, (%rsp)
pushq $0x24
popq %rcx
pushq $0x1
popq %r8
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x56f0
leaq -0x60(%rbp), %rdi
callq 0x291f6
leaq -0x50(%rbp), %rdi
callq 0x57b8
leaq -0x310(%rbp), %rdi
callq 0xdea0
leaq -0xe0(%rbp), %rdi
callq 0x1bba4
addq $0x308, %rsp            # imm = 0x308
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x25d22
jmp 0x25d30
jmp 0x25d68
jmp 0x25cdb
movq %rdx, -0x58(%rbp)
movq %rax, %r15
leaq -0x50(%rbp), %rdi
callq 0x57b8
jmp 0x25cae
movq %rdx, -0x58(%rbp)
movq %rax, %r15
cmpl $0x1, -0x58(%rbp)
jne 0x25d6b
movq %r15, %rdi
callq 0x5170
movb $0x1, %r15b
callq 0x5610
jmp 0x25ae5
jmp 0x25d68
jmp 0x25d22
jmp 0x25d30
jmp 0x25d68
movq %rax, %r15
leaq -0x90(%rbp), %rdi
callq 0x291f6
jmp 0x25d6b
movq %rdx, -0x58(%rbp)
movq %rax, %r15
leaq -0x50(%rbp), %rdi
callq 0x57b8
jmp 0x25d05
movq %rdx, -0x58(%rbp)
movq %rax, %r15
cmpl $0x1, -0x58(%rbp)
jne 0x25d6b
movq %r15, %rdi
callq 0x5170
movb $0x1, %r15b
callq 0x5610
jmp 0x25938
jmp 0x25d68
movq %rax, %r15
leaq -0x60(%rbp), %rdi
callq 0x291f6
jmp 0x25d33
movq %rax, %r15
leaq -0x50(%rbp), %rdi
jmp 0x25d5f
jmp 0x25d68
jmp 0x25d68
jmp 0x25d50
movq %rax, %r15
leaq -0x310(%rbp), %rdi
callq 0x57b8
jmp 0x25d77
movq %rax, %r15
jmp 0x25d77
movq %rax, %r15
leaq -0xa0(%rbp), %rdi
callq 0x57b8
jmp 0x25d6b
jmp 0x25d68
movq %rax, %r15
leaq -0x310(%rbp), %rdi
callq 0xdea0
leaq -0xe0(%rbp), %rdi
callq 0x1bba4
movq %r15, %rdi
callq 0x56b0