// File: millanek[P]Dsuite/./Dsuite_utils.h
// Function: QuartetDinfo::makeOutVec(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&, bool, int, bool)
std::vector<string> makeOutVec(const std::vector<string>& quartet, const bool fStats, const int arrangement, bool allF4 = false) {
        
        int vecSize = 10; if (fStats) vecSize++; if (allF4) vecSize += 4;
        std::vector<string> outVec; outVec.resize(vecSize);
        int patternsI = 7; if (fStats) patternsI++; // Where will be put the BBAA, ABBA, etc. counts
        int allF4Pos = patternsI + 3;
        
        switch (arrangement) {
            
        case P3isTrios2: // Orientation 1
        case P3isTrios2_Dpositive:
        case P3isTrios2_Dnegative:
            outVec[2] = quartet[2]; outVec[3] = quartet[3];
            outVec[4] = numToString(std::fabs(D1)); outVec[5] = numToString(D1_Z);
            outVec[6] = numToString(D1_p); outVec[patternsI] = numToString(BBAAtotal);
            if (D1 >= 0) {
                outVec[0] = quartet[0]; outVec[1] = quartet[1];
                outVec[patternsI+1] = numToString(ABBAtotal); outVec[patternsI+2] = numToString(BABAtotal);
                if (fStats) {
                    double Dnum = ABBAtotal-BABAtotal;
                    outVec[7] = numToString(Dnum/F_G_denom1);
                   
                }
                if (allF4) {
                    outVec[allF4Pos] = numToString(F_G_denoms[0]); outVec[allF4Pos+1] = numToString(F_G_denoms[1]);
                    outVec[allF4Pos+2] = numToString(F_G_denoms[2]); outVec[allF4Pos+3] = numToString(F_G_denoms[3]);
                }
            } else {
                outVec[0] = quartet[1]; outVec[1] = quartet[0];
                outVec[patternsI+1] = numToString(BABAtotal); outVec[patternsI+2] = numToString(ABBAtotal);
                if (fStats) {
                    double Dnum = BABAtotal-ABBAtotal;
                    outVec[7] = numToString(Dnum/F_G_denom1_reversed);
                }
                if (allF4) {
                    outVec[allF4Pos] = numToString(F_G_denoms[4]); outVec[allF4Pos+1] = numToString(F_G_denoms[5]);
                    outVec[allF4Pos+2] = numToString(F_G_denoms[6]); outVec[allF4Pos+3] = numToString(F_G_denoms[7]);
                }
            }
        break;
                
        case P3isTrios1: // Orientation 2
        case P3isTrios1_Dpositive:
        case P3isTrios1_Dnegative:
            outVec[2] = quartet[1]; outVec[3] = quartet[3];
            outVec[4] = numToString(std::fabs(D2)); outVec[5] = numToString(D2_Z);
            outVec[6] = numToString(D2_p); outVec[patternsI] = numToString(BABAtotal);
            if (D2 >= 0) {
                outVec[0] = quartet[0]; outVec[1] = quartet[2];
                outVec[patternsI+1] = numToString(ABBAtotal); outVec[patternsI+2] = numToString(BBAAtotal);
                if (fStats) {
                    double Dnum = ABBAtotal - BBAAtotal;
                    outVec[7] = numToString(Dnum/F_G_denom2);
                }
                if (allF4) {
                    outVec[allF4Pos] = numToString(F_G_denoms[8]); outVec[allF4Pos+1] = numToString(F_G_denoms[9]);
                    outVec[allF4Pos+2] = numToString(F_G_denoms[10]); outVec[allF4Pos+3] = numToString(F_G_denoms[11]);
                }
            } else {
                outVec[0] = quartet[2]; outVec[1] = quartet[0];
                outVec[patternsI+1] = numToString(BBAAtotal); outVec[patternsI+2] = numToString(ABBAtotal);
                if (fStats) {
                    double Dnum = BBAAtotal - ABBAtotal;
                    outVec[7] = numToString(Dnum/F_G_denom2_reversed);
                }
                if (allF4) {
                    outVec[allF4Pos] = numToString(F_G_denoms[12]); outVec[allF4Pos+1] = numToString(F_G_denoms[13]);
                    outVec[allF4Pos+2] = numToString(F_G_denoms[14]); outVec[allF4Pos+3] = numToString(F_G_denoms[15]);
                }
            }
        break;
                
        case P3isTrios0: // Orientation 3
        case P3isTrios0_Dpositive:
        case P3isTrios0_Dnegative:
            outVec[2] = quartet[0]; outVec[3] = quartet[3];
            outVec[4] = numToString(std::fabs(D3)); outVec[5] = numToString(D3_Z);
            outVec[6] = numToString(D3_p); outVec[patternsI] = numToString(ABBAtotal);
            if (D3 >= 0) {
                outVec[0] = quartet[2]; outVec[1] = quartet[1];
                outVec[patternsI+1] = numToString(BBAAtotal); outVec[patternsI+2] = numToString(BABAtotal);
                if (fStats) {
                    double Dnum = BBAAtotal - BABAtotal;
                    outVec[7] = numToString(Dnum/F_G_denom3);
                }
                if (allF4) {
                    outVec[allF4Pos] = numToString(F_G_denoms[16]); outVec[allF4Pos+1] = numToString(F_G_denoms[17]);
                    outVec[allF4Pos+2] = numToString(F_G_denoms[18]); outVec[allF4Pos+3] = numToString(F_G_denoms[19]);
                }
            } else {
                outVec[0] = quartet[1]; outVec[1] = quartet[2];
                outVec[patternsI+1] = numToString(BABAtotal); outVec[patternsI+2] = numToString(BBAAtotal);
                if (fStats) {
                    double Dnum = BABAtotal - BBAAtotal;
                    outVec[7] = numToString(Dnum/F_G_denom3_reversed);
                }
            }
            if (allF4) {
                outVec[allF4Pos] = numToString(F_G_denoms[20]); outVec[allF4Pos+1] = numToString(F_G_denoms[21]);
                outVec[allF4Pos+2] = numToString(F_G_denoms[22]); outVec[allF4Pos+3] = numToString(F_G_denoms[23]);
            }
        break;
        }
        return outVec;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x940, %rsp            # imm = 0x940
movq %rdi, -0x750(%rbp)
movb %r9b, %al
movq %rdi, %r9
movq %r9, -0x748(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
andb $0x1, %cl
movb %cl, -0x19(%rbp)
movl %r8d, -0x20(%rbp)
andb $0x1, %al
movb %al, -0x21(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x740(%rbp)
movl $0xa, -0x28(%rbp)
testb $0x1, -0x19(%rbp)
je 0x7d47b
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
testb $0x1, -0x21(%rbp)
je 0x7d48a
movl -0x28(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x28(%rbp)
movq -0x750(%rbp), %rdi
movb $0x0, -0x29(%rbp)
callq 0x11d80
movq -0x750(%rbp), %rdi
movslq -0x28(%rbp), %rsi
callq 0x3d910
jmp 0x7d4ac
movl $0x7, -0x40(%rbp)
testb $0x1, -0x19(%rbp)
je 0x7d4e1
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x7d4e1
movq -0x750(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
callq 0x10760
jmp 0x7eceb
movl -0x40(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x44(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x754(%rbp)
decl %eax
subl $0x2, %eax
jb 0x7d556
jmp 0x7d4fc
movl -0x754(%rbp), %eax
addl $-0x3, %eax
subl $0x2, %eax
jb 0x7dd2d
jmp 0x7d510
movl -0x754(%rbp), %eax
addl $-0x5, %eax
subl $0x2, %eax
jb 0x7e4f9
jmp 0x7d524
movl -0x754(%rbp), %eax
subl $0x7, %eax
je 0x7d556
jmp 0x7d531
movl -0x754(%rbp), %eax
subl $0x8, %eax
je 0x7dd2d
jmp 0x7d542
movl -0x754(%rbp), %eax
subl $0x9, %eax
je 0x7e4f9
jmp 0x7ecc5
movq -0x18(%rbp), %rdi
movl $0x2, %esi
movq %rsi, -0x768(%rbp)
callq 0x10720
movq -0x750(%rbp), %rdi
movq -0x768(%rbp), %rsi
movq %rax, -0x760(%rbp)
callq 0x10b10
movq -0x760(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7d596
movq -0x18(%rbp), %rdi
movl $0x3, %esi
movq %rsi, -0x778(%rbp)
callq 0x10720
movq -0x750(%rbp), %rdi
movq -0x778(%rbp), %rsi
movq %rax, -0x770(%rbp)
callq 0x10b10
movq -0x770(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7d5d6
movq -0x740(%rbp), %rax
movsd 0x18(%rax), %xmm0
movaps 0xbde7(%rip), %xmm1     # 0x893d0
pand %xmm1, %xmm0
leaq -0x68(%rbp), %rdi
callq 0x3e390
jmp 0x7d5f8
movq -0x750(%rbp), %rdi
movl $0x4, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x68(%rbp), %rsi
movq %rsi, -0x780(%rbp)
callq 0x86f0
movq -0x780(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x60(%rax), %xmm0
leaq -0x88(%rbp), %rdi
callq 0x3e390
jmp 0x7d642
movq -0x750(%rbp), %rdi
movl $0x5, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x88(%rbp), %rsi
movq %rsi, -0x788(%rbp)
callq 0x86f0
movq -0x788(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
fldt 0x30(%rax)
movq %rsp, %rax
fstpt (%rax)
leaq -0xa8(%rbp), %rdi
callq 0x3e4a0
jmp 0x7d692
movq -0x750(%rbp), %rdi
movl $0x6, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0xa8(%rbp), %rsi
movq %rsi, -0x790(%rbp)
callq 0x86f0
movq -0x790(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x10(%rax), %xmm0
leaq -0xc8(%rbp), %rdi
callq 0x3e390
jmp 0x7d6df
movq -0x750(%rbp), %rdi
movslq -0x40(%rbp), %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0xc8(%rbp), %rsi
callq 0x86f0
leaq -0xc8(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x18(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x7da30
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x7a0(%rbp)
callq 0x10720
movq -0x750(%rbp), %rdi
movq -0x7a0(%rbp), %rsi
movq %rax, -0x798(%rbp)
callq 0x10b10
movq -0x798(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7d762
movq -0x18(%rbp), %rdi
movl $0x1, %esi
movq %rsi, -0x7b0(%rbp)
callq 0x10720
movq -0x750(%rbp), %rdi
movq -0x7b0(%rbp), %rsi
movq %rax, -0x7a8(%rbp)
callq 0x10b10
movq -0x7a8(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7d7a2
movq -0x740(%rbp), %rax
movsd (%rax), %xmm0
leaq -0xe8(%rbp), %rdi
callq 0x3e390
jmp 0x7d7bb
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0xe8(%rbp), %rsi
movq %rsi, -0x7b8(%rbp)
callq 0x86f0
movq -0x7b8(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x8(%rax), %xmm0
leaq -0x108(%rbp), %rdi
callq 0x3e390
jmp 0x7d80b
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x108(%rbp), %rsi
callq 0x86f0
leaq -0x108(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x19(%rbp)
je 0x7d8ab
movq -0x740(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
movsd -0x110(%rbp), %xmm0
movsd 0x98(%rax), %xmm1
divsd %xmm1, %xmm0
leaq -0x130(%rbp), %rdi
callq 0x3e390
jmp 0x7d87f
movq -0x750(%rbp), %rdi
movl $0x7, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x130(%rbp), %rsi
callq 0x86f0
leaq -0x130(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x21(%rbp)
je 0x7da2b
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
xorl %eax, %eax
movl %eax, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x150(%rbp), %rdi
callq 0x3e390
jmp 0x7d8de
movq -0x750(%rbp), %rdi
movslq -0x44(%rbp), %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x150(%rbp), %rsi
movq %rsi, -0x7c0(%rbp)
callq 0x86f0
movq -0x7c0(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x1, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x170(%rbp), %rdi
callq 0x3e390
jmp 0x7d93a
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x170(%rbp), %rsi
movq %rsi, -0x7c8(%rbp)
callq 0x86f0
movq -0x7c8(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x2, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x190(%rbp), %rdi
callq 0x3e390
jmp 0x7d99a
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x190(%rbp), %rsi
movq %rsi, -0x7d0(%rbp)
callq 0x86f0
movq -0x7d0(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x3, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x1b0(%rbp), %rdi
callq 0x3e390
jmp 0x7d9fb
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x86f0
leaq -0x1b0(%rbp), %rdi
callq 0x8c08
jmp 0x7dd28
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x10720
movq -0x750(%rbp), %rdi
movq %rax, -0x7d8(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x10b10
movq -0x7d8(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7da66
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10720
movq -0x750(%rbp), %rdi
movq %rax, -0x7e0(%rbp)
movl $0x1, %esi
callq 0x10b10
movq -0x7e0(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7da9c
movq -0x740(%rbp), %rax
movsd 0x8(%rax), %xmm0
leaq -0x1d0(%rbp), %rdi
callq 0x3e390
jmp 0x7dab6
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x1d0(%rbp), %rsi
movq %rsi, -0x7e8(%rbp)
callq 0x86f0
movq -0x7e8(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd (%rax), %xmm0
leaq -0x1f0(%rbp), %rdi
callq 0x3e390
jmp 0x7db05
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x86f0
leaq -0x1f0(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x19(%rbp)
je 0x7dba5
movq -0x740(%rbp), %rax
movsd (%rax), %xmm1
movsd 0x8(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x1f8(%rbp)
movsd -0x1f8(%rbp), %xmm0
movsd 0xa0(%rax), %xmm1
divsd %xmm1, %xmm0
leaq -0x218(%rbp), %rdi
callq 0x3e390
jmp 0x7db79
movq -0x750(%rbp), %rdi
movl $0x7, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x218(%rbp), %rsi
callq 0x86f0
leaq -0x218(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x21(%rbp)
je 0x7dd26
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x4, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x238(%rbp), %rdi
callq 0x3e390
jmp 0x7dbd9
movq -0x750(%rbp), %rdi
movslq -0x44(%rbp), %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x238(%rbp), %rsi
movq %rsi, -0x7f0(%rbp)
callq 0x86f0
movq -0x7f0(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x5, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x258(%rbp), %rdi
callq 0x3e390
jmp 0x7dc35
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x258(%rbp), %rsi
movq %rsi, -0x7f8(%rbp)
callq 0x86f0
movq -0x7f8(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x6, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x278(%rbp), %rdi
callq 0x3e390
jmp 0x7dc95
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x278(%rbp), %rsi
movq %rsi, -0x800(%rbp)
callq 0x86f0
movq -0x800(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x7, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x298(%rbp), %rdi
callq 0x3e390
jmp 0x7dcf6
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x298(%rbp), %rsi
callq 0x86f0
leaq -0x298(%rbp), %rdi
callq 0x8c08
jmp 0x7dd28
jmp 0x7ecc5
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x10720
movq -0x750(%rbp), %rdi
movq %rax, -0x808(%rbp)
movl $0x2, %esi
callq 0x10b10
movq -0x808(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7dd64
movq -0x18(%rbp), %rdi
movl $0x3, %esi
movq %rsi, -0x818(%rbp)
callq 0x10720
movq -0x750(%rbp), %rdi
movq -0x818(%rbp), %rsi
movq %rax, -0x810(%rbp)
callq 0x10b10
movq -0x810(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7dda4
movq -0x740(%rbp), %rax
movsd 0x20(%rax), %xmm0
movaps 0xb619(%rip), %xmm1     # 0x893d0
pand %xmm1, %xmm0
leaq -0x2b8(%rbp), %rdi
callq 0x3e390
jmp 0x7ddc9
movq -0x750(%rbp), %rdi
movl $0x4, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x2b8(%rbp), %rsi
movq %rsi, -0x820(%rbp)
callq 0x86f0
movq -0x820(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x68(%rax), %xmm0
leaq -0x2d8(%rbp), %rdi
callq 0x3e390
jmp 0x7de16
movq -0x750(%rbp), %rdi
movl $0x5, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x2d8(%rbp), %rsi
movq %rsi, -0x828(%rbp)
callq 0x86f0
movq -0x828(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
fldt 0x40(%rax)
movq %rsp, %rax
fstpt (%rax)
leaq -0x2f8(%rbp), %rdi
callq 0x3e4a0
jmp 0x7de66
movq -0x750(%rbp), %rdi
movl $0x6, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x2f8(%rbp), %rsi
movq %rsi, -0x830(%rbp)
callq 0x86f0
movq -0x830(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x8(%rax), %xmm0
leaq -0x318(%rbp), %rdi
callq 0x3e390
jmp 0x7deb3
movq -0x750(%rbp), %rdi
movslq -0x40(%rbp), %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x318(%rbp), %rsi
callq 0x86f0
leaq -0x318(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x7e1fc
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x840(%rbp)
callq 0x10720
movq -0x750(%rbp), %rdi
movq -0x840(%rbp), %rsi
movq %rax, -0x838(%rbp)
callq 0x10b10
movq -0x838(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7df36
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0x10720
movq -0x750(%rbp), %rdi
movq %rax, -0x848(%rbp)
movl $0x1, %esi
callq 0x10b10
movq -0x848(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7df6d
movq -0x740(%rbp), %rax
movsd (%rax), %xmm0
leaq -0x338(%rbp), %rdi
callq 0x3e390
jmp 0x7df86
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x338(%rbp), %rsi
movq %rsi, -0x850(%rbp)
callq 0x86f0
movq -0x850(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x10(%rax), %xmm0
leaq -0x358(%rbp), %rdi
callq 0x3e390
jmp 0x7dfd6
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x358(%rbp), %rsi
callq 0x86f0
leaq -0x358(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x19(%rbp)
je 0x7e076
movq -0x740(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x10(%rax), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0x360(%rbp)
movsd -0x360(%rbp), %xmm0
movsd 0xc8(%rax), %xmm1
divsd %xmm1, %xmm0
leaq -0x380(%rbp), %rdi
callq 0x3e390
jmp 0x7e04a
movq -0x750(%rbp), %rdi
movl $0x7, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x380(%rbp), %rsi
callq 0x86f0
leaq -0x380(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x21(%rbp)
je 0x7e1f7
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x8, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x3a0(%rbp), %rdi
callq 0x3e390
jmp 0x7e0aa
movq -0x750(%rbp), %rdi
movslq -0x44(%rbp), %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x3a0(%rbp), %rsi
movq %rsi, -0x858(%rbp)
callq 0x86f0
movq -0x858(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x9, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x3c0(%rbp), %rdi
callq 0x3e390
jmp 0x7e106
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x3c0(%rbp), %rsi
movq %rsi, -0x860(%rbp)
callq 0x86f0
movq -0x860(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0xa, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x3e0(%rbp), %rdi
callq 0x3e390
jmp 0x7e166
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x3e0(%rbp), %rsi
movq %rsi, -0x868(%rbp)
callq 0x86f0
movq -0x868(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0xb, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x400(%rbp), %rdi
callq 0x3e390
jmp 0x7e1c7
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x400(%rbp), %rsi
callq 0x86f0
leaq -0x400(%rbp), %rdi
callq 0x8c08
jmp 0x7e4f4
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0x10720
movq -0x750(%rbp), %rdi
movq %rax, -0x870(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x10b10
movq -0x870(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7e232
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10720
movq -0x750(%rbp), %rdi
movq %rax, -0x878(%rbp)
movl $0x1, %esi
callq 0x10b10
movq -0x878(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7e268
movq -0x740(%rbp), %rax
movsd 0x10(%rax), %xmm0
leaq -0x420(%rbp), %rdi
callq 0x3e390
jmp 0x7e282
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x420(%rbp), %rsi
movq %rsi, -0x880(%rbp)
callq 0x86f0
movq -0x880(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd (%rax), %xmm0
leaq -0x440(%rbp), %rdi
callq 0x3e390
jmp 0x7e2d1
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x440(%rbp), %rsi
callq 0x86f0
leaq -0x440(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x19(%rbp)
je 0x7e371
movq -0x740(%rbp), %rax
movsd (%rax), %xmm1
movsd 0x10(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x448(%rbp)
movsd -0x448(%rbp), %xmm0
movsd 0xd0(%rax), %xmm1
divsd %xmm1, %xmm0
leaq -0x468(%rbp), %rdi
callq 0x3e390
jmp 0x7e345
movq -0x750(%rbp), %rdi
movl $0x7, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x468(%rbp), %rsi
callq 0x86f0
leaq -0x468(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x21(%rbp)
je 0x7e4f2
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0xc, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x488(%rbp), %rdi
callq 0x3e390
jmp 0x7e3a5
movq -0x750(%rbp), %rdi
movslq -0x44(%rbp), %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x488(%rbp), %rsi
movq %rsi, -0x888(%rbp)
callq 0x86f0
movq -0x888(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0xd, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x4a8(%rbp), %rdi
callq 0x3e390
jmp 0x7e401
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x4a8(%rbp), %rsi
movq %rsi, -0x890(%rbp)
callq 0x86f0
movq -0x890(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0xe, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x4c8(%rbp), %rdi
callq 0x3e390
jmp 0x7e461
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x4c8(%rbp), %rsi
movq %rsi, -0x898(%rbp)
callq 0x86f0
movq -0x898(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0xf, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x4e8(%rbp), %rdi
callq 0x3e390
jmp 0x7e4c2
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x4e8(%rbp), %rsi
callq 0x86f0
leaq -0x4e8(%rbp), %rdi
callq 0x8c08
jmp 0x7e4f4
jmp 0x7ecc5
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x10720
movq -0x750(%rbp), %rdi
movq %rax, -0x8a0(%rbp)
movl $0x2, %esi
callq 0x10b10
movq -0x8a0(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7e52f
movq -0x18(%rbp), %rdi
movl $0x3, %esi
movq %rsi, -0x8b0(%rbp)
callq 0x10720
movq -0x750(%rbp), %rdi
movq -0x8b0(%rbp), %rsi
movq %rax, -0x8a8(%rbp)
callq 0x10b10
movq -0x8a8(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7e56f
movq -0x740(%rbp), %rax
movsd 0x28(%rax), %xmm0
movaps 0xae4e(%rip), %xmm1     # 0x893d0
pand %xmm1, %xmm0
leaq -0x508(%rbp), %rdi
callq 0x3e390
jmp 0x7e594
movq -0x750(%rbp), %rdi
movl $0x4, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x508(%rbp), %rsi
movq %rsi, -0x8b8(%rbp)
callq 0x86f0
movq -0x8b8(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x70(%rax), %xmm0
leaq -0x528(%rbp), %rdi
callq 0x3e390
jmp 0x7e5e1
movq -0x750(%rbp), %rdi
movl $0x5, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x528(%rbp), %rsi
movq %rsi, -0x8c0(%rbp)
callq 0x86f0
movq -0x8c0(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
fldt 0x50(%rax)
movq %rsp, %rax
fstpt (%rax)
leaq -0x548(%rbp), %rdi
callq 0x3e4a0
jmp 0x7e631
movq -0x750(%rbp), %rdi
movl $0x6, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x548(%rbp), %rsi
movq %rsi, -0x8c8(%rbp)
callq 0x86f0
movq -0x8c8(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd (%rax), %xmm0
leaq -0x568(%rbp), %rdi
callq 0x3e390
jmp 0x7e67d
movq -0x750(%rbp), %rdi
movslq -0x40(%rbp), %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x568(%rbp), %rsi
callq 0x86f0
leaq -0x568(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x28(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x7e9c8
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0x10720
movq -0x750(%rbp), %rdi
movq %rax, -0x8d0(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x10b10
movq -0x8d0(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7e6f7
movq -0x18(%rbp), %rdi
movl $0x1, %esi
movq %rsi, -0x8e0(%rbp)
callq 0x10720
movq -0x750(%rbp), %rdi
movq -0x8e0(%rbp), %rsi
movq %rax, -0x8d8(%rbp)
callq 0x10b10
movq -0x8d8(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7e737
movq -0x740(%rbp), %rax
movsd 0x10(%rax), %xmm0
leaq -0x588(%rbp), %rdi
callq 0x3e390
jmp 0x7e751
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x588(%rbp), %rsi
movq %rsi, -0x8e8(%rbp)
callq 0x86f0
movq -0x8e8(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x8(%rax), %xmm0
leaq -0x5a8(%rbp), %rdi
callq 0x3e390
jmp 0x7e7a1
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x5a8(%rbp), %rsi
callq 0x86f0
leaq -0x5a8(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x19(%rbp)
je 0x7e842
movq -0x740(%rbp), %rax
movsd 0x8(%rax), %xmm1
movsd 0x10(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x5b0(%rbp)
movsd -0x5b0(%rbp), %xmm0
movsd 0xf8(%rax), %xmm1
divsd %xmm1, %xmm0
leaq -0x5d0(%rbp), %rdi
callq 0x3e390
jmp 0x7e816
movq -0x750(%rbp), %rdi
movl $0x7, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x5d0(%rbp), %rsi
callq 0x86f0
leaq -0x5d0(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x21(%rbp)
je 0x7e9c3
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x10, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x5f0(%rbp), %rdi
callq 0x3e390
jmp 0x7e876
movq -0x750(%rbp), %rdi
movslq -0x44(%rbp), %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x5f0(%rbp), %rsi
movq %rsi, -0x8f0(%rbp)
callq 0x86f0
movq -0x8f0(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x11, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x610(%rbp), %rdi
callq 0x3e390
jmp 0x7e8d2
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x610(%rbp), %rsi
movq %rsi, -0x8f8(%rbp)
callq 0x86f0
movq -0x8f8(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x12, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x630(%rbp), %rdi
callq 0x3e390
jmp 0x7e932
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x630(%rbp), %rsi
movq %rsi, -0x900(%rbp)
callq 0x86f0
movq -0x900(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x13, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x650(%rbp), %rdi
callq 0x3e390
jmp 0x7e993
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x650(%rbp), %rsi
callq 0x86f0
leaq -0x650(%rbp), %rdi
callq 0x8c08
jmp 0x7eb42
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x10720
movq -0x750(%rbp), %rdi
movq %rax, -0x908(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x10b10
movq -0x908(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7e9fe
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0x10720
movq -0x750(%rbp), %rdi
movq %rax, -0x910(%rbp)
movl $0x1, %esi
callq 0x10b10
movq -0x910(%rbp), %rsi
movq %rax, %rdi
callq 0x8070
jmp 0x7ea35
movq -0x740(%rbp), %rax
movsd 0x8(%rax), %xmm0
leaq -0x670(%rbp), %rdi
callq 0x3e390
jmp 0x7ea4f
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x670(%rbp), %rsi
movq %rsi, -0x918(%rbp)
callq 0x86f0
movq -0x918(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rax
movsd 0x10(%rax), %xmm0
leaq -0x690(%rbp), %rdi
callq 0x3e390
jmp 0x7ea9f
movq -0x750(%rbp), %rdi
movl -0x40(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x690(%rbp), %rsi
callq 0x86f0
leaq -0x690(%rbp), %rdi
callq 0x8c08
testb $0x1, -0x19(%rbp)
je 0x7eb40
movq -0x740(%rbp), %rax
movsd 0x8(%rax), %xmm0
movsd 0x10(%rax), %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, -0x698(%rbp)
movsd -0x698(%rbp), %xmm0
movsd 0x100(%rax), %xmm1
divsd %xmm1, %xmm0
leaq -0x6b8(%rbp), %rdi
callq 0x3e390
jmp 0x7eb14
movq -0x750(%rbp), %rdi
movl $0x7, %esi
callq 0x10b10
movq %rax, %rdi
leaq -0x6b8(%rbp), %rsi
callq 0x86f0
leaq -0x6b8(%rbp), %rdi
callq 0x8c08
jmp 0x7eb42
testb $0x1, -0x21(%rbp)
je 0x7ecc3
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x14, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x6d8(%rbp), %rdi
callq 0x3e390
jmp 0x7eb76
movq -0x750(%rbp), %rdi
movslq -0x44(%rbp), %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x6d8(%rbp), %rsi
movq %rsi, -0x920(%rbp)
callq 0x86f0
movq -0x920(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x15, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x6f8(%rbp), %rdi
callq 0x3e390
jmp 0x7ebd2
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x6f8(%rbp), %rsi
movq %rsi, -0x928(%rbp)
callq 0x86f0
movq -0x928(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x16, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x718(%rbp), %rdi
callq 0x3e390
jmp 0x7ec32
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x718(%rbp), %rsi
movq %rsi, -0x930(%rbp)
callq 0x86f0
movq -0x930(%rbp), %rdi
callq 0x8c08
movq -0x740(%rbp), %rdi
addq $0x208, %rdi            # imm = 0x208
movl $0x17, %esi
callq 0x107e0
movsd (%rax), %xmm0
leaq -0x738(%rbp), %rdi
callq 0x3e390
jmp 0x7ec93
movq -0x750(%rbp), %rdi
movl -0x44(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rsi
callq 0x10b10
movq %rax, %rdi
leaq -0x738(%rbp), %rsi
callq 0x86f0
leaq -0x738(%rbp), %rdi
callq 0x8c08
jmp 0x7ecc5
movb $0x1, -0x29(%rbp)
testb $0x1, -0x29(%rbp)
jne 0x7ecdb
movq -0x750(%rbp), %rdi
callq 0x10760
movq -0x748(%rbp), %rax
addq $0x940, %rsp            # imm = 0x940
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x8a50
nopw %cs:(%rax,%rax)
nop