// File: /workspace/github_cpp_makefile_star2_O1/aalto-speech[P]ftk/test/emtest.cc
// Function: viterbiTest7::test_method()
BOOST_AUTO_TEST_CASE(viterbiTest7)
{
    map<string, flt_type> vocab;
    string str1("k"); string str2("i");
    string str3("s"); string str4("a");
    string str5("l"); string str6("kissa");
    string str7("lla"); string str8("kissalla");
    vocab[str1] = -1.0;
    vocab[str2] = -2.0;
    vocab[str3] = -1.5;
    vocab[str4] = -2.0;
    vocab[str5] = -3.0;
    vocab[str6] = -3.0;
    vocab[str7] = -2.0;
    vocab[str8] = -1.0;
    string sentence("kissalla");
    int maxlen = 8;
    vector<string> correct_path;
    correct_path.push_back(str8);
    viterbiChecks(vocab, maxlen, sentence, correct_path, -1);
    correct_path.clear();
    correct_path.push_back(str6);
    correct_path.push_back(str7);
    vocab[str8] = -6.0;
    viterbiChecks(vocab, maxlen, sentence, correct_path, -5.0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x168, %rsp            # imm = 0x168
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 0x3f264(%rip), %rsi     # 0x71ce4
leaq 0x3f25e(%rip), %rdx     # 0x71ce5
leaq -0x150(%rbp), %rdi
callq 0x95e2
leaq -0x120(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3ed37(%rip), %rsi     # 0x717dc
leaq 0x3ed31(%rip), %rdx     # 0x717dd
leaq -0x130(%rbp), %rdi
callq 0x95e2
leaq -0x100(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e544(%rip), %rsi     # 0x7100e
leaq 0x3e53e(%rip), %rdx     # 0x7100f
leaq -0x110(%rbp), %rdi
callq 0x95e2
leaq -0xe0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3f4cf(%rip), %rsi     # 0x71fbe
leaq 0x3f4c9(%rip), %rdx     # 0x71fbf
leaq -0xf0(%rbp), %rdi
callq 0x95e2
leaq -0xc0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3f4a2(%rip), %rsi     # 0x71fb6
leaq 0x3f49c(%rip), %rdx     # 0x71fb7
leaq -0xd0(%rbp), %rdi
callq 0x95e2
leaq -0xa0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3f1ad(%rip), %rsi     # 0x71ce6
leaq 0x3f1ab(%rip), %rdx     # 0x71ceb
leaq -0xb0(%rbp), %rdi
callq 0x95e2
leaq -0x180(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x3f193(%rip), %rsi     # 0x71cf1
leaq 0x3f18f(%rip), %rdx     # 0x71cf4
leaq -0x190(%rbp), %rdi
callq 0x95e2
leaq -0x80(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3f16c(%rip), %rsi     # 0x71cec
leaq 0x3f16d(%rip), %rdx     # 0x71cf4
leaq -0x90(%rbp), %rdi
callq 0x95e2
leaq -0x70(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x1ddee
movabsq $-0x4010000000000000, %r13 # imm = 0xBFF0000000000000
movq %r13, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x1ddee
movabsq $-0x4000000000000000, %rbx # imm = 0xC000000000000000
movq %rbx, (%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 %rbx, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x1ddee
movabsq $-0x3ff8000000000000, %r14 # imm = 0xC008000000000000
movq %r14, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x1ddee
movq %r14, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x1ddee
movq %rbx, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x1ddee
movq %r13, (%rax)
leaq -0x160(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x3f086(%rip), %rsi     # 0x71cec
leaq 0x3f087(%rip), %rdx     # 0x71cf4
leaq -0x170(%rbp), %rdi
callq 0x95e2
movq %r15, %r13
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 0x3eeef(%rip), %xmm0    # 0x71ba0
movl $0x8, %esi
movl $0x1, %r8d
callq 0x2eba4
movq -0x40(%rbp), %r15
movq -0x38(%rbp), %r14
cmpq %r15, %r14
je 0x32cef
movq %r15, %rbx
movq (%rbx), %rdi
addq $0x10, %rbx
cmpq %rbx, %rdi
je 0x32ce2
callq 0x5380
addq $0x10, %rbx
cmpq %r14, %rbx
jne 0x32cd1
movq %r15, -0x38(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xacc6
leaq -0x40(%rbp), %rdi
leaq -0x190(%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 0x3ee65(%rip), %xmm0    # 0x71ba8
movl $0x8, %esi
movl $0x1, %r8d
callq 0x2eba4
leaq -0x40(%rbp), %rdi
callq 0xab88
movq -0x170(%rbp), %rdi
cmpq %r12, %rdi
je 0x32d6d
callq 0x5380
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
leaq -0x140(%rbp), %r12
leaq -0x120(%rbp), %rbx
leaq -0x100(%rbp), %r14
leaq -0xe0(%rbp), %r15
je 0x32d9e
callq 0x5380
movq -0x190(%rbp), %rdi
cmpq %r13, %rdi
je 0x32daf
callq 0x5380
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x32dc7
callq 0x5380
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x32ddf
callq 0x5380
movq -0xf0(%rbp), %rdi
cmpq %r15, %rdi
je 0x32df0
callq 0x5380
movq -0x110(%rbp), %rdi
cmpq %r14, %rdi
je 0x32e01
callq 0x5380
movq -0x130(%rbp), %rdi
cmpq %rbx, %rdi
je 0x32e12
callq 0x5380
movq -0x150(%rbp), %rdi
cmpq %r12, %rdi
je 0x32e23
callq 0x5380
leaq -0x70(%rbp), %rdi
callq 0x1e7f8
addq $0x168, %rsp            # imm = 0x168
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x32e9c
movq %r15, %r13
movq %rax, %rbx
jmp 0x32eb7
movq %rax, %rbx
jmp 0x32ec8
movq %rax, %rbx
jmp 0x32ee0
movq %rax, %rbx
jmp 0x32ef8
movq %rax, %rbx
jmp 0x32f10
movq %rax, %rbx
jmp 0x32f28
movq %rax, %rbx
jmp 0x32f40
movq %rax, %rbx
jmp 0x32f58
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0xab88
movq -0x170(%rbp), %rdi
cmpq %r12, %rdi
je 0x32ea2
callq 0x5380
jmp 0x32ea2
movq %r15, %r13
movq %rax, %rbx
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x32eb7
callq 0x5380
movq -0x190(%rbp), %rdi
cmpq %r13, %rdi
je 0x32ec8
callq 0x5380
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x32ee0
callq 0x5380
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x32ef8
callq 0x5380
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x32f10
callq 0x5380
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x32f28
callq 0x5380
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x32f40
callq 0x5380
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x32f58
callq 0x5380
leaq -0x70(%rbp), %rdi
callq 0x1e7f8
movq %rbx, %rdi
callq 0x56f0