// File: millanek[P]Dsuite/./Dsuite_utils.h
// Function: GeneralSetCountsWithSplits::GeneralSetCountsWithSplits(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<unsigned long, std::allocator<unsigned long>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::vector<unsigned long, std::allocator<unsigned long>>>>> const&, int)
GeneralSetCountsWithSplits(const std::map<string, std::vector<size_t>>& setsToPosMap, const int nSamples) : GeneralSetCounts(setsToPosMap,nSamples) {
        for(std::map<string, std::vector<size_t>>::const_iterator it = setsToPosMap.begin(); it != setsToPosMap.end(); ++it) {
            setAAFsplit1[it->first] = -1.0; setAAFsplit2[it->first] = -1.0; setDAFsplit1[it->first] = -1.0; setDAFsplit2[it->first] = -1.0;
            setAlleleCountsSplit1[it->first] = 0; setAlleleCountsSplit2[it->first] = 0; setAltCountsSplit1[it->first] = 0; setAltCountsSplit2[it->first] = 0;
            
            setAAFsplit1fromLikelihoods[it->first] = -1.0; setAAFsplit2fromLikelihoods[it->first] = -1.0; setDAFsplit1fromLikelihoods[it->first] = -1.0;
            setDAFsplit2fromLikelihoods[it->first] = -1.0; setAlleleCountsSplit1fromLikelihoods[it->first] = 0;
            setAlleleCountsSplit2fromLikelihoods[it->first] = 0;
            
            setPoolAAFsplit1[it->first] = -1.0; setPoolAAFsplit2[it->first] = -1.0;
            setPoolDAFsplit1[it->first] = -1.0; setPoolDAFsplit2[it->first] = -1.0;

        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x48(%rbp)
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x20c60
movq -0x48(%rbp), %rdi
addq $0x348, %rdi            # imm = 0x348
movq %rdi, -0xd0(%rbp)
callq 0x28500
movq -0x48(%rbp), %rdi
addq $0x378, %rdi            # imm = 0x378
movq %rdi, -0xc8(%rbp)
callq 0x28500
movq -0x48(%rbp), %rdi
addq $0x3a8, %rdi            # imm = 0x3A8
movq %rdi, -0xc0(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x3d8, %rdi            # imm = 0x3D8
movq %rdi, -0xb8(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x408, %rdi            # imm = 0x408
movq %rdi, -0xb0(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x438, %rdi            # imm = 0x438
movq %rdi, -0xa8(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x468, %rdi            # imm = 0x468
movq %rdi, -0xa0(%rbp)
callq 0x28500
movq -0x48(%rbp), %rdi
addq $0x498, %rdi            # imm = 0x498
movq %rdi, -0x98(%rbp)
callq 0x28500
movq -0x48(%rbp), %rdi
addq $0x4c8, %rdi            # imm = 0x4C8
movq %rdi, -0x90(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x4f8, %rdi            # imm = 0x4F8
movq %rdi, -0x88(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x528, %rdi            # imm = 0x528
movq %rdi, -0x80(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x558, %rdi            # imm = 0x558
movq %rdi, -0x78(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x588, %rdi            # imm = 0x588
movq %rdi, -0x70(%rbp)
callq 0x28500
movq -0x48(%rbp), %rdi
addq $0x5b8, %rdi            # imm = 0x5B8
movq %rdi, -0x68(%rbp)
callq 0x28500
movq -0x48(%rbp), %rdi
addq $0x5e8, %rdi            # imm = 0x5E8
movq %rdi, -0x60(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x618, %rdi            # imm = 0x618
movq %rdi, -0x58(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x648, %rdi            # imm = 0x648
movq %rdi, -0x50(%rbp)
callq 0x28520
movq -0x48(%rbp), %rdi
addq $0x678, %rdi            # imm = 0x678
movq %rdi, -0x40(%rbp)
callq 0x28520
movq -0x10(%rbp), %rdi
callq 0x10e70
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x10ed0
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x10ea0
testb $0x1, %al
jne 0x37500
jmp 0x37aa6
movq -0x48(%rbp), %rax
addq $0x3a8, %rax            # imm = 0x3A8
movq %rax, -0xe0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0xe0(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0xd8(%rbp)
jmp 0x37532
movq -0x48(%rbp), %rax
movq -0xd8(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x3d8, %rax            # imm = 0x3D8
movq %rax, -0xf0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0xe8(%rbp)
jmp 0x37578
movq -0x48(%rbp), %rax
movq -0xe8(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x408, %rax            # imm = 0x408
movq %rax, -0x100(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x100(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0xf8(%rbp)
jmp 0x375be
movq -0x48(%rbp), %rax
movq -0xf8(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x438, %rax            # imm = 0x438
movq %rax, -0x110(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x110(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x108(%rbp)
jmp 0x37604
movq -0x48(%rbp), %rax
movq -0x108(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x468, %rax            # imm = 0x468
movq %rax, -0x120(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x120(%rbp), %rdi
movq %rax, %rsi
callq 0x115c0
movq %rax, -0x118(%rbp)
jmp 0x3764a
movq -0x48(%rbp), %rax
movq -0x118(%rbp), %rcx
movl $0x0, (%rcx)
addq $0x498, %rax            # imm = 0x498
movq %rax, -0x130(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x130(%rbp), %rdi
movq %rax, %rsi
callq 0x115c0
movq %rax, -0x128(%rbp)
jmp 0x37689
movq -0x48(%rbp), %rax
movq -0x128(%rbp), %rcx
movl $0x0, (%rcx)
addq $0x348, %rax            # imm = 0x348
movq %rax, -0x140(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x140(%rbp), %rdi
movq %rax, %rsi
callq 0x115c0
movq %rax, -0x138(%rbp)
jmp 0x376c8
movq -0x48(%rbp), %rax
movq -0x138(%rbp), %rcx
movl $0x0, (%rcx)
addq $0x378, %rax            # imm = 0x378
movq %rax, -0x150(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x150(%rbp), %rdi
movq %rax, %rsi
callq 0x115c0
movq %rax, -0x148(%rbp)
jmp 0x37707
movq -0x48(%rbp), %rax
movq -0x148(%rbp), %rcx
movl $0x0, (%rcx)
addq $0x4c8, %rax            # imm = 0x4C8
movq %rax, -0x160(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x160(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x158(%rbp)
jmp 0x37746
movq -0x48(%rbp), %rax
movq -0x158(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x4f8, %rax            # imm = 0x4F8
movq %rax, -0x170(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x170(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x168(%rbp)
jmp 0x3778c
movq -0x48(%rbp), %rax
movq -0x168(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x528, %rax            # imm = 0x528
movq %rax, -0x180(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x180(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x178(%rbp)
jmp 0x377d2
movq -0x48(%rbp), %rax
movq -0x178(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x558, %rax            # imm = 0x558
movq %rax, -0x190(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x190(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x188(%rbp)
jmp 0x37818
movq -0x48(%rbp), %rax
movq -0x188(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x588, %rax            # imm = 0x588
movq %rax, -0x1a0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1a0(%rbp), %rdi
movq %rax, %rsi
callq 0x115c0
movq %rax, -0x198(%rbp)
jmp 0x3785e
movq -0x48(%rbp), %rax
movq -0x198(%rbp), %rcx
movl $0x0, (%rcx)
addq $0x5b8, %rax            # imm = 0x5B8
movq %rax, -0x1b0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1b0(%rbp), %rdi
movq %rax, %rsi
callq 0x115c0
movq %rax, -0x1a8(%rbp)
jmp 0x3789d
movq -0x48(%rbp), %rax
movq -0x1a8(%rbp), %rcx
movl $0x0, (%rcx)
addq $0x5e8, %rax            # imm = 0x5E8
movq %rax, -0x1c0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1c0(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x1b8(%rbp)
jmp 0x378dc
movq -0x48(%rbp), %rax
movq -0x1b8(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x648, %rax            # imm = 0x648
movq %rax, -0x1d0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1d0(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x1c8(%rbp)
jmp 0x37922
movq -0x48(%rbp), %rax
movq -0x1c8(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x618, %rax            # imm = 0x618
movq %rax, -0x1e0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1e0(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x1d8(%rbp)
jmp 0x37968
movq -0x48(%rbp), %rax
movq -0x1d8(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x678, %rax            # imm = 0x678
movq %rax, -0x1f0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1f0(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x1e8(%rbp)
jmp 0x379ae
movq -0x1e8(%rbp), %rax
movsd 0x50b0b(%rip), %xmm0    # 0x884c8
movsd %xmm0, (%rax)
leaq -0x20(%rbp), %rdi
callq 0x11190
jmp 0x374dd
movq -0x40(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x28810
movq -0x50(%rbp), %rdi
callq 0x28810
movq -0x58(%rbp), %rdi
callq 0x28810
movq -0x60(%rbp), %rdi
callq 0x28810
movq -0x68(%rbp), %rdi
callq 0x28830
movq -0x70(%rbp), %rdi
callq 0x28830
movq -0x78(%rbp), %rdi
callq 0x28810
movq -0x80(%rbp), %rdi
callq 0x28810
movq -0x88(%rbp), %rdi
callq 0x28810
movq -0x90(%rbp), %rdi
callq 0x28810
movq -0x98(%rbp), %rdi
callq 0x28830
movq -0xa0(%rbp), %rdi
callq 0x28830
movq -0xa8(%rbp), %rdi
callq 0x28810
movq -0xb0(%rbp), %rdi
callq 0x28810
movq -0xb8(%rbp), %rdi
callq 0x28810
movq -0xc0(%rbp), %rdi
callq 0x28810
movq -0xc8(%rbp), %rdi
callq 0x28830
movq -0xd0(%rbp), %rdi
callq 0x28830
movq -0x48(%rbp), %rdi
callq 0x21520
jmp 0x37aaf
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x8a50
nopl (%rax,%rax)