// File: /workspace/github_cpp_makefile_star2_O2/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 %rbx
subq $0x168, %rsp            # imm = 0x168
leaq -0x58(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x2817e(%rip), %rsi     # 0x53c52
leaq -0x180(%rbp), %rdi
leaq -0x160(%rbp), %rdx
callq 0x5160
leaq 0x27c7a(%rip), %rsi     # 0x53768
leaq -0x160(%rbp), %rdi
leaq -0x140(%rbp), %rdx
callq 0x5160
leaq 0x27506(%rip), %rsi     # 0x5300e
leaq -0x140(%rbp), %rdi
leaq -0x120(%rbp), %rdx
callq 0x5160
leaq 0x2840a(%rip), %rsi     # 0x53f2c
leaq -0x120(%rbp), %rdi
leaq -0x100(%rbp), %rdx
callq 0x5160
leaq 0x283e8(%rip), %rsi     # 0x53f24
leaq -0x100(%rbp), %rdi
leaq -0xe0(%rbp), %rdx
callq 0x5160
leaq 0x280fe(%rip), %rsi     # 0x53c54
leaq -0xe0(%rbp), %rdi
leaq -0xc0(%rbp), %rdx
callq 0x5160
leaq 0x280ef(%rip), %rsi     # 0x53c5f
leaq -0xc0(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x5160
leaq 0x280d3(%rip), %rsi     # 0x53c5a
leaq -0x80(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x60(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0x1b338
movabsq $-0x4010000000000000, %rbx # imm = 0xBFF0000000000000
movq %rbx, (%rax)
leaq -0x60(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x1b338
movabsq $-0x4000000000000000, %r14 # imm = 0xC000000000000000
movq %r14, (%rax)
leaq -0x60(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x1b338
movabsq $-0x4008000000000000, %rcx # imm = 0xBFF8000000000000
movq %rcx, (%rax)
leaq -0x60(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x1b338
movq %r14, (%rax)
leaq -0x60(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x1b338
movabsq $-0x3ff8000000000000, %r15 # imm = 0xC008000000000000
movq %r15, (%rax)
leaq -0x60(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x1b338
movq %r15, (%rax)
leaq -0x60(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x1b338
movq %r14, (%rax)
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1b338
movq %rbx, (%rax)
leaq 0x27fff(%rip), %rsi     # 0x53c5a
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %rdx
callq 0x5160
xorps %xmm0, %xmm0
leaq -0x30(%rbp), %rdi
movaps %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
leaq -0x80(%rbp), %rsi
callq 0x9670
leaq -0x60(%rbp), %rdi
pushq $0x8
popq %rsi
leaq -0xa0(%rbp), %rdx
leaq -0x30(%rbp), %rcx
movsd 0x27ebb(%rip), %xmm0    # 0x53b58
pushq $0x1
popq %r8
callq 0x295d8
leaq -0x30(%rbp), %rbx
movq %rbx, %rdi
callq 0x9a04
leaq -0xe0(%rbp), %rsi
movq %rbx, %rdi
callq 0x9670
leaq -0x30(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x9670
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1b338
movabsq $-0x3fe8000000000000, %rcx # imm = 0xC018000000000000
movq %rcx, (%rax)
leaq -0x60(%rbp), %rdi
pushq $0x8
popq %rsi
leaq -0xa0(%rbp), %rdx
leaq -0x30(%rbp), %rcx
movsd 0x27e5b(%rip), %xmm0    # 0x53b60
pushq $0x1
popq %r8
callq 0x295d8
leaq -0x30(%rbp), %rdi
callq 0x9574
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x80(%rbp), %rdi
callq 0x57b8
leaq -0xc0(%rbp), %rdi
callq 0x57b8
leaq -0xe0(%rbp), %rdi
callq 0x57b8
leaq -0x100(%rbp), %rdi
callq 0x57b8
leaq -0x120(%rbp), %rdi
callq 0x57b8
leaq -0x140(%rbp), %rdi
callq 0x57b8
leaq -0x160(%rbp), %rdi
callq 0x57b8
leaq -0x180(%rbp), %rdi
callq 0x57b8
leaq -0x60(%rbp), %rdi
callq 0x1bba4
addq $0x168, %rsp            # imm = 0x168
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2bddb
movq %rax, %rbx
jmp 0x2bde7
movq %rax, %rbx
jmp 0x2bdf3
movq %rax, %rbx
jmp 0x2bdff
movq %rax, %rbx
jmp 0x2be0b
movq %rax, %rbx
jmp 0x2be17
movq %rax, %rbx
jmp 0x2be23
movq %rax, %rbx
jmp 0x2be2f
movq %rax, %rbx
jmp 0x2be3b
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x9574
leaq -0xa0(%rbp), %rdi
callq 0x57b8
jmp 0x2bdde
movq %rax, %rbx
leaq -0x80(%rbp), %rdi
callq 0x57b8
leaq -0xc0(%rbp), %rdi
callq 0x57b8
leaq -0xe0(%rbp), %rdi
callq 0x57b8
leaq -0x100(%rbp), %rdi
callq 0x57b8
leaq -0x120(%rbp), %rdi
callq 0x57b8
leaq -0x140(%rbp), %rdi
callq 0x57b8
leaq -0x160(%rbp), %rdi
callq 0x57b8
leaq -0x180(%rbp), %rdi
callq 0x57b8
leaq -0x60(%rbp), %rdi
callq 0x1bba4
movq %rbx, %rdi
callq 0x56b0