// File: millanek[P]Dsuite/./Dsuite_utils.h
// Function: GeneralSetCounts::GeneralSetCounts(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)
GeneralSetCounts(const std::map<string, std::vector<size_t>>& setsToPosMap, const int nSamples) : overall(0), averageAAF(-1.0), averageDAF(-1.0),  likelihoodsProbabilitiesType(LikelihoodsProbabilitiesAbsent), AAint(AncestralAlleleMissing) {
        for(std::map<string, std::vector<size_t>>::const_iterator it = setsToPosMap.begin(); it != setsToPosMap.end(); ++it) {
            setAltCounts[it->first] = 0; setAlleleCounts[it->first] = 0; setAlleleProbCounts[it->first] = 0;
            setAAFs[it->first] = -1.0; setDAFs[it->first] = -1.0;
            setAAFsFromLikelihoods[it->first] = -1.0; setDAFsFromLikelihoods[it->first] = -1.0;
            setPoolAAFs[it->first] = -1.0; setPoolDAFs[it->first] = -1.0;
            setSizes.push_back(it->second.size()); setCorrectionFactors[it->first] = -1.0;
            setHWEpriorsFromAAFfromGT[it->first].assign(3, -1.0);
            setHWEpriorsFromDAFfromGT[it->first].assign(3, -1.0);
            std::vector<int> thisSetGenotypes; setGenotypes[it->first] = thisSetGenotypes;
            std::vector<double> thisSetIndividualAFs; setIndividualAFs[it->first] = thisSetIndividualAFs;
            std::vector<double> thisSetIndividualExpGenotypes; setIndividualExpectedGenotypes[it->first] = thisSetIndividualExpGenotypes;
        }
        individualsWithVariant.assign(nSamples, 0);
        individualPoolAAFs.assign(nSamples, -1.0);
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
movl $0x0, (%rdi)
movl $0xffffffff, 0x4(%rdi)  # imm = 0xFFFFFFFF
addq $0x8, %rdi
movq %rdi, -0x140(%rbp)
callq 0x252e0
movq -0xb8(%rbp), %rdi
addq $0x38, %rdi
movq %rdi, -0x138(%rbp)
callq 0x284e0
movq -0xb8(%rbp), %rdi
addq $0x68, %rdi
movq %rdi, -0x130(%rbp)
callq 0x284e0
movq -0xb8(%rbp), %rdi
addq $0x98, %rdi
movq %rdi, -0x128(%rbp)
callq 0x28500
movq -0xb8(%rbp), %rdi
addq $0xc8, %rdi
movq %rdi, -0x120(%rbp)
callq 0x28500
movq -0xb8(%rbp), %rdi
addq $0xf8, %rdi
movq %rdi, -0x118(%rbp)
callq 0x28500
movq -0xb8(%rbp), %rdi
addq $0x128, %rdi            # imm = 0x128
movq %rdi, -0x110(%rbp)
callq 0x10800
movq -0xb8(%rbp), %rdi
addq $0x140, %rdi            # imm = 0x140
movq %rdi, -0x108(%rbp)
callq 0x28520
movq -0xb8(%rbp), %rdi
addq $0x170, %rdi            # imm = 0x170
movq %rdi, -0x100(%rbp)
callq 0x28520
movq -0xb8(%rbp), %rdi
addq $0x1a0, %rdi            # imm = 0x1A0
movq %rdi, -0xf8(%rbp)
callq 0x11da0
movq -0xb8(%rbp), %rdi
addq $0x1b8, %rdi            # imm = 0x1B8
movq %rdi, -0xf0(%rbp)
callq 0x28520
movq -0xb8(%rbp), %rdi
addq $0x1e8, %rdi            # imm = 0x1E8
movq %rdi, -0xe8(%rbp)
callq 0x28520
movq -0xb8(%rbp), %rdi
movsd 0x67703(%rip), %xmm0    # 0x884c8
movsd %xmm0, 0x218(%rdi)
addq $0x220, %rdi            # imm = 0x220
movq %rdi, -0xe0(%rbp)
callq 0x28520
movq -0xb8(%rbp), %rdi
movsd 0x676d9(%rip), %xmm0    # 0x884c8
movsd %xmm0, 0x250(%rdi)
addq $0x258, %rdi            # imm = 0x258
movq %rdi, -0xd8(%rbp)
callq 0x28520
movq -0xb8(%rbp), %rdi
addq $0x290, %rdi            # imm = 0x290
movq %rdi, -0xd0(%rbp)
callq 0x28520
movq -0xb8(%rbp), %rdi
addq $0x2c8, %rdi            # imm = 0x2C8
movq %rdi, -0xc8(%rbp)
callq 0x17620
movq -0xb8(%rbp), %rdi
movl $0x0, 0x2e0(%rdi)
addq $0x2e8, %rdi            # imm = 0x2E8
movq %rdi, -0xc0(%rbp)
callq 0x284e0
movq -0xb8(%rbp), %rdi
addq $0x318, %rdi            # imm = 0x318
movq %rdi, -0xb0(%rbp)
callq 0x284e0
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 0x20eac
jmp 0x213d9
movq -0xb8(%rbp), %rax
addq $0x98, %rax
movq %rax, -0x150(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x150(%rbp), %rdi
movq %rax, %rsi
callq 0x115c0
movq %rax, -0x148(%rbp)
jmp 0x20ee1
movq -0xb8(%rbp), %rax
movq -0x148(%rbp), %rcx
movl $0x0, (%rcx)
addq $0xc8, %rax
movq %rax, -0x160(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x160(%rbp), %rdi
movq %rax, %rsi
callq 0x115c0
movq %rax, -0x158(%rbp)
jmp 0x20f23
movq -0xb8(%rbp), %rax
movq -0x158(%rbp), %rcx
movl $0x0, (%rcx)
addq $0xf8, %rax
movq %rax, -0x170(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x170(%rbp), %rdi
movq %rax, %rsi
callq 0x115c0
movq %rax, -0x168(%rbp)
jmp 0x20f65
movq -0xb8(%rbp), %rax
movq -0x168(%rbp), %rcx
movl $0x0, (%rcx)
addq $0x1e8, %rax            # imm = 0x1E8
movq %rax, -0x180(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x180(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x178(%rbp)
jmp 0x20fa7
movq -0xb8(%rbp), %rax
movq -0x178(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x220, %rax            # imm = 0x220
movq %rax, -0x190(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x190(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x188(%rbp)
jmp 0x20ff0
movq -0xb8(%rbp), %rax
movq -0x188(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x258, %rax            # imm = 0x258
movq %rax, -0x1a0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1a0(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x198(%rbp)
jmp 0x21039
movq -0xb8(%rbp), %rax
movq -0x198(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x290, %rax            # imm = 0x290
movq %rax, -0x1b0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1b0(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x1a8(%rbp)
jmp 0x21082
movq -0xb8(%rbp), %rax
movq -0x1a8(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x140, %rax            # imm = 0x140
movq %rax, -0x1c0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1c0(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x1b8(%rbp)
jmp 0x210cb
movq -0xb8(%rbp), %rax
movq -0x1b8(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x1d0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1d0(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x1c8(%rbp)
jmp 0x21114
movq -0xb8(%rbp), %rax
movq -0x1c8(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x1a0, %rax            # imm = 0x1A0
movq %rax, -0x1d8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq %rax, %rdi
addq $0x20, %rdi
callq 0x10f30
movq -0x1d8(%rbp), %rdi
movq %rax, -0x40(%rbp)
leaq -0x40(%rbp), %rsi
callq 0x28540
jmp 0x21167
movq -0xb8(%rbp), %rax
addq $0x1b8, %rax            # imm = 0x1B8
movq %rax, -0x1e8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1e8(%rbp), %rdi
movq %rax, %rsi
callq 0x104b0
movq %rax, -0x1e0(%rbp)
jmp 0x2119c
movq -0xb8(%rbp), %rax
movq -0x1e0(%rbp), %rcx
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, (%rcx)
addq $0x2e8, %rax            # imm = 0x2E8
movq %rax, -0x1f8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x1f8(%rbp), %rdi
movq %rax, %rsi
callq 0x10850
movq %rax, -0x1f0(%rbp)
jmp 0x211e5
movq -0x1f0(%rbp), %rdi
movabsq $-0x4010000000000000, %rax # imm = 0xBFF0000000000000
movq %rax, -0x48(%rbp)
movl $0x3, %esi
leaq -0x48(%rbp), %rdx
callq 0x10820
jmp 0x2120a
movq -0xb8(%rbp), %rax
addq $0x318, %rax            # imm = 0x318
movq %rax, -0x208(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x208(%rbp), %rdi
movq %rax, %rsi
callq 0x10850
movq %rax, -0x200(%rbp)
jmp 0x2123f
movq -0x200(%rbp), %rdi
movabsq $-0x4010000000000000, %rax # imm = 0xBFF0000000000000
movq %rax, -0x50(%rbp)
movl $0x3, %esi
leaq -0x50(%rbp), %rdx
callq 0x10820
jmp 0x21264
leaq -0x68(%rbp), %rdi
callq 0x17620
movq -0xb8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x218(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x218(%rbp), %rdi
movq %rax, %rsi
callq 0x116a0
movq %rax, -0x210(%rbp)
jmp 0x212a0
movq -0x210(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x28570
jmp 0x212b2
leaq -0x80(%rbp), %rdi
callq 0x10800
movq -0xb8(%rbp), %rax
addq $0x38, %rax
movq %rax, -0x228(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x228(%rbp), %rdi
movq %rax, %rsi
callq 0x10850
movq %rax, -0x220(%rbp)
jmp 0x212ee
movq -0x220(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x10b60
jmp 0x21300
leaq -0x98(%rbp), %rdi
callq 0x10800
movq -0xb8(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x238(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x10f00
movq -0x238(%rbp), %rdi
movq %rax, %rsi
callq 0x10850
movq %rax, -0x230(%rbp)
jmp 0x2133f
movq -0x230(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x10b60
jmp 0x21354
leaq -0x98(%rbp), %rdi
callq 0x10930
leaq -0x80(%rbp), %rdi
callq 0x10930
leaq -0x68(%rbp), %rdi
callq 0x11a00
leaq -0x20(%rbp), %rdi
callq 0x11190
jmp 0x20e89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x2143d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x213ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x213c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x10930
leaq -0x80(%rbp), %rdi
callq 0x10930
leaq -0x68(%rbp), %rdi
callq 0x11a00
jmp 0x2143d
movq -0xb8(%rbp), %rdi
addq $0x2c8, %rdi            # imm = 0x2C8
movslq -0x14(%rbp), %rsi
movl $0x0, -0x9c(%rbp)
leaq -0x9c(%rbp), %rdx
callq 0x287c0
jmp 0x21403
movq -0xb8(%rbp), %rdi
addq $0x128, %rdi            # imm = 0x128
movslq -0x14(%rbp), %rsi
movabsq $-0x4010000000000000, %rax # imm = 0xBFF0000000000000
movq %rax, -0xa8(%rbp)
leaq -0xa8(%rbp), %rdx
callq 0x10820
jmp 0x21434
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
movq -0xb0(%rbp), %rdi
callq 0x287f0
movq -0xc0(%rbp), %rdi
callq 0x287f0
movq -0xc8(%rbp), %rdi
callq 0x11a00
movq -0xd0(%rbp), %rdi
callq 0x28810
movq -0xd8(%rbp), %rdi
callq 0x28810
movq -0xe0(%rbp), %rdi
callq 0x28810
movq -0xe8(%rbp), %rdi
callq 0x28810
movq -0xf0(%rbp), %rdi
callq 0x28810
movq -0xf8(%rbp), %rdi
callq 0x12160
movq -0x100(%rbp), %rdi
callq 0x28810
movq -0x108(%rbp), %rdi
callq 0x28810
movq -0x110(%rbp), %rdi
callq 0x10930
movq -0x118(%rbp), %rdi
callq 0x28830
movq -0x120(%rbp), %rdi
callq 0x28830
movq -0x128(%rbp), %rdi
callq 0x28830
movq -0x130(%rbp), %rdi
callq 0x287f0
movq -0x138(%rbp), %rdi
callq 0x287f0
movq -0x140(%rbp), %rdi
callq 0x254a0
movq -0x30(%rbp), %rdi
callq 0x8a50
nop