// File: mouda[P]LTE_random_access-simulate/ap.cpp
// Function: alglib::real_2d_array::real_2d_array(char const*)
alglib::real_2d_array::real_2d_array(const char *s)  
{
    std::vector< std::vector<const char*> > smat;
    size_t i, j;
    char *p = filter_spaces(s);
    try
    {
        str_matrix_create(p, &smat);
        if( smat.size()!=0 )
        {
            allocate_own((ae_int_t)(smat.size()), (ae_int_t)(smat[0].size()), alglib_impl::DT_REAL);
            for(i=0; i<smat.size(); i++)
                for(j=0; j<smat[0].size(); j++)
                    operator()((ae_int_t)i,(ae_int_t)j) = parse_real_delim(smat[i][j],",]");
        }
        else
            allocate_own(0, 0, alglib_impl::DT_REAL);
        alglib_impl::ae_free(p);
    }
    catch(...)
    {
        alglib_impl::ae_free(p);
        throw;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x49bd0
movq -0x60(%rbp), %rax
leaq 0x1988d(%rip), %rcx     # 0x64c98
movq %rcx, (%rax)
leaq -0x28(%rbp), %rdi
callq 0x53160
movq -0x10(%rbp), %rdi
callq 0x476e0
movq %rax, -0x58(%rbp)
jmp 0x4b426
movq -0x58(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x4a590
jmp 0x4b43d
leaq -0x28(%rbp), %rdi
callq 0x53180
cmpq $0x0, %rax
je 0x4b5a9
leaq -0x28(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x53180
movq -0x70(%rbp), %rdi
movq %rax, -0x68(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x531b0
movq %rax, %rdi
callq 0x530c0
movq -0x60(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq %rax, %rdx
movl $0x3, %ecx
callq 0x4a170
jmp 0x4b48d
movq $0x0, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x53180
movq %rax, %rcx
movq -0x78(%rbp), %rax
cmpq %rcx, %rax
jae 0x4b5a7
movq $0x0, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x531b0
movq %rax, %rdi
callq 0x530c0
movq %rax, %rcx
movq -0x80(%rbp), %rax
cmpq %rcx, %rax
jae 0x4b594
movq -0x30(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x531b0
movq %rax, %rdi
movq -0x38(%rbp), %rsi
callq 0x530e0
movq (%rax), %rdi
leaq 0xcec8(%rip), %rsi      # 0x583d6
callq 0x48aa0
movsd %xmm0, -0x88(%rbp)
jmp 0x4b51d
movq -0x60(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdx
callq 0x4b620
movq %rax, -0x90(%rbp)
jmp 0x4b537
movq -0x90(%rbp), %rax
movsd -0x88(%rbp), %xmm0
movsd %xmm0, (%rax)
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x4b4be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4b5f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
movq -0x48(%rbp), %rdi
callq 0x30f0
movq -0x40(%rbp), %rdi
callq 0x3ad30
callq 0x3420
jmp 0x4b617
jmp 0x4b596
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0x4b495
jmp 0x4b5c2
movq -0x60(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x3, %ecx
movq %rdx, %rsi
callq 0x4a170
jmp 0x4b5c0
jmp 0x4b5c2
movq -0x40(%rbp), %rdi
callq 0x3ad30
jmp 0x4b5e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
callq 0x3460
jmp 0x4b5e0
jmp 0x4b5f4
leaq -0x28(%rbp), %rdi
callq 0x531d0
addq $0x90, %rsp
popq %rbp
retq
leaq -0x28(%rbp), %rdi
callq 0x531d0
movq -0x60(%rbp), %rdi
callq 0x49c00
movq -0x48(%rbp), %rdi
callq 0x34c0
movq %rax, %rdi
callq 0x1d7a0
nopw (%rax,%rax)