// File: /workspace/github_cpp_makefile_star2_O1/aalto-speech[P]ftk/test/emtest.cc
// Function: viterbiTest8::test_method()
BOOST_AUTO_TEST_CASE(viterbiTest8)
{
    map<string, flt_type> vocab;
    string str1("p"); string str2("ö");
    string str3("l"); string str4("i");
    string str5("pölli");
    string str6("llä"); string str7("pöllillä");
    string str8("�");
    string str9("�");
    string str10("�");
    vocab[str1] = -1.0;
    vocab[str2] = -2.0;
    vocab[str3] = -1.5;
    vocab[str4] = -2.0;
    vocab[str5] = -3.0;
    vocab[str6] = -2.0;
    vocab[str7] = -1.0;
    string sentence("pöllillä");
    int maxlen = 8;
    vector<string> correct_path;
    correct_path.push_back(str7);
    viterbiChecks(vocab, maxlen, sentence, correct_path, -1, true);
    correct_path.clear();
    correct_path.push_back(str5);
    correct_path.push_back(str6);
    vocab[str7] = -6.0;
    viterbiChecks(vocab, maxlen, sentence, correct_path, -5.0, true);
    vocab[str1] = -0.1;
    vocab[str3] = -0.1;
    vocab[str4] = -0.1;
    vocab[str8] = -0.1;
    vocab[str9] = -0.1;
    vocab[str10] = -0.1;
    vocab.erase(str2);
    viterbiChecks(vocab, maxlen, sentence, correct_path, -5.0, true);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
leaq -0x68(%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 -0x140(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e316(%rip), %rsi     # 0x718be
leaq 0x3e310(%rip), %rdx     # 0x718bf
leaq -0x150(%rbp), %rdi
callq 0x95e2
leaq -0x120(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e91b(%rip), %rsi     # 0x71ee8
leaq 0x3e916(%rip), %rdx     # 0x71eea
leaq -0x130(%rbp), %rdi
callq 0x95e2
leaq -0x100(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e9c4(%rip), %rsi     # 0x71fb6
leaq 0x3e9be(%rip), %rdx     # 0x71fb7
leaq -0x110(%rbp), %rdi
callq 0x95e2
leaq -0xe0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e1c5(%rip), %rsi     # 0x717dc
leaq 0x3e1bf(%rip), %rdx     # 0x717dd
leaq -0xf0(%rbp), %rdi
callq 0x95e2
leaq -0xc0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e6c6(%rip), %rsi     # 0x71d02
leaq 0x3e6c5(%rip), %rdx     # 0x71d08
leaq -0xd0(%rbp), %rdi
callq 0x95e2
leaq -0xa0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e6ae(%rip), %rsi     # 0x71d0f
leaq 0x3e6ab(%rip), %rdx     # 0x71d13
leaq -0xb0(%rbp), %rdi
callq 0x95e2
leaq -0x80(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e686(%rip), %rsi     # 0x71d09
leaq 0x3e689(%rip), %rdx     # 0x71d13
leaq -0x90(%rbp), %rdi
callq 0x95e2
leaq -0x1a0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e66c(%rip), %rsi     # 0x71d14
leaq 0x3e668(%rip), %rdx     # 0x71d17
leaq -0x1b0(%rbp), %rdi
callq 0x95e2
leaq -0x180(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e647(%rip), %rsi     # 0x71d14
leaq 0x3e643(%rip), %rdx     # 0x71d17
leaq -0x190(%rbp), %rdi
callq 0x95e2
leaq -0x1c0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x3e622(%rip), %rsi     # 0x71d14
leaq 0x3e61e(%rip), %rdx     # 0x71d17
leaq -0x1d0(%rbp), %rdi
callq 0x95e2
leaq -0x70(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x1ddee
movabsq $-0x4010000000000000, %r14 # imm = 0xBFF0000000000000
movq %r14, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x1ddee
movabsq $-0x4000000000000000, %r15 # imm = 0xC000000000000000
movq %r15, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x1ddee
movabsq $-0x4008000000000000, %rcx # imm = 0xBFF8000000000000
movq %rcx, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1ddee
movq %r15, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x1ddee
movabsq $-0x3ff8000000000000, %rcx # imm = 0xC008000000000000
movq %rcx, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x1ddee
movq %r15, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x1ddee
movq %r14, (%rax)
leaq -0x160(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x3e545(%rip), %rsi     # 0x71d09
leaq 0x3e548(%rip), %rdx     # 0x71d13
leaq -0x170(%rbp), %rdi
callq 0x95e2
xorps %xmm0, %xmm0
leaq -0x40(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq -0x90(%rbp), %rsi
callq 0xacc6
leaq -0x70(%rbp), %rdi
leaq -0x170(%rbp), %rdx
leaq -0x40(%rbp), %rcx
movsd 0x3e394(%rip), %xmm0    # 0x71ba0
movl $0x8, %esi
movl $0x1, %r8d
callq 0x2eba4
movq -0x40(%rbp), %r13
movq -0x38(%rbp), %r12
cmpq %r13, %r12
je 0x3384a
movq %r13, %r15
movq (%r15), %rdi
addq $0x10, %r15
cmpq %r15, %rdi
je 0x3383d
callq 0x5380
addq $0x10, %r15
cmpq %r12, %r15
jne 0x3382c
movq %r13, -0x38(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0xacc6
leaq -0x40(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xacc6
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x1ddee
movabsq $-0x3fe8000000000000, %rcx # imm = 0xC018000000000000
movq %rcx, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x170(%rbp), %rdx
leaq -0x40(%rbp), %rcx
movsd 0x3e30a(%rip), %xmm0    # 0x71ba8
movl $0x8, %esi
movl $0x1, %r8d
callq 0x2eba4
leaq -0x70(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x1ddee
movabsq $-0x4046666666666666, %r15 # imm = 0xBFB999999999999A
movq %r15, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x1ddee
movq %r15, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1ddee
movq %r15, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x1ddee
movq %r15, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x1ddee
movq %r15, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1ddee
movq %r15, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x26efa
leaq -0x70(%rbp), %rdi
movq %rax, %rsi
callq 0x26fac
leaq -0x70(%rbp), %rdi
leaq -0x170(%rbp), %rdx
leaq -0x40(%rbp), %rcx
movsd 0x3e24b(%rip), %xmm0    # 0x71ba8
movl $0x8, %esi
movl $0x1, %r8d
callq 0x2eba4
leaq -0x40(%rbp), %rdi
callq 0xab88
movq -0x170(%rbp), %rdi
cmpq %r14, %rdi
je 0x33987
callq 0x5380
movq -0x1d0(%rbp), %rdi
cmpq %rbx, %rdi
leaq -0x140(%rbp), %rbx
leaq -0x120(%rbp), %r14
je 0x339a6
callq 0x5380
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x339be
callq 0x5380
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x339d6
callq 0x5380
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x339eb
callq 0x5380
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x33a03
callq 0x5380
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x33a1b
callq 0x5380
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x33a33
callq 0x5380
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x33a4b
callq 0x5380
movq -0x130(%rbp), %rdi
cmpq %r14, %rdi
je 0x33a5c
callq 0x5380
movq -0x150(%rbp), %rdi
cmpq %rbx, %rdi
je 0x33a6d
callq 0x5380
leaq -0x70(%rbp), %rdi
callq 0x1e7f8
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x33ad7
movq %rax, %r15
jmp 0x33b0a
movq %rax, %r15
jmp 0x33b22
movq %rax, %r15
jmp 0x33b3a
movq %rax, %r15
jmp 0x33b4f
movq %rax, %r15
jmp 0x33b67
movq %rax, %r15
jmp 0x33b7f
movq %rax, %r15
jmp 0x33b97
movq %rax, %r15
jmp 0x33baf
movq %rax, %r15
jmp 0x33bc7
movq %rax, %r15
jmp 0x33bdf
movq %rax, %r15
jmp 0x33af9
movq %rax, %r15
leaq -0x40(%rbp), %rdi
callq 0xab88
movq -0x170(%rbp), %rdi
cmpq %r14, %rdi
je 0x33af9
callq 0x5380
movq -0x1d0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x33b0a
callq 0x5380
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x33b22
callq 0x5380
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x33b3a
callq 0x5380
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x33b4f
callq 0x5380
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x33b67
callq 0x5380
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x33b7f
callq 0x5380
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x33b97
callq 0x5380
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x33baf
callq 0x5380
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x33bc7
callq 0x5380
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x33bdf
callq 0x5380
leaq -0x70(%rbp), %rdi
callq 0x1e7f8
movq %r15, %rdi
callq 0x56f0