// File: aalto-speech[P]ftk/test/emtest.cc
// Function: ForwardBackwardTest9::test_method()
BOOST_AUTO_TEST_CASE(ForwardBackwardTest9)
{
    map<string, flt_type> vocab;
    vocab["i"] = log(0.25);
    vocab["si"] = log(0.25);
    vocab["s"] = log(0.25);
    vocab["kö"] = log(0.50);
    vocab["kös"] = log(0.50);
    vocab["kössi"] = log(0.1953125);
    vocab["k"] = log(0.00000000001);
    vocab["�"] = log(0.00000000001);
    vocab["�"] = log(0.00000000001);
    string sentence("kössi");
    map<string, flt_type> stats;
    flt_type lp = forward_backward(vocab, sentence, stats, true);
    BOOST_CHECK_EQUAL(6, (int)stats.size());
    BOOST_CHECK_CLOSE( 0.5, stats["kössi"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.80/2.0, stats["kös"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.20/2.0, stats["kö"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.8/2.0, stats["si"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( (0.2+0.2)/2.0, stats["s"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.2/2.0, stats["i"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( (flt_type)-0.940007258491, lp, DBL_ACCURACY);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x8b0, %rsp            # imm = 0x8B0
movq %rdi, -0x8(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x530a0
movsd 0x4ae08(%rip), %xmm0    # 0xcbb18
callq 0x6370
movsd %xmm0, -0x648(%rbp)
leaq -0x59(%rbp), %rdi
movq %rdi, -0x640(%rbp)
callq 0x67b0
movq -0x640(%rbp), %rdx
leaq 0x4a9fd(%rip), %rsi     # 0xcb738
leaq -0x58(%rbp), %rdi
callq 0x65e0
jmp 0x80d46
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x650(%rbp)
jmp 0x80d5c
movq -0x650(%rbp), %rax
movsd -0x648(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x58(%rbp), %rdi
callq 0x6908
leaq -0x59(%rbp), %rdi
callq 0x6470
movsd 0x4ad8f(%rip), %xmm0    # 0xcbb18
callq 0x6370
movsd %xmm0, -0x660(%rbp)
leaq -0x91(%rbp), %rdi
movq %rdi, -0x658(%rbp)
callq 0x67b0
movq -0x658(%rbp), %rdx
leaq 0x4b093(%rip), %rsi     # 0xcbe4a
leaq -0x90(%rbp), %rdi
callq 0x65e0
jmp 0x80dc5
leaq -0x38(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x668(%rbp)
jmp 0x80dde
movq -0x668(%rbp), %rax
movsd -0x660(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x90(%rbp), %rdi
callq 0x6908
leaq -0x91(%rbp), %rdi
callq 0x6470
movsd 0x4ad07(%rip), %xmm0    # 0xcbb18
callq 0x6370
movsd %xmm0, -0x678(%rbp)
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x670(%rbp)
callq 0x67b0
movq -0x670(%rbp), %rdx
leaq 0x4a1cf(%rip), %rsi     # 0xcb00e
leaq -0xb8(%rbp), %rdi
callq 0x65e0
jmp 0x80e4d
leaq -0x38(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x680(%rbp)
jmp 0x80e66
movq -0x680(%rbp), %rax
movsd -0x678(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0xb8(%rbp), %rdi
callq 0x6908
leaq -0xb9(%rbp), %rdi
callq 0x6470
movsd 0x4ac87(%rip), %xmm0    # 0xcbb20
callq 0x6370
movsd %xmm0, -0x690(%rbp)
leaq -0xe1(%rbp), %rdi
movq %rdi, -0x688(%rbp)
callq 0x67b0
movq -0x688(%rbp), %rdx
leaq 0x4af76(%rip), %rsi     # 0xcbe3d
leaq -0xe0(%rbp), %rdi
callq 0x65e0
jmp 0x80ed5
leaq -0x38(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x698(%rbp)
jmp 0x80eee
movq -0x698(%rbp), %rax
movsd -0x690(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0xe0(%rbp), %rdi
callq 0x6908
leaq -0xe1(%rbp), %rdi
callq 0x6470
movsd 0x4abff(%rip), %xmm0    # 0xcbb20
callq 0x6370
movsd %xmm0, -0x6a8(%rbp)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x6a0(%rbp)
callq 0x67b0
movq -0x6a0(%rbp), %rdx
leaq 0x4aef2(%rip), %rsi     # 0xcbe41
leaq -0x108(%rbp), %rdi
callq 0x65e0
jmp 0x80f5d
leaq -0x38(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x6b0(%rbp)
jmp 0x80f76
movq -0x6b0(%rbp), %rax
movsd -0x6a8(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x108(%rbp), %rdi
callq 0x6908
leaq -0x109(%rbp), %rdi
callq 0x6470
movsd 0x4ab7f(%rip), %xmm0    # 0xcbb28
callq 0x6370
movsd %xmm0, -0x6c0(%rbp)
leaq -0x131(%rbp), %rdi
movq %rdi, -0x6b8(%rbp)
callq 0x67b0
movq -0x6b8(%rbp), %rdx
leaq 0x4ae6f(%rip), %rsi     # 0xcbe46
leaq -0x130(%rbp), %rdi
callq 0x65e0
jmp 0x80fe5
leaq -0x38(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x6c8(%rbp)
jmp 0x80ffe
movq -0x6c8(%rbp), %rax
movsd -0x6c0(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x130(%rbp), %rdi
callq 0x6908
leaq -0x131(%rbp), %rdi
callq 0x6470
movsd 0x4ab07(%rip), %xmm0    # 0xcbb38
callq 0x6370
movsd %xmm0, -0x6d8(%rbp)
leaq -0x159(%rbp), %rdi
movq %rdi, -0x6d0(%rbp)
callq 0x67b0
movq -0x6d0(%rbp), %rdx
leaq 0x4abdb(%rip), %rsi     # 0xcbc3a
leaq -0x158(%rbp), %rdi
callq 0x65e0
jmp 0x8106d
leaq -0x38(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x6e0(%rbp)
jmp 0x81086
movq -0x6e0(%rbp), %rax
movsd -0x6d8(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x158(%rbp), %rdi
callq 0x6908
leaq -0x159(%rbp), %rdi
callq 0x6470
movsd 0x4aa7f(%rip), %xmm0    # 0xcbb38
callq 0x6370
movsd %xmm0, -0x6f0(%rbp)
leaq -0x181(%rbp), %rdi
movq %rdi, -0x6e8(%rbp)
callq 0x67b0
movq -0x6e8(%rbp), %rdx
leaq 0x4ab83(%rip), %rsi     # 0xcbc6a
leaq -0x180(%rbp), %rdi
callq 0x65e0
jmp 0x810f5
leaq -0x38(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x6f8(%rbp)
jmp 0x8110e
movq -0x6f8(%rbp), %rax
movsd -0x6f0(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x180(%rbp), %rdi
callq 0x6908
leaq -0x181(%rbp), %rdi
callq 0x6470
movsd 0x4a9f7(%rip), %xmm0    # 0xcbb38
callq 0x6370
movsd %xmm0, -0x708(%rbp)
leaq -0x1a9(%rbp), %rdi
movq %rdi, -0x700(%rbp)
callq 0x67b0
movq -0x700(%rbp), %rdx
leaq 0x4aafb(%rip), %rsi     # 0xcbc6a
leaq -0x1a8(%rbp), %rdi
callq 0x65e0
jmp 0x8117d
leaq -0x38(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x710(%rbp)
jmp 0x81196
movq -0x710(%rbp), %rax
movsd -0x708(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x1a8(%rbp), %rdi
callq 0x6908
leaq -0x1a9(%rbp), %rdi
callq 0x6470
leaq -0x1d1(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x67b0
movq -0x718(%rbp), %rdx
leaq 0x4ac64(%rip), %rsi     # 0xcbe46
leaq -0x1d0(%rbp), %rdi
callq 0x65e0
jmp 0x811f0
leaq -0x1d1(%rbp), %rdi
callq 0x6470
leaq -0x208(%rbp), %rdi
movq %rdi, -0x728(%rbp)
callq 0x530a0
movq -0x728(%rbp), %rdx
leaq -0x38(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
movl $0x1, %ecx
callq 0x44ea0
movsd %xmm0, -0x720(%rbp)
jmp 0x81235
movsd -0x720(%rbp), %xmm0
movsd %xmm0, -0x210(%rbp)
movq 0x863a4(%rip), %rax     # 0x1075f0
movq %rax, -0x730(%rbp)
leaq 0x4a90e(%rip), %rsi     # 0xcbb68
leaq -0x220(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x8126d
leaq -0x230(%rbp), %rdi
callq 0x70c00
jmp 0x8127b
movq -0x730(%rbp), %rdi
leaq -0x220(%rbp), %rsi
movl $0x15d, %edx            # imm = 0x15D
leaq -0x230(%rbp), %rcx
callq 0x6840
jmp 0x8129c
callq 0x70e90
movq %rax, -0x738(%rbp)
jmp 0x812aa
movq -0x738(%rbp), %rsi
leaq 0x4a072(%rip), %rdx     # 0xcb32a
leaq -0x258(%rbp), %rdi
callq 0x70e50
jmp 0x812c6
leaq 0x4a89b(%rip), %rsi     # 0xcbb68
leaq -0x268(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x812e0
movl $0x6, -0x26c(%rbp)
leaq -0x208(%rbp), %rdi
callq 0x5bdf0
movl %eax, -0x270(%rbp)
leaq 0x4a96b(%rip), %rcx     # 0xcbc6e
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x270(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x4b3a1(%rip), %rcx     # 0xcc6bd
movq %rcx, (%rax)
leaq -0x258(%rbp), %rdi
leaq -0x268(%rbp), %rsi
movl $0x15d, %edx            # imm = 0x15D
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x26c(%rbp), %r9
callq 0xbf480
jmp 0x8134b
leaq -0x258(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x739(%rbp)
jmp 0x81364
movb -0x739(%rbp), %al
testb $0x1, %al
jne 0x81245
jmp 0x81374
jmp 0x81376
movq 0x86273(%rip), %rax     # 0x1075f0
movq %rax, -0x748(%rbp)
leaq 0x4a7dd(%rip), %rsi     # 0xcbb68
leaq -0x280(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x8139e
leaq -0x290(%rbp), %rdi
callq 0x70c00
jmp 0x813ac
movq -0x748(%rbp), %rdi
leaq -0x280(%rbp), %rsi
movl $0x15e, %edx            # imm = 0x15E
leaq -0x290(%rbp), %rcx
callq 0x6840
jmp 0x813cd
callq 0x70e90
movq %rax, -0x750(%rbp)
jmp 0x813db
movq -0x750(%rbp), %rsi
leaq 0x49f41(%rip), %rdx     # 0xcb32a
leaq -0x2b8(%rbp), %rdi
callq 0x70e50
jmp 0x813f7
leaq 0x4a76a(%rip), %rsi     # 0xcbb68
leaq -0x2c8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x81411
movabsq $0x3fe0000000000000, %rax # imm = 0x3FE0000000000000
movq %rax, -0x2d0(%rbp)
leaq -0x2f1(%rbp), %rdi
movq %rdi, -0x758(%rbp)
callq 0x67b0
movq -0x758(%rbp), %rdx
leaq 0x4aa03(%rip), %rsi     # 0xcbe46
leaq -0x2f0(%rbp), %rdi
callq 0x65e0
jmp 0x81451
leaq -0x208(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x760(%rbp)
jmp 0x8146d
movsd 0x8603b(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x768(%rbp)
jmp 0x81484
movq -0x760(%rbp), %rcx
movsd -0x768(%rbp), %xmm0
movsd %xmm0, -0x300(%rbp)
leaq 0x4a843(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x300(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4a992(%rip), %rdx     # 0xcbe4d
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4a901(%rip), %rcx     # 0xcbdcb
movq %rcx, (%rax)
leaq -0x2b8(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
movl $0x15e, %edx            # imm = 0x15E
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x2d0(%rbp), %r9
callq 0xbf6a0
jmp 0x814f9
leaq -0x2f0(%rbp), %rdi
callq 0x6908
leaq -0x2f1(%rbp), %rdi
callq 0x6470
leaq -0x2b8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x769(%rbp)
jmp 0x8152a
movb -0x769(%rbp), %al
testb $0x1, %al
jne 0x81376
jmp 0x8153a
jmp 0x8153c
movq 0x860ad(%rip), %rax     # 0x1075f0
movq %rax, -0x778(%rbp)
leaq 0x4a617(%rip), %rsi     # 0xcbb68
leaq -0x310(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x81564
leaq -0x320(%rbp), %rdi
callq 0x70c00
jmp 0x81572
movq -0x778(%rbp), %rdi
leaq -0x310(%rbp), %rsi
movl $0x15f, %edx            # imm = 0x15F
leaq -0x320(%rbp), %rcx
callq 0x6840
jmp 0x81593
callq 0x70e90
movq %rax, -0x780(%rbp)
jmp 0x815a1
movq -0x780(%rbp), %rsi
leaq 0x49d7b(%rip), %rdx     # 0xcb32a
leaq -0x348(%rbp), %rdi
callq 0x70e50
jmp 0x815bd
leaq 0x4a5a4(%rip), %rsi     # 0xcbb68
leaq -0x358(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x815d7
movabsq $0x3fd999999999999a, %rax # imm = 0x3FD999999999999A
movq %rax, -0x360(%rbp)
leaq -0x381(%rbp), %rdi
movq %rdi, -0x788(%rbp)
callq 0x67b0
movq -0x788(%rbp), %rdx
leaq 0x4a838(%rip), %rsi     # 0xcbe41
leaq -0x380(%rbp), %rdi
callq 0x65e0
jmp 0x81617
leaq -0x208(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x790(%rbp)
jmp 0x81633
movsd 0x85e75(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x798(%rbp)
jmp 0x8164a
movq -0x790(%rbp), %rcx
movsd -0x798(%rbp), %xmm0
movsd %xmm0, -0x390(%rbp)
leaq 0x4a67d(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x390(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4a7dc(%rip), %rdx     # 0xcbe5d
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4a74e(%rip), %rcx     # 0xcbdde
movq %rcx, (%rax)
leaq -0x348(%rbp), %rdi
leaq -0x358(%rbp), %rsi
movl $0x15f, %edx            # imm = 0x15F
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x360(%rbp), %r9
callq 0xbf6a0
jmp 0x816bf
leaq -0x380(%rbp), %rdi
callq 0x6908
leaq -0x381(%rbp), %rdi
callq 0x6470
leaq -0x348(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x799(%rbp)
jmp 0x816f0
movb -0x799(%rbp), %al
testb $0x1, %al
jne 0x8153c
jmp 0x81700
jmp 0x81702
movq 0x85ee7(%rip), %rax     # 0x1075f0
movq %rax, -0x7a8(%rbp)
leaq 0x4a451(%rip), %rsi     # 0xcbb68
leaq -0x3a0(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x8172a
leaq -0x3b0(%rbp), %rdi
callq 0x70c00
jmp 0x81738
movq -0x7a8(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
movl $0x160, %edx            # imm = 0x160
leaq -0x3b0(%rbp), %rcx
callq 0x6840
jmp 0x81759
callq 0x70e90
movq %rax, -0x7b0(%rbp)
jmp 0x81767
movq -0x7b0(%rbp), %rsi
leaq 0x49bb5(%rip), %rdx     # 0xcb32a
leaq -0x3d8(%rbp), %rdi
callq 0x70e50
jmp 0x81783
leaq 0x4a3de(%rip), %rsi     # 0xcbb68
leaq -0x3e8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x8179d
movabsq $0x3fb999999999999a, %rax # imm = 0x3FB999999999999A
movq %rax, -0x3f0(%rbp)
leaq -0x411(%rbp), %rdi
movq %rdi, -0x7b8(%rbp)
callq 0x67b0
movq -0x7b8(%rbp), %rdx
leaq 0x4a66e(%rip), %rsi     # 0xcbe3d
leaq -0x410(%rbp), %rdi
callq 0x65e0
jmp 0x817dd
leaq -0x208(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x7c0(%rbp)
jmp 0x817f9
movsd 0x85caf(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x7c8(%rbp)
jmp 0x81810
movq -0x7c0(%rbp), %rcx
movsd -0x7c8(%rbp), %xmm0
movsd %xmm0, -0x420(%rbp)
leaq 0x4a4b7(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x420(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4a624(%rip), %rdx     # 0xcbe6b
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4a591(%rip), %rcx     # 0xcbde7
movq %rcx, (%rax)
leaq -0x3d8(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
movl $0x160, %edx            # imm = 0x160
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x3f0(%rbp), %r9
callq 0xbf6a0
jmp 0x81885
leaq -0x410(%rbp), %rdi
callq 0x6908
leaq -0x411(%rbp), %rdi
callq 0x6470
leaq -0x3d8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x7c9(%rbp)
jmp 0x818b6
movb -0x7c9(%rbp), %al
testb $0x1, %al
jne 0x81702
jmp 0x818c6
jmp 0x818c8
movq 0x85d21(%rip), %rax     # 0x1075f0
movq %rax, -0x7d8(%rbp)
leaq 0x4a28b(%rip), %rsi     # 0xcbb68
leaq -0x430(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x818f0
leaq -0x440(%rbp), %rdi
callq 0x70c00
jmp 0x818fe
movq -0x7d8(%rbp), %rdi
leaq -0x430(%rbp), %rsi
movl $0x161, %edx            # imm = 0x161
leaq -0x440(%rbp), %rcx
callq 0x6840
jmp 0x8191f
callq 0x70e90
movq %rax, -0x7e0(%rbp)
jmp 0x8192d
movq -0x7e0(%rbp), %rsi
leaq 0x499ef(%rip), %rdx     # 0xcb32a
leaq -0x468(%rbp), %rdi
callq 0x70e50
jmp 0x81949
leaq 0x4a218(%rip), %rsi     # 0xcbb68
leaq -0x478(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x81963
movabsq $0x3fd999999999999a, %rax # imm = 0x3FD999999999999A
movq %rax, -0x480(%rbp)
leaq -0x4a1(%rbp), %rdi
movq %rdi, -0x7e8(%rbp)
callq 0x67b0
movq -0x7e8(%rbp), %rdx
leaq 0x4a4b5(%rip), %rsi     # 0xcbe4a
leaq -0x4a0(%rbp), %rdi
callq 0x65e0
jmp 0x819a3
leaq -0x208(%rbp), %rdi
leaq -0x4a0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x7f0(%rbp)
jmp 0x819bf
movsd 0x85ae9(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x7f8(%rbp)
jmp 0x819d6
movq -0x7f0(%rbp), %rcx
movsd -0x7f8(%rbp), %xmm0
movsd %xmm0, -0x4b0(%rbp)
leaq 0x4a2f1(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x4b0(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4a46b(%rip), %rdx     # 0xcbe78
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4a3d4(%rip), %rcx     # 0xcbdf0
movq %rcx, (%rax)
leaq -0x468(%rbp), %rdi
leaq -0x478(%rbp), %rsi
movl $0x161, %edx            # imm = 0x161
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x480(%rbp), %r9
callq 0xbf6a0
jmp 0x81a4b
leaq -0x4a0(%rbp), %rdi
callq 0x6908
leaq -0x4a1(%rbp), %rdi
callq 0x6470
leaq -0x468(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x7f9(%rbp)
jmp 0x81a7c
movb -0x7f9(%rbp), %al
testb $0x1, %al
jne 0x818c8
jmp 0x81a8c
jmp 0x81a8e
movq 0x85b5b(%rip), %rax     # 0x1075f0
movq %rax, -0x808(%rbp)
leaq 0x4a0c5(%rip), %rsi     # 0xcbb68
leaq -0x4c0(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x81ab6
leaq -0x4d0(%rbp), %rdi
callq 0x70c00
jmp 0x81ac4
movq -0x808(%rbp), %rdi
leaq -0x4c0(%rbp), %rsi
movl $0x162, %edx            # imm = 0x162
leaq -0x4d0(%rbp), %rcx
callq 0x6840
jmp 0x81ae5
callq 0x70e90
movq %rax, -0x810(%rbp)
jmp 0x81af3
movq -0x810(%rbp), %rsi
leaq 0x49829(%rip), %rdx     # 0xcb32a
leaq -0x4f8(%rbp), %rdi
callq 0x70e50
jmp 0x81b0f
leaq 0x4a052(%rip), %rsi     # 0xcbb68
leaq -0x508(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x81b29
movabsq $0x3fc999999999999a, %rax # imm = 0x3FC999999999999A
movq %rax, -0x510(%rbp)
leaq -0x531(%rbp), %rdi
movq %rdi, -0x818(%rbp)
callq 0x67b0
movq -0x818(%rbp), %rdx
leaq 0x494b3(%rip), %rsi     # 0xcb00e
leaq -0x530(%rbp), %rdi
callq 0x65e0
jmp 0x81b69
leaq -0x208(%rbp), %rdi
leaq -0x530(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x820(%rbp)
jmp 0x81b85
movsd 0x85923(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x828(%rbp)
jmp 0x81b9c
movq -0x820(%rbp), %rcx
movsd -0x828(%rbp), %xmm0
movsd %xmm0, -0x540(%rbp)
leaq 0x4a12b(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x540(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4a1d4(%rip), %rdx     # 0xcbda7
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4a216(%rip), %rcx     # 0xcbdf8
movq %rcx, (%rax)
leaq -0x4f8(%rbp), %rdi
leaq -0x508(%rbp), %rsi
movl $0x162, %edx            # imm = 0x162
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x510(%rbp), %r9
callq 0xbf6a0
jmp 0x81c11
leaq -0x530(%rbp), %rdi
callq 0x6908
leaq -0x531(%rbp), %rdi
callq 0x6470
leaq -0x4f8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x829(%rbp)
jmp 0x81c42
movb -0x829(%rbp), %al
testb $0x1, %al
jne 0x81a8e
jmp 0x81c52
jmp 0x81c54
movq 0x85995(%rip), %rax     # 0x1075f0
movq %rax, -0x838(%rbp)
leaq 0x49eff(%rip), %rsi     # 0xcbb68
leaq -0x550(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x81c7c
leaq -0x560(%rbp), %rdi
callq 0x70c00
jmp 0x81c8a
movq -0x838(%rbp), %rdi
leaq -0x550(%rbp), %rsi
movl $0x163, %edx            # imm = 0x163
leaq -0x560(%rbp), %rcx
callq 0x6840
jmp 0x81cab
callq 0x70e90
movq %rax, -0x840(%rbp)
jmp 0x81cb9
movq -0x840(%rbp), %rsi
leaq 0x49663(%rip), %rdx     # 0xcb32a
leaq -0x588(%rbp), %rdi
callq 0x70e50
jmp 0x81cd5
leaq 0x49e8c(%rip), %rsi     # 0xcbb68
leaq -0x598(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x81cef
movabsq $0x3fb999999999999a, %rax # imm = 0x3FB999999999999A
movq %rax, -0x5a0(%rbp)
leaq -0x5c1(%rbp), %rdi
movq %rdi, -0x848(%rbp)
callq 0x67b0
movq -0x848(%rbp), %rdx
leaq 0x49a17(%rip), %rsi     # 0xcb738
leaq -0x5c0(%rbp), %rdi
callq 0x65e0
jmp 0x81d2f
leaq -0x208(%rbp), %rdi
leaq -0x5c0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x850(%rbp)
jmp 0x81d4b
movsd 0x8575d(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x858(%rbp)
jmp 0x81d62
movq -0x850(%rbp), %rcx
movsd -0x858(%rbp), %xmm0
movsd %xmm0, -0x5d0(%rbp)
leaq 0x49f65(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x5d0(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4a0eb(%rip), %rdx     # 0xcbe84
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4a05e(%rip), %rcx     # 0xcbe06
movq %rcx, (%rax)
leaq -0x588(%rbp), %rdi
leaq -0x598(%rbp), %rsi
movl $0x163, %edx            # imm = 0x163
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x5a0(%rbp), %r9
callq 0xbf6a0
jmp 0x81dd7
leaq -0x5c0(%rbp), %rdi
callq 0x6908
leaq -0x5c1(%rbp), %rdi
callq 0x6470
leaq -0x588(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x859(%rbp)
jmp 0x81e08
movb -0x859(%rbp), %al
testb $0x1, %al
jne 0x81c54
jmp 0x81e18
jmp 0x81e1a
movq 0x857cf(%rip), %rax     # 0x1075f0
movq %rax, -0x868(%rbp)
leaq 0x49d39(%rip), %rsi     # 0xcbb68
leaq -0x5e0(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x81e42
leaq -0x5f0(%rbp), %rdi
callq 0x70c00
jmp 0x81e50
movq -0x868(%rbp), %rdi
leaq -0x5e0(%rbp), %rsi
movl $0x164, %edx            # imm = 0x164
leaq -0x5f0(%rbp), %rcx
callq 0x6840
jmp 0x81e71
callq 0x70e90
movq %rax, -0x870(%rbp)
jmp 0x81e7f
movq -0x870(%rbp), %rsi
leaq 0x4949d(%rip), %rdx     # 0xcb32a
leaq -0x618(%rbp), %rdi
callq 0x70e50
jmp 0x81e9b
leaq 0x49cc6(%rip), %rsi     # 0xcbb68
leaq -0x628(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x81eb5
movabsq $-0x4011eb75e5d8e9c6, %rax # imm = 0xBFEE148A1A27163A
movq %rax, -0x630(%rbp)
movsd 0x855e2(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x878(%rbp)
jmp 0x81edd
movsd -0x878(%rbp), %xmm0
movsd %xmm0, -0x638(%rbp)
leaq 0x49df1(%rip), %rcx     # 0xcbce5
movq %rsp, %rax
movq %rcx, 0x20(%rax)
leaq -0x638(%rbp), %rcx
movq %rcx, 0x18(%rax)
leaq 0x4a869(%rip), %rcx     # 0xcc776
movq %rcx, 0x10(%rax)
leaq -0x210(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x49eeb(%rip), %rcx     # 0xcbe0e
movq %rcx, (%rax)
leaq -0x618(%rbp), %rdi
leaq -0x628(%rbp), %rsi
movl $0x164, %edx            # imm = 0x164
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x630(%rbp), %r9
callq 0xbf6a0
jmp 0x81f52
leaq -0x618(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x879(%rbp)
jmp 0x81f6b
movb -0x879(%rbp), %al
testb $0x1, %al
jne 0x81e1a
jmp 0x81f7b
leaq -0x208(%rbp), %rdi
callq 0x4cf70
leaq -0x1d0(%rbp), %rdi
callq 0x6908
leaq -0x38(%rbp), %rdi
callq 0x4cf70
addq $0x8b0, %rsp            # imm = 0x8B0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x81fc8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x6908
leaq -0x59(%rbp), %rdi
callq 0x6470
jmp 0x823e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x81ffc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x6908
leaq -0x91(%rbp), %rdi
callq 0x6470
jmp 0x823e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x82033
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x6908
leaq -0xb9(%rbp), %rdi
callq 0x6470
jmp 0x823e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8206a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x6908
leaq -0xe1(%rbp), %rdi
callq 0x6470
jmp 0x823e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x820a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x6908
leaq -0x109(%rbp), %rdi
callq 0x6470
jmp 0x823e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x820d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x6908
leaq -0x131(%rbp), %rdi
callq 0x6470
jmp 0x823e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8210f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x6908
leaq -0x159(%rbp), %rdi
callq 0x6470
jmp 0x823e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x82146
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x6908
leaq -0x181(%rbp), %rdi
callq 0x6470
jmp 0x823e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8217d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0x6908
leaq -0x1a9(%rbp), %rdi
callq 0x6470
jmp 0x823e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x1d1(%rbp), %rdi
callq 0x6470
jmp 0x823e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x823d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x70ea0
jmp 0x823d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x82219
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8220d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0x6908
leaq -0x2f1(%rbp), %rdi
callq 0x6470
leaq -0x2b8(%rbp), %rdi
callq 0x70ea0
jmp 0x823d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8226a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8225e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x380(%rbp), %rdi
callq 0x6908
leaq -0x381(%rbp), %rdi
callq 0x6470
leaq -0x348(%rbp), %rdi
callq 0x70ea0
jmp 0x823d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x822bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x822af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x6908
leaq -0x411(%rbp), %rdi
callq 0x6470
leaq -0x3d8(%rbp), %rdi
callq 0x70ea0
jmp 0x823d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8230c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x82300
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x4a0(%rbp), %rdi
callq 0x6908
leaq -0x4a1(%rbp), %rdi
callq 0x6470
leaq -0x468(%rbp), %rdi
callq 0x70ea0
jmp 0x823d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8235d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x82351
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x530(%rbp), %rdi
callq 0x6908
leaq -0x531(%rbp), %rdi
callq 0x6470
leaq -0x4f8(%rbp), %rdi
callq 0x70ea0
jmp 0x823d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x823ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8239f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x5c0(%rbp), %rdi
callq 0x6908
leaq -0x5c1(%rbp), %rdi
callq 0x6470
leaq -0x588(%rbp), %rdi
callq 0x70ea0
jmp 0x823d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x618(%rbp), %rdi
callq 0x70ea0
leaq -0x208(%rbp), %rdi
callq 0x4cf70
leaq -0x1d0(%rbp), %rdi
callq 0x6908
leaq -0x38(%rbp), %rdi
callq 0x4cf70
movq -0x68(%rbp), %rdi
callq 0x67a0
nopl (%rax,%rax)