// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/primordial.c
// Function: primordial_indices
int primordial_indices(
                       struct perturbations   * ppt,
                       struct primordial * ppm
                       ) {

  int index_md;

  ppm->md_size = ppt->md_size;

  class_alloc(ppm->lnpk,ppt->md_size*sizeof(double*),ppm->error_message);

  class_alloc(ppm->ddlnpk,ppt->md_size*sizeof(double*),ppm->error_message);

  class_alloc(ppm->ic_size,ppt->md_size*sizeof(int*),ppm->error_message);

  class_alloc(ppm->ic_ic_size,ppt->md_size*sizeof(int*),ppm->error_message);

  class_alloc(ppm->is_non_zero,ppm->md_size*sizeof(short *),ppm->error_message);

  for (index_md = 0; index_md < ppt->md_size; index_md++) {

    ppm->ic_size[index_md] = ppt->ic_size[index_md];

    ppm->ic_ic_size[index_md] = (ppm->ic_size[index_md]*(ppm->ic_size[index_md]+1))/2;

    class_alloc(ppm->lnpk[index_md],
                ppm->lnk_size*ppm->ic_ic_size[index_md]*sizeof(double),
                ppm->error_message);

    class_alloc(ppm->ddlnpk[index_md],
                ppm->lnk_size*ppm->ic_ic_size[index_md]*sizeof(double),
                ppm->error_message);

    class_alloc(ppm->is_non_zero[index_md],
                ppm->ic_ic_size[index_md]*sizeof(short),
                ppm->error_message);


  }

  return _SUCCESS_;

}

// Assembly:
subq $0x4098, %rsp           # imm = 0x4098
movq %rdi, 0x4088(%rsp)
movq %rsi, 0x4080(%rsp)
movq 0x4088(%rsp), %rax
movl 0x854(%rax), %ecx
movq 0x4080(%rsp), %rax
movl %ecx, 0x278(%rax)
movq 0x4088(%rsp), %rax
movslq 0x854(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4080(%rsp), %rax
movq %rcx, 0x2a0(%rax)
movq 0x4080(%rsp), %rax
cmpq $0x0, 0x2a0(%rax)
jne 0x113dfe
movq 0x4088(%rsp), %rax
movslq 0x854(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x4078(%rsp)
leaq 0x3870(%rsp), %rdi
movl 0x4078(%rsp), %ecx
leaq 0xbe255(%rip), %rsi     # 0x1d2004
leaq 0xe9642(%rip), %rdx     # 0x1fd3f8
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x3870(%rsp), %r8
leaq 0xbe259(%rip), %rsi     # 0x1d2034
leaq 0xe9620(%rip), %rdx     # 0x1fd402
movl $0x291, %ecx            # imm = 0x291
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1144c1
movq 0x4088(%rsp), %rax
movslq 0x854(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4080(%rsp), %rax
movq %rcx, 0x2a8(%rax)
movq 0x4080(%rsp), %rax
cmpq $0x0, 0x2a8(%rax)
jne 0x113eb9
movq 0x4088(%rsp), %rax
movslq 0x854(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x386c(%rsp)
leaq 0x3060(%rsp), %rdi
movl 0x386c(%rsp), %ecx
leaq 0xbe19a(%rip), %rsi     # 0x1d2004
leaq 0xe95a4(%rip), %rdx     # 0x1fd415
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x3060(%rsp), %r8
leaq 0xbe19e(%rip), %rsi     # 0x1d2034
leaq 0xe9565(%rip), %rdx     # 0x1fd402
movl $0x293, %ecx            # imm = 0x293
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1144c1
movq 0x4088(%rsp), %rax
movslq 0x854(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4080(%rsp), %rax
movq %rcx, 0x280(%rax)
movq 0x4080(%rsp), %rax
cmpq $0x0, 0x280(%rax)
jne 0x113f74
movq 0x4088(%rsp), %rax
movslq 0x854(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x305c(%rsp)
leaq 0x2850(%rsp), %rdi
movl 0x305c(%rsp), %ecx
leaq 0xbe0df(%rip), %rsi     # 0x1d2004
leaq 0xe94f5(%rip), %rdx     # 0x1fd421
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x2850(%rsp), %r8
leaq 0xbe0e3(%rip), %rsi     # 0x1d2034
leaq 0xe94aa(%rip), %rdx     # 0x1fd402
movl $0x295, %ecx            # imm = 0x295
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1144c1
movq 0x4088(%rsp), %rax
movslq 0x854(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4080(%rsp), %rax
movq %rcx, 0x288(%rax)
movq 0x4080(%rsp), %rax
cmpq $0x0, 0x288(%rax)
jne 0x11402f
movq 0x4088(%rsp), %rax
movslq 0x854(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x284c(%rsp)
leaq 0x2040(%rsp), %rdi
movl 0x284c(%rsp), %ecx
leaq 0xbe024(%rip), %rsi     # 0x1d2004
leaq 0xe9447(%rip), %rdx     # 0x1fd42e
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x2040(%rsp), %r8
leaq 0xbe028(%rip), %rsi     # 0x1d2034
leaq 0xe93ef(%rip), %rdx     # 0x1fd402
movl $0x297, %ecx            # imm = 0x297
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1144c1
movq 0x4080(%rsp), %rax
movslq 0x278(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x4080(%rsp), %rax
movq %rcx, 0x2b0(%rax)
movq 0x4080(%rsp), %rax
cmpq $0x0, 0x2b0(%rax)
jne 0x1140ea
movq 0x4080(%rsp), %rax
movslq 0x278(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x203c(%rsp)
leaq 0x1830(%rsp), %rdi
movl 0x203c(%rsp), %ecx
leaq 0xbdf69(%rip), %rsi     # 0x1d2004
leaq 0xe939c(%rip), %rdx     # 0x1fd43e
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x1830(%rsp), %r8
leaq 0xbdf6d(%rip), %rsi     # 0x1d2034
leaq 0xe9334(%rip), %rdx     # 0x1fd402
movl $0x299, %ecx            # imm = 0x299
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1144c1
movl $0x0, 0x407c(%rsp)
movl 0x407c(%rsp), %eax
movq 0x4088(%rsp), %rcx
cmpl 0x854(%rcx), %eax
jge 0x1144b6
movq 0x4088(%rsp), %rax
movq 0x870(%rax), %rax
movslq 0x407c(%rsp), %rcx
movl (%rax,%rcx,4), %edx
movq 0x4080(%rsp), %rax
movq 0x280(%rax), %rax
movslq 0x407c(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x4080(%rsp), %rax
movq 0x280(%rax), %rax
movslq 0x407c(%rsp), %rcx
movl (%rax,%rcx,4), %eax
movq 0x4080(%rsp), %rcx
movq 0x280(%rcx), %rcx
movslq 0x407c(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
addl $0x1, %ecx
imull %ecx, %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %edx
movq 0x4080(%rsp), %rax
movq 0x288(%rax), %rax
movslq 0x407c(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x4080(%rsp), %rax
movl 0x290(%rax), %eax
movq 0x4080(%rsp), %rcx
movq 0x288(%rcx), %rcx
movslq 0x407c(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rdx
movq 0x4080(%rsp), %rax
movq 0x2a0(%rax), %rax
movslq 0x407c(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x4080(%rsp), %rax
movq 0x2a0(%rax), %rax
movslq 0x407c(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x1142b2
movq 0x4080(%rsp), %rax
movl 0x290(%rax), %eax
movq 0x4080(%rsp), %rcx
movq 0x288(%rcx), %rcx
movslq 0x407c(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
cltq
shlq $0x3, %rax
movl %eax, 0x182c(%rsp)
leaq 0x1020(%rsp), %rdi
movl 0x182c(%rsp), %ecx
leaq 0xbdda1(%rip), %rsi     # 0x1d2004
leaq 0xe91e5(%rip), %rdx     # 0x1fd44f
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x1020(%rsp), %r8
leaq 0xbdda5(%rip), %rsi     # 0x1d2034
leaq 0xe916c(%rip), %rdx     # 0x1fd402
movl $0x2a3, %ecx            # imm = 0x2A3
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1144c1
movq 0x4080(%rsp), %rax
movl 0x290(%rax), %eax
movq 0x4080(%rsp), %rcx
movq 0x288(%rcx), %rcx
movslq 0x407c(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rdx
movq 0x4080(%rsp), %rax
movq 0x2a8(%rax), %rax
movslq 0x407c(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x4080(%rsp), %rax
movq 0x2a8(%rax), %rax
movslq 0x407c(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x1143c2
movq 0x4080(%rsp), %rax
movl 0x290(%rax), %eax
movq 0x4080(%rsp), %rcx
movq 0x288(%rcx), %rcx
movslq 0x407c(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
cltq
shlq $0x3, %rax
movl %eax, 0x101c(%rsp)
leaq 0x810(%rsp), %rdi
movl 0x101c(%rsp), %ecx
leaq 0xbdc91(%rip), %rsi     # 0x1d2004
leaq 0xe90e9(%rip), %rdx     # 0x1fd463
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x810(%rsp), %r8
leaq 0xbdc95(%rip), %rsi     # 0x1d2034
leaq 0xe905c(%rip), %rdx     # 0x1fd402
movl $0x2a7, %ecx            # imm = 0x2A7
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1144c1
movq 0x4080(%rsp), %rax
movq 0x288(%rax), %rax
movslq 0x407c(%rsp), %rcx
movslq (%rax,%rcx,4), %rdi
shlq %rdi
callq 0x8460
movq %rax, %rdx
movq 0x4080(%rsp), %rax
movq 0x2b0(%rax), %rax
movslq 0x407c(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x4080(%rsp), %rax
movq 0x2b0(%rax), %rax
movslq 0x407c(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x11449e
movq 0x4080(%rsp), %rax
movq 0x288(%rax), %rax
movslq 0x407c(%rsp), %rcx
movslq (%rax,%rcx,4), %rax
shlq %rax
movl %eax, 0x80c(%rsp)
movq %rsp, %rdi
movl 0x80c(%rsp), %ecx
leaq 0xbdbad(%rip), %rsi     # 0x1d2004
leaq 0xe901b(%rip), %rdx     # 0x1fd479
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
movq %rsp, %r8
leaq 0xbdbb6(%rip), %rsi     # 0x1d2034
leaq 0xe8f7d(%rip), %rdx     # 0x1fd402
movl $0x2ab, %ecx            # imm = 0x2AB
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1144c1
jmp 0x1144a0
movl 0x407c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x407c(%rsp)
jmp 0x1140f5
movl $0x0, 0x4094(%rsp)
movl 0x4094(%rsp), %eax
addq $0x4098, %rsp           # imm = 0x4098
retq