// File: /workspace/github_cpp_makefile_star2_O2/aalto-speech[P]ftk/test/msfgtest.cc
// Function: MultiStringFactorGraphTest3::test_method()
BOOST_AUTO_TEST_CASE(MultiStringFactorGraphTest3)
{
    MultiStringFactorGraph msfg(start_end_symbol);
    set<string> vocab = {"k", "i", "s", "a", "sa", "ki", "la", "kis", "kissa",
                         "lle", "kin", "kala"};
    string sentence("kissa");
    FactorGraph fg(sentence, start_end_symbol, vocab, 5);
    string sentence2("kala");
    FactorGraph fg2(sentence2, start_end_symbol, vocab, 5);
    string sentence3("kissakala");
    FactorGraph fg3(sentence3, start_end_symbol, vocab, 5);
    msfg.add(fg);
    msfg.add(fg2);
    msfg.add(fg3);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x410, %rsp            # imm = 0x410
leaq 0x1ed89(%rip), %rsi     # 0x705d8
leaq -0x428(%rbp), %rdi
callq 0x4ee8c
leaq 0x23f0(%rip), %rsi      # 0x53c52
leaq -0x240(%rbp), %rbx
leaq -0x330(%rbp), %rdx
movq %rbx, %rdi
callq 0x5160
leaq -0x220(%rbp), %r14
leaq 0x1ee2(%rip), %rsi      # 0x53768
leaq -0x2b8(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0x200(%rbp), %r14
leaq 0x176b(%rip), %rsi      # 0x5300e
leaq -0x90(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0x1e0(%rbp), %r14
leaq 0x266c(%rip), %rsi      # 0x53f2c
leaq -0x70(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0x1c0(%rbp), %r14
leaq 0x2ee6(%rip), %rsi      # 0x547c0
leaq -0x50(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0x1a0(%rbp), %r14
leaq 0x2490(%rip), %rsi      # 0x53d84
leaq -0x29(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0x180(%rbp), %r14
leaq 0x3564(%rip), %rsi      # 0x54e72
leaq -0x28(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0x160(%rbp), %r14
leaq 0x245f(%rip), %rsi      # 0x53d87
leaq -0x27(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0x140(%rbp), %r14
leaq 0x2312(%rip), %rsi      # 0x53c54
leaq -0x26(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0x120(%rbp), %r14
leaq 0x34ff(%rip), %rsi      # 0x54e5b
leaq -0x25(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0x100(%rbp), %r14
leaq 0x34f1(%rip), %rsi      # 0x54e67
leaq -0x24(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0xe0(%rbp), %r14
leaq 0x34e0(%rip), %rsi      # 0x54e70
leaq -0x23(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0xc0(%rbp), %rdi
leaq -0x240(%rbp), %rsi
pushq $0xc
popq %rdx
leaq -0x22(%rbp), %rcx
leaq -0x21(%rbp), %r8
callq 0x4ed0a
movl $0x160, %ebx            # imm = 0x160
leaq (%rbx,%rbp), %rdi
addq $-0x240, %rdi           # imm = 0xFDC0
callq 0x57b8
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x519bf
leaq 0x2274(%rip), %rsi      # 0x53c54
leaq -0x90(%rbp), %rdi
leaq -0x240(%rbp), %rdx
callq 0x5160
leaq 0x1ebde(%rip), %rdx     # 0x705d8
leaq -0x240(%rbp), %rdi
leaq -0x90(%rbp), %rsi
leaq -0xc0(%rbp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0xf742
leaq 0x344e(%rip), %rsi      # 0x54e70
leaq -0x70(%rbp), %rdi
leaq -0x330(%rbp), %rdx
callq 0x5160
leaq 0x1eb9f(%rip), %rdx     # 0x705d8
leaq -0x330(%rbp), %rdi
leaq -0x70(%rbp), %rsi
leaq -0xc0(%rbp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0xf742
leaq 0x340d(%rip), %rsi      # 0x54e6b
leaq -0x50(%rbp), %rdi
leaq -0x2b8(%rbp), %rdx
callq 0x5160
leaq 0x1eb63(%rip), %rdx     # 0x705d8
leaq -0x2b8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
leaq -0xc0(%rbp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0xf742
leaq -0x428(%rbp), %rdi
leaq -0x240(%rbp), %rsi
pushq $0x1
popq %rdx
callq 0x129ea
leaq -0x428(%rbp), %rdi
leaq -0x330(%rbp), %rsi
pushq $0x1
popq %rdx
callq 0x129ea
leaq -0x428(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
pushq $0x1
popq %rdx
callq 0x129ea
leaq -0x2b8(%rbp), %rdi
callq 0x10c24
leaq -0x50(%rbp), %rdi
callq 0x57b8
leaq -0x330(%rbp), %rdi
callq 0x10c24
leaq -0x70(%rbp), %rdi
callq 0x57b8
leaq -0x240(%rbp), %rdi
callq 0x10c24
leaq -0x90(%rbp), %rdi
callq 0x57b8
leaq -0xc0(%rbp), %rdi
callq 0x200e8
leaq -0x428(%rbp), %rdi
callq 0x128f4
addq $0x410, %rsp            # imm = 0x410
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
jmp 0x51be4
movq %rax, %r15
jmp 0x51bed
movq %rax, %r15
jmp 0x51bf9
movq %rax, %r15
jmp 0x51c02
movq %rax, %r15
jmp 0x51c0e
movq %rax, %r15
jmp 0x51c1a
movq %rax, %r15
movl $0x160, %r12d           # imm = 0x160
leaq (%r12,%rbp), %rdi
addq $-0x240, %rdi           # imm = 0xFDC0
callq 0x57b8
addq $-0x20, %r12
cmpq $-0x20, %r12
jne 0x51b78
movb $0x1, %al
jmp 0x51baf
jmp 0x51baa
jmp 0x51baa
jmp 0x51baa
jmp 0x51baa
jmp 0x51baa
jmp 0x51baa
jmp 0x51baa
jmp 0x51baa
jmp 0x51baa
jmp 0x51baa
movq %rax, %r15
xorl %eax, %eax
cmpq %r14, %rbx
sete %cl
testb %al, %al
jne 0x51c26
testb %cl, %cl
jne 0x51c26
addq $-0x20, %r14
movq %r14, %rdi
callq 0x57b8
cmpq %rbx, %r14
jne 0x51bbd
jmp 0x51c26
movq %rax, %r15
jmp 0x51c26
movq %rax, %r15
leaq -0x2b8(%rbp), %rdi
callq 0x10c24
leaq -0x50(%rbp), %rdi
callq 0x57b8
leaq -0x330(%rbp), %rdi
callq 0x10c24
leaq -0x70(%rbp), %rdi
callq 0x57b8
leaq -0x240(%rbp), %rdi
callq 0x10c24
leaq -0x90(%rbp), %rdi
callq 0x57b8
leaq -0xc0(%rbp), %rdi
callq 0x200e8
leaq -0x428(%rbp), %rdi
callq 0x128f4
movq %r15, %rdi
callq 0x56b0