// File: aalto-speech[P]ftk/test/emtest.cc
// Function: viterbiTest2::test_method()
BOOST_AUTO_TEST_CASE(viterbiTest2)
{
    map<string, flt_type> vocab;
    string str1("a"); string str2("bc");
    string str3("ab"); string str4("c");
    vocab[str1] = -1.0;
    vocab[str2] = -2.0;
    vocab[str3] = 0.0;
    vocab[str4] = 0.0;
    string sentence("abc");
    int maxlen = 2;
    vector<string> correct_path;
    correct_path.push_back(str3);
    correct_path.push_back(str4);
    viterbiChecks(vocab, maxlen, sentence, correct_path, 0.0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x180, %rsp            # imm = 0x180
movq %rdi, -0x8(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x530a0
leaq -0x59(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0x67b0
movq -0x130(%rbp), %rdx
leaq 0x583be(%rip), %rsi     # 0xcbf14
leaq -0x58(%rbp), %rdi
callq 0x65e0
jmp 0x73b61
leaq -0x59(%rbp), %rdi
callq 0x6470
leaq -0x91(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x67b0
movq -0x138(%rbp), %rdx
leaq 0x58055(%rip), %rsi     # 0xcbbe0
leaq -0x90(%rbp), %rdi
callq 0x65e0
jmp 0x73b99
leaq -0x91(%rbp), %rdi
callq 0x6470
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x140(%rbp)
callq 0x67b0
movq -0x140(%rbp), %rdx
leaq 0x5802a(%rip), %rsi     # 0xcbbf0
leaq -0xb8(%rbp), %rdi
callq 0x65e0
jmp 0x73bd4
leaq -0xb9(%rbp), %rdi
callq 0x6470
leaq -0xe1(%rbp), %rdi
movq %rdi, -0x148(%rbp)
callq 0x67b0
movq -0x148(%rbp), %rdx
leaq 0x57fe0(%rip), %rsi     # 0xcbbe1
leaq -0xe0(%rbp), %rdi
callq 0x65e0
jmp 0x73c0f
leaq -0xe1(%rbp), %rdi
callq 0x6470
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x4b030
movq %rax, -0x150(%rbp)
jmp 0x73c31
movq -0x150(%rbp), %rax
movabsq $-0x4010000000000000, %rcx # imm = 0xBFF0000000000000
movq %rcx, (%rax)
leaq -0x38(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x4b030
movq %rax, -0x158(%rbp)
jmp 0x73c5e
movq -0x158(%rbp), %rax
movabsq $-0x4000000000000000, %rcx # imm = 0xC000000000000000
movq %rcx, (%rax)
leaq -0x38(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x4b030
movq %rax, -0x160(%rbp)
jmp 0x73c8b
movq -0x160(%rbp), %rax
movq $0x0, (%rax)
leaq -0x38(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x4b030
movq %rax, -0x168(%rbp)
jmp 0x73cb2
movq -0x168(%rbp), %rax
movq $0x0, (%rax)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x170(%rbp)
callq 0x67b0
movq -0x170(%rbp), %rdx
leaq 0x57efe(%rip), %rsi     # 0xcbbdf
leaq -0x108(%rbp), %rdi
callq 0x65e0
jmp 0x73cef
leaq -0x109(%rbp), %rdi
callq 0x6470
movl $0x2, -0x110(%rbp)
leaq -0x128(%rbp), %rdi
movq %rdi, -0x178(%rbp)
callq 0xc7d0
movq -0x178(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0xd310
jmp 0x73d2d
leaq -0x128(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0xd310
jmp 0x73d42
movl -0x110(%rbp), %esi
leaq -0x38(%rbp), %rdi
leaq -0x108(%rbp), %rdx
leaq -0x128(%rbp), %rcx
xorps %xmm0, %xmm0
movl $0x1, %r8d
callq 0x72320
jmp 0x73d6a
leaq -0x128(%rbp), %rdi
callq 0xcfc0
leaq -0x108(%rbp), %rdi
callq 0x6908
leaq -0xe0(%rbp), %rdi
callq 0x6908
leaq -0xb8(%rbp), %rdi
callq 0x6908
leaq -0x90(%rbp), %rdi
callq 0x6908
leaq -0x58(%rbp), %rdi
callq 0x6908
leaq -0x38(%rbp), %rdi
callq 0x4cf70
addq $0x180, %rsp            # imm = 0x180
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x59(%rbp), %rdi
callq 0x6470
jmp 0x73ea5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x91(%rbp), %rdi
callq 0x6470
jmp 0x73e9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb9(%rbp), %rdi
callq 0x6470
jmp 0x73e90
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xe1(%rbp), %rdi
callq 0x6470
jmp 0x73e84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x73e78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x109(%rbp), %rdi
callq 0x6470
jmp 0x73e78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x128(%rbp), %rdi
callq 0xcfc0
leaq -0x108(%rbp), %rdi
callq 0x6908
leaq -0xe0(%rbp), %rdi
callq 0x6908
leaq -0xb8(%rbp), %rdi
callq 0x6908
leaq -0x90(%rbp), %rdi
callq 0x6908
leaq -0x58(%rbp), %rdi
callq 0x6908
leaq -0x38(%rbp), %rdi
callq 0x4cf70
movq -0x68(%rbp), %rdi
callq 0x67a0
nopw (%rax,%rax)