// File: /workspace/github_cpp_makefile_star2_O3/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 0x3e408(%rip), %rsi     # 0x70d14
leaq 0x3e402(%rip), %rdx     # 0x70d15
leaq -0x150(%rbp), %rdi
callq 0x95e6
leaq -0x120(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3debb(%rip), %rsi     # 0x707ec
leaq 0x3deb5(%rip), %rdx     # 0x707ed
leaq -0x130(%rbp), %rdi
callq 0x95e6
leaq -0x100(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3d6b8(%rip), %rsi     # 0x7000e
leaq 0x3d6b2(%rip), %rdx     # 0x7000f
leaq -0x110(%rbp), %rdi
callq 0x95e6
leaq -0xe0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e673(%rip), %rsi     # 0x70fee
leaq 0x3e66d(%rip), %rdx     # 0x70fef
leaq -0xf0(%rbp), %rdi
callq 0x95e6
leaq -0xc0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e646(%rip), %rsi     # 0x70fe6
leaq 0x3e640(%rip), %rdx     # 0x70fe7
leaq -0xd0(%rbp), %rdi
callq 0x95e6
leaq -0xa0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e351(%rip), %rsi     # 0x70d16
leaq 0x3e34f(%rip), %rdx     # 0x70d1b
leaq -0xb0(%rbp), %rdi
callq 0x95e6
leaq -0x180(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x3e337(%rip), %rsi     # 0x70d21
leaq 0x3e333(%rip), %rdx     # 0x70d24
leaq -0x190(%rbp), %rdi
callq 0x95e6
leaq -0x80(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3e310(%rip), %rsi     # 0x70d1c
leaq 0x3e311(%rip), %rdx     # 0x70d24
leaq -0x90(%rbp), %rdi
callq 0x95e6
leaq -0x70(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x1dd1e
movabsq $-0x4010000000000000, %r13 # imm = 0xBFF0000000000000
movq %r13, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x1dd1e
movabsq $-0x4000000000000000, %rbx # imm = 0xC000000000000000
movq %rbx, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x1dd1e
movabsq $-0x4008000000000000, %rcx # imm = 0xBFF8000000000000
movq %rcx, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1dd1e
movq %rbx, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x1dd1e
movabsq $-0x3ff8000000000000, %r14 # imm = 0xC008000000000000
movq %r14, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x1dd1e
movq %r14, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x1dd1e
movq %rbx, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x1dd1e
movq %r13, (%rax)
leaq -0x160(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x3e22a(%rip), %rsi     # 0x70d1c
leaq 0x3e22b(%rip), %rdx     # 0x70d24
leaq -0x170(%rbp), %rdi
callq 0x95e6
movq %r15, %r13
xorps %xmm0, %xmm0
leaq -0x40(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq -0x90(%rbp), %rsi
callq 0xaca0
leaq -0x70(%rbp), %rdi
leaq -0x170(%rbp), %rdx
leaq -0x40(%rbp), %rcx
movsd 0x3e06b(%rip), %xmm0    # 0x70ba8
movl $0x8, %esi
movl $0x1, %r8d
callq 0x2ea30
movq -0x40(%rbp), %r15
movq -0x38(%rbp), %r14
cmpq %r15, %r14
je 0x32b7b
movq %r15, %rbx
movq (%rbx), %rdi
addq $0x10, %rbx
cmpq %rbx, %rdi
je 0x32b6e
callq 0x5380
addq $0x10, %rbx
cmpq %r14, %rbx
jne 0x32b5d
movq %r15, -0x38(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0xaca0
leaq -0x40(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0xaca0
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x1dd1e
movabsq $-0x3fe8000000000000, %rcx # imm = 0xC018000000000000
movq %rcx, (%rax)
leaq -0x70(%rbp), %rdi
leaq -0x170(%rbp), %rdx
leaq -0x40(%rbp), %rcx
movsd 0x3dbd1(%rip), %xmm0    # 0x707a0
movl $0x8, %esi
movl $0x1, %r8d
callq 0x2ea30
leaq -0x40(%rbp), %rdi
callq 0xab52
movq -0x170(%rbp), %rdi
cmpq %r12, %rdi
je 0x32bf9
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 0x32c2a
callq 0x5380
movq -0x190(%rbp), %rdi
cmpq %r13, %rdi
je 0x32c3b
callq 0x5380
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x32c53
callq 0x5380
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x32c6b
callq 0x5380
movq -0xf0(%rbp), %rdi
cmpq %r15, %rdi
je 0x32c7c
callq 0x5380
movq -0x110(%rbp), %rdi
cmpq %r14, %rdi
je 0x32c8d
callq 0x5380
movq -0x130(%rbp), %rdi
cmpq %rbx, %rdi
je 0x32c9e
callq 0x5380
movq -0x150(%rbp), %rdi
cmpq %r12, %rdi
je 0x32caf
callq 0x5380
leaq -0x70(%rbp), %rdi
callq 0x1e712
addq $0x168, %rsp            # imm = 0x168
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x32d28
movq %r15, %r13
movq %rax, %rbx
jmp 0x32d43
movq %rax, %rbx
jmp 0x32d54
movq %rax, %rbx
jmp 0x32d6c
movq %rax, %rbx
jmp 0x32d84
movq %rax, %rbx
jmp 0x32d9c
movq %rax, %rbx
jmp 0x32db4
movq %rax, %rbx
jmp 0x32dcc
movq %rax, %rbx
jmp 0x32de4
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0xab52
movq -0x170(%rbp), %rdi
cmpq %r12, %rdi
je 0x32d2e
callq 0x5380
jmp 0x32d2e
movq %r15, %r13
movq %rax, %rbx
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x32d43
callq 0x5380
movq -0x190(%rbp), %rdi
cmpq %r13, %rdi
je 0x32d54
callq 0x5380
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x32d6c
callq 0x5380
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x32d84
callq 0x5380
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x32d9c
callq 0x5380
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x32db4
callq 0x5380
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x32dcc
callq 0x5380
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x32de4
callq 0x5380
leaq -0x70(%rbp), %rdi
callq 0x1e712
movq %rbx, %rdi
callq 0x56f0