// File: /workspace/github_cpp_makefile_star2_O3/readmapping[P]alfalfa/src/performanceUtils.cpp
// Function: processCommaSepListInt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::vector<int, std::allocator<int>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int)
void processCommaSepListInt(string list, vector<int> & options, string name, int lowerBound, int upperBound){
    int beginPos = 0;
    int commaPos = list.find(',',beginPos);
    while(commaPos>=0){
        int value = atoi(list.substr(beginPos,commaPos-beginPos).c_str());
        if(value >= lowerBound && value <= upperBound)
            options.push_back(value);
        else{
            fprintf(stderr, "Value %d for parameter %s does not fall within logical bounds. This value will be ignored.\n", value, name.c_str());
        }
        beginPos = commaPos+1;
        commaPos = list.find(',',beginPos);
    }
    int value = atoi(list.substr(beginPos).c_str());
    if(value >= lowerBound && value <= upperBound)
        options.push_back(value);
    else{
        fprintf(stderr, "Value %d for parameter %s does not fall within logical bounds. This value will be ignored.\n", value, name.c_str());
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movl %r8d, 0xc(%rsp)
movl %ecx, %r15d
movq %rdx, 0x10(%rsp)
movq %rsi, %rbx
movq %rdi, %r12
xorl %r14d, %r14d
movl $0x2c, %esi
xorl %edx, %edx
callq 0x7410
testl %eax, %eax
js 0x33662
xorl %r14d, %r14d
movl %r14d, %ecx
movl %eax, %r14d
movl %ecx, %edx
subl %ecx, %eax
movslq %eax, %rcx
leaq 0x18(%rsp), %rdi
movq %r12, %rsi
callq 0x7310
movq 0x18(%rsp), %rbp
movq %rbp, %rdi
callq 0x7520
movl %eax, %r13d
leaq 0x28(%rsp), %rax
cmpq %rax, %rbp
je 0x335e8
movq 0x28(%rsp), %rsi
incq %rsi
movq %rbp, %rdi
callq 0x72f0
movl %r13d, 0x18(%rsp)
cmpl %r15d, %r13d
jl 0x3363a
cmpl 0xc(%rsp), %r13d
jg 0x3363a
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x33610
movl %r13d, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x3361d
movq %rbx, %rdi
leaq 0x18(%rsp), %rdx
callq 0x30950
incl %r14d
movq %r12, %rdi
movl $0x2c, %esi
movq %r14, %rdx
callq 0x7410
testl %eax, %eax
jns 0x335a4
jmp 0x3365f
movq 0x20987(%rip), %rax     # 0x53fc8
movq (%rax), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rcx
leaq 0x124ba(%rip), %rsi     # 0x45b0d
movl %r13d, %edx
xorl %eax, %eax
callq 0x7470
jmp 0x3361d
movl %r14d, %r14d
leaq 0x18(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r14, %rdx
movq $-0x1, %rcx
callq 0x7310
movq (%r13), %r12
movq %r12, %rdi
callq 0x7520
movl %eax, %r14d
leaq 0x28(%rsp), %rax
cmpq %rax, %r12
je 0x336a5
movq 0x28(%rsp), %rsi
incq %rsi
movq %r12, %rdi
callq 0x72f0
movl %r14d, 0x18(%rsp)
cmpl %r15d, %r14d
jl 0x336e9
cmpl 0xc(%rsp), %r14d
jg 0x336e9
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x336cd
movl %r14d, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x336da
leaq 0x18(%rsp), %rdx
movq %rbx, %rdi
callq 0x30950
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x208d8(%rip), %rax     # 0x53fc8
movq (%rax), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rcx
leaq 0x1240b(%rip), %rsi     # 0x45b0d
movl %r14d, %edx
xorl %eax, %eax
callq 0x7470
jmp 0x336da