// File: aalto-speech[P]ftk/test/emtest.cc
// Function: ForwardBackwardTest1_invoker()
BOOST_AUTO_TEST_CASE(ForwardBackwardTest1)
{
    map<string, flt_type> vocab;
    string str1("a");
    vocab[str1] = -1.0;
    string sentence("");
    map<string, flt_type> stats;
    flt_type lp = forward_backward(vocab, sentence, stats);
    BOOST_CHECK_EQUAL(0, (int)stats.size());
    BOOST_CHECK_EQUAL(MIN_FLOAT, lp);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x9c0, %rsp            # imm = 0x9C0
movq 0x8fb0e(%rip), %rax     # 0x1075f0
movq %rax, -0x8e8(%rbp)
leaq 0x54078(%rip), %rsi     # 0xcbb68
leaq -0x10(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
leaq -0x1b8(%rbp), %rdi
movq %rdi, -0x8e0(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x6230
movq -0x8e0(%rbp), %rdi
callq 0x71090
movq -0x8e0(%rbp), %rdi
callq 0x710c0
movq %rax, %rdi
movb $0x22, -0x1b9(%rbp)
leaq -0x1b9(%rbp), %rsi
callq 0x71050
movq %rax, -0x8d8(%rbp)
jmp 0x77b4f
movq -0x8d8(%rbp), %rdi
leaq 0x54bff(%rip), %rsi     # 0xcc75c
callq 0xc09a0
movq %rax, -0x8f0(%rbp)
jmp 0x77b6b
movq -0x8f0(%rbp), %rdi
leaq 0x53df4(%rip), %rsi     # 0xcb96d
callq 0x71020
movq %rax, -0x8f8(%rbp)
jmp 0x77b87
movq -0x8f8(%rbp), %rdi
callq 0x710d0
movq %rax, -0x900(%rbp)
jmp 0x77b9c
movq -0x900(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x70fc0
jmp 0x77bae
movq -0x8e8(%rbp), %rdi
leaq -0x10(%rbp), %rsi
movl $0xbd, %edx
leaq -0x20(%rbp), %rcx
callq 0x6840
jmp 0x77bc9
leaq -0x1b8(%rbp), %rdi
callq 0x71120
movq 0x8fa14(%rip), %rax     # 0x1075f0
movq %rax, -0x918(%rbp)
leaq 0x53f7e(%rip), %rsi     # 0xcbb68
leaq -0x1e0(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
leaq -0x388(%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, %rdi
movb $0x22, -0x389(%rbp)
leaq -0x389(%rbp), %rsi
callq 0x71050
movq %rax, -0x908(%rbp)
jmp 0x77c4c
movq -0x908(%rbp), %rdi
leaq 0x54b02(%rip), %rsi     # 0xcc75c
callq 0xc09a0
movq %rax, -0x920(%rbp)
jmp 0x77c68
movq -0x920(%rbp), %rdi
leaq 0x53d06(%rip), %rsi     # 0xcb97c
callq 0x71150
movq %rax, -0x928(%rbp)
jmp 0x77c84
movq -0x928(%rbp), %rdi
callq 0x710d0
movq %rax, -0x930(%rbp)
jmp 0x77c99
movq -0x930(%rbp), %rsi
leaq -0x1f0(%rbp), %rdi
callq 0x70fc0
jmp 0x77cae
movq -0x918(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
movl $0xbd, %edx
leaq -0x1f0(%rbp), %rcx
callq 0x6840
jmp 0x77ccf
leaq -0x388(%rbp), %rdi
callq 0x71120
leaq -0x1cd(%rbp), %rdi
callq 0xc09d0
movq 0x8f902(%rip), %rax     # 0x1075f0
movq %rax, -0x948(%rbp)
leaq 0x53e6c(%rip), %rsi     # 0xcbb68
leaq -0x3a0(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
leaq -0x548(%rbp), %rdi
movq %rdi, -0x940(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x6230
movq -0x940(%rbp), %rdi
callq 0x71090
movq -0x940(%rbp), %rdi
callq 0x710c0
movq %rax, %rdi
movb $0x22, -0x549(%rbp)
leaq -0x549(%rbp), %rsi
callq 0x71050
movq %rax, -0x938(%rbp)
jmp 0x77d5e
movq -0x938(%rbp), %rdi
leaq 0x549f0(%rip), %rsi     # 0xcc75c
callq 0xc09a0
movq %rax, -0x950(%rbp)
jmp 0x77d7a
movq -0x950(%rbp), %rdi
leaq 0x53c04(%rip), %rsi     # 0xcb98c
callq 0x711a0
movq %rax, -0x958(%rbp)
jmp 0x77d96
movq -0x958(%rbp), %rdi
callq 0x710d0
movq %rax, -0x960(%rbp)
jmp 0x77dab
movq -0x960(%rbp), %rsi
leaq -0x3b0(%rbp), %rdi
callq 0x70fc0
jmp 0x77dc0
movq -0x948(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
movl $0xbd, %edx
leaq -0x3b0(%rbp), %rcx
callq 0x6840
jmp 0x77de1
leaq -0x548(%rbp), %rdi
callq 0x71120
leaq -0x1cd(%rbp), %rdi
callq 0x780d0
movq 0x8f7f0(%rip), %rax     # 0x1075f0
movq %rax, -0x978(%rbp)
leaq 0x53d5a(%rip), %rsi     # 0xcbb68
leaq -0x560(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
leaq -0x708(%rbp), %rdi
movq %rdi, -0x970(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x6230
movq -0x970(%rbp), %rdi
callq 0x71090
movq -0x970(%rbp), %rdi
callq 0x710c0
movq %rax, %rdi
movb $0x22, -0x709(%rbp)
leaq -0x709(%rbp), %rsi
callq 0x71050
movq %rax, -0x968(%rbp)
jmp 0x77e70
movq -0x968(%rbp), %rdi
leaq 0x548de(%rip), %rsi     # 0xcc75c
callq 0xc09a0
movq %rax, -0x980(%rbp)
jmp 0x77e8c
movq -0x980(%rbp), %rdi
leaq 0x53aff(%rip), %rsi     # 0xcb999
callq 0x711d0
movq %rax, -0x988(%rbp)
jmp 0x77ea8
movq -0x988(%rbp), %rdi
callq 0x710d0
movq %rax, -0x990(%rbp)
jmp 0x77ebd
movq -0x990(%rbp), %rsi
leaq -0x570(%rbp), %rdi
callq 0x70fc0
jmp 0x77ed2
movq -0x978(%rbp), %rdi
leaq -0x560(%rbp), %rsi
movl $0xbd, %edx
leaq -0x570(%rbp), %rcx
callq 0x6840
jmp 0x77ef3
leaq -0x708(%rbp), %rdi
callq 0x71120
leaq -0x1cd(%rbp), %rdi
callq 0xc09f0
movq 0x8f6de(%rip), %rax     # 0x1075f0
movq %rax, -0x9a8(%rbp)
leaq 0x53c48(%rip), %rsi     # 0xcbb68
leaq -0x720(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
leaq -0x8c8(%rbp), %rdi
movq %rdi, -0x9a0(%rbp)
xorl %esi, %esi
movl $0x198, %edx            # imm = 0x198
callq 0x6230
movq -0x9a0(%rbp), %rdi
callq 0x71090
movq -0x9a0(%rbp), %rdi
callq 0x710c0
movq %rax, %rdi
movb $0x22, -0x8c9(%rbp)
leaq -0x8c9(%rbp), %rsi
callq 0x71050
movq %rax, -0x998(%rbp)
jmp 0x77f82
movq -0x998(%rbp), %rdi
leaq 0x547cc(%rip), %rsi     # 0xcc75c
callq 0xc09a0
movq %rax, -0x9b0(%rbp)
jmp 0x77f9e
movq -0x9b0(%rbp), %rdi
leaq 0x53a00(%rip), %rsi     # 0xcb9ac
callq 0x71020
movq %rax, -0x9b8(%rbp)
jmp 0x77fba
movq -0x9b8(%rbp), %rdi
callq 0x710d0
movq %rax, -0x9c0(%rbp)
jmp 0x77fcf
movq -0x9c0(%rbp), %rsi
leaq -0x730(%rbp), %rdi
callq 0x70fc0
jmp 0x77fe4
movq -0x9a8(%rbp), %rdi
leaq -0x720(%rbp), %rsi
movl $0xbd, %edx
leaq -0x730(%rbp), %rcx
callq 0x6840
jmp 0x78005
leaq -0x8c8(%rbp), %rdi
callq 0x71120
addq $0x9c0, %rsp            # imm = 0x9C0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x71120
jmp 0x780b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x388(%rbp), %rdi
callq 0x71120
jmp 0x780b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x548(%rbp), %rdi
callq 0x71120
jmp 0x780b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x708(%rbp), %rdi
callq 0x71120
jmp 0x780b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x8c8(%rbp), %rdi
callq 0x71120
movq -0x1c8(%rbp), %rdi
callq 0x67a0
nopw %cs:(%rax,%rax)