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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x9e0, %rsp            # imm = 0x9E0
movq 0x9496e(%rip), %rax     # 0x1075f0
movq %rax, -0x8e0(%rbp)
leaq 0x58ed8(%rip), %rsi     # 0xcbb68
leaq -0x10(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
leaq -0x1b8(%rbp), %rdi
movq %rdi, -0x8d8(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x6230
movq -0x8d8(%rbp), %rdi
callq 0x71090
movq -0x8d8(%rbp), %rdi
callq 0x710c0
movq %rax, -0x8d0(%rbp)
jmp 0x72cd9
movq -0x8d0(%rbp), %rdi
movb $0x22, -0x1c5(%rbp)
leaq -0x1c5(%rbp), %rsi
callq 0x71050
movq %rax, -0x8e8(%rbp)
jmp 0x72cfc
movq -0x8e8(%rbp), %rdi
leaq 0x58ec8(%rip), %rsi     # 0xcbbd2
callq 0x711a0
movq %rax, -0x8f0(%rbp)
jmp 0x72d18
movq -0x8f0(%rbp), %rdi
leaq 0x58c47(%rip), %rsi     # 0xcb96d
callq 0x71020
movq %rax, -0x8f8(%rbp)
jmp 0x72d34
movq -0x8f8(%rbp), %rdi
callq 0x710d0
movq %rax, -0x900(%rbp)
jmp 0x72d49
movq -0x900(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x70fc0
jmp 0x72d5b
movq -0x8e0(%rbp), %rdi
leaq -0x10(%rbp), %rsi
movl $0x25, %edx
leaq -0x20(%rbp), %rcx
callq 0x6840
jmp 0x72d76
leaq -0x1b8(%rbp), %rdi
callq 0x71120
movq 0x94867(%rip), %rax     # 0x1075f0
movq %rax, -0x918(%rbp)
leaq 0x58dd1(%rip), %rsi     # 0xcbb68
leaq -0x1d8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
leaq -0x380(%rbp), %rdi
movq %rdi, -0x910(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x6230
movq -0x910(%rbp), %rdi
callq 0x71090
movq -0x910(%rbp), %rdi
callq 0x710c0
movq %rax, -0x908(%rbp)
jmp 0x72de3
movq -0x908(%rbp), %rdi
movb $0x22, -0x381(%rbp)
leaq -0x381(%rbp), %rsi
callq 0x71050
movq %rax, -0x920(%rbp)
jmp 0x72e06
movq -0x920(%rbp), %rdi
leaq 0x58dbe(%rip), %rsi     # 0xcbbd2
callq 0x711a0
movq %rax, -0x928(%rbp)
jmp 0x72e22
movq -0x928(%rbp), %rdi
leaq 0x58b4c(%rip), %rsi     # 0xcb97c
callq 0x71150
movq %rax, -0x930(%rbp)
jmp 0x72e3e
movq -0x930(%rbp), %rdi
callq 0x710d0
movq %rax, -0x938(%rbp)
jmp 0x72e53
movq -0x938(%rbp), %rsi
leaq -0x1e8(%rbp), %rdi
callq 0x70fc0
jmp 0x72e68
movq -0x918(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
movl $0x25, %edx
leaq -0x1e8(%rbp), %rcx
callq 0x6840
jmp 0x72e89
leaq -0x380(%rbp), %rdi
callq 0x71120
leaq -0x1c6(%rbp), %rdi
callq 0xc06a0
movq 0x94748(%rip), %rax     # 0x1075f0
movq %rax, -0x950(%rbp)
leaq 0x58cb2(%rip), %rsi     # 0xcbb68
leaq -0x398(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
leaq -0x540(%rbp), %rdi
movq %rdi, -0x948(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x6230
movq -0x948(%rbp), %rdi
callq 0x71090
movq -0x948(%rbp), %rdi
callq 0x710c0
movq %rax, -0x940(%rbp)
jmp 0x72f02
movq -0x940(%rbp), %rdi
movb $0x22, -0x541(%rbp)
leaq -0x541(%rbp), %rsi
callq 0x71050
movq %rax, -0x958(%rbp)
jmp 0x72f25
movq -0x958(%rbp), %rdi
leaq 0x58c9f(%rip), %rsi     # 0xcbbd2
callq 0x711a0
movq %rax, -0x960(%rbp)
jmp 0x72f41
movq -0x960(%rbp), %rdi
leaq 0x58a3d(%rip), %rsi     # 0xcb98c
callq 0x711a0
movq %rax, -0x968(%rbp)
jmp 0x72f5d
movq -0x968(%rbp), %rdi
callq 0x710d0
movq %rax, -0x970(%rbp)
jmp 0x72f72
movq -0x970(%rbp), %rsi
leaq -0x3a8(%rbp), %rdi
callq 0x70fc0
jmp 0x72f87
movq -0x950(%rbp), %rdi
leaq -0x398(%rbp), %rsi
movl $0x25, %edx
leaq -0x3a8(%rbp), %rcx
callq 0x6840
jmp 0x72fa8
leaq -0x540(%rbp), %rdi
callq 0x71120
leaq -0x1c6(%rbp), %rdi
callq 0x732b0
movq 0x94629(%rip), %rax     # 0x1075f0
movq %rax, -0x988(%rbp)
leaq 0x58b93(%rip), %rsi     # 0xcbb68
leaq -0x558(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
leaq -0x700(%rbp), %rdi
movq %rdi, -0x980(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x6230
movq -0x980(%rbp), %rdi
callq 0x71090
movq -0x980(%rbp), %rdi
callq 0x710c0
movq %rax, -0x978(%rbp)
jmp 0x73021
movq -0x978(%rbp), %rdi
movb $0x22, -0x701(%rbp)
leaq -0x701(%rbp), %rsi
callq 0x71050
movq %rax, -0x990(%rbp)
jmp 0x73044
movq -0x990(%rbp), %rdi
leaq 0x58b80(%rip), %rsi     # 0xcbbd2
callq 0x711a0
movq %rax, -0x998(%rbp)
jmp 0x73060
movq -0x998(%rbp), %rdi
leaq 0x5892b(%rip), %rsi     # 0xcb999
callq 0x711d0
movq %rax, -0x9a0(%rbp)
jmp 0x7307c
movq -0x9a0(%rbp), %rdi
callq 0x710d0
movq %rax, -0x9a8(%rbp)
jmp 0x73091
movq -0x9a8(%rbp), %rsi
leaq -0x568(%rbp), %rdi
callq 0x70fc0
jmp 0x730a6
movq -0x988(%rbp), %rdi
leaq -0x558(%rbp), %rsi
movl $0x25, %edx
leaq -0x568(%rbp), %rcx
callq 0x6840
jmp 0x730c7
leaq -0x700(%rbp), %rdi
callq 0x71120
leaq -0x1c6(%rbp), %rdi
callq 0xc06c0
movq 0x9450a(%rip), %rax     # 0x1075f0
movq %rax, -0x9c0(%rbp)
leaq 0x58a74(%rip), %rsi     # 0xcbb68
leaq -0x718(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
leaq -0x8c0(%rbp), %rdi
movq %rdi, -0x9b8(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x6230
movq -0x9b8(%rbp), %rdi
callq 0x71090
movq -0x9b8(%rbp), %rdi
callq 0x710c0
movq %rax, -0x9b0(%rbp)
jmp 0x73140
movq -0x9b0(%rbp), %rdi
movb $0x22, -0x8c1(%rbp)
leaq -0x8c1(%rbp), %rsi
callq 0x71050
movq %rax, -0x9c8(%rbp)
jmp 0x73163
movq -0x9c8(%rbp), %rdi
leaq 0x58a61(%rip), %rsi     # 0xcbbd2
callq 0x711a0
movq %rax, -0x9d0(%rbp)
jmp 0x7317f
movq -0x9d0(%rbp), %rdi
leaq 0x5881f(%rip), %rsi     # 0xcb9ac
callq 0x71020
movq %rax, -0x9d8(%rbp)
jmp 0x7319b
movq -0x9d8(%rbp), %rdi
callq 0x710d0
movq %rax, -0x9e0(%rbp)
jmp 0x731b0
movq -0x9e0(%rbp), %rsi
leaq -0x728(%rbp), %rdi
callq 0x70fc0
jmp 0x731c5
movq -0x9c0(%rbp), %rdi
leaq -0x718(%rbp), %rsi
movl $0x25, %edx
leaq -0x728(%rbp), %rcx
callq 0x6840
jmp 0x731e6
leaq -0x8c0(%rbp), %rdi
callq 0x71120
addq $0x9e0, %rsp            # imm = 0x9E0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x71120
jmp 0x73299
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x380(%rbp), %rdi
callq 0x71120
jmp 0x73299
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x540(%rbp), %rdi
callq 0x71120
jmp 0x73299
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x700(%rbp), %rdi
callq 0x71120
jmp 0x73299
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x8c0(%rbp), %rdi
callq 0x71120
movq -0x1c0(%rbp), %rdi
callq 0x67a0
nopw %cs:(%rax,%rax)