// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/output.c
// Function: output_primordial
int output_primordial(
                      struct perturbations * ppt,
                      struct primordial * ppm,
                      struct output * pop
                      ) {
  FileName file_name;
  FILE * out;
  char titles[_MAXTITLESTRINGLENGTH_]={0};
  double * data;
  int size_data, number_of_titles;

  class_sprintf(file_name,"%s%s",pop->root,"primordial_Pk.dat");

  class_call(primordial_output_titles(ppt,ppm,titles),
             ppm->error_message,
             pop->error_message);
  number_of_titles = get_number_of_titles(titles);
  size_data = number_of_titles*ppm->lnk_size;
  class_alloc(data,sizeof(double)*size_data,pop->error_message);
  class_call(primordial_output_data(ppt,
                                    ppm,
                                    number_of_titles,
                                    data),
             ppm->error_message,
             pop->error_message);

  class_open(out,file_name,"w",pop->error_message);
  if (pop->write_header == _TRUE_) {
    fprintf(out,"# Dimensionless primordial spectrum, equal to [k^3/2pi^2] P(k) \n");
  }

  output_print_data(out,
                    titles,
                    data,
                    size_data);

  free(data);
  fclose(out);

  return _SUCCESS_;
}

// Assembly:
subq $0x40a8, %rsp           # imm = 0x40A8
movq %rdi, 0x4098(%rsp)
movq %rsi, 0x4090(%rsp)
movq %rdx, 0x4088(%rsp)
leaq 0x2030(%rsp), %rdi
xorl %esi, %esi
movl $0x1f40, %edx           # imm = 0x1F40
callq 0x8210
movq 0x4088(%rsp), %rcx
xorl %eax, %eax
movl %eax, %esi
leaq 0x45c8f(%rip), %rdx     # 0x214105
leaq 0x467c0(%rip), %r8      # 0x214c3d
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0x201c(%rsp)
leaq 0x3f80(%rsp), %rdi
movl 0x201c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movq 0x4088(%rsp), %rcx
leaq 0x45c53(%rip), %rdx     # 0x214105
leaq 0x46784(%rip), %r8      # 0x214c3d
movb $0x0, %al
callq 0x8540
movq 0x4098(%rsp), %rdi
movq 0x4090(%rsp), %rsi
leaq 0x2030(%rsp), %rdx
callq 0x120b90
cmpl $0x1, %eax
jne 0x1ce54f
leaq 0x1810(%rsp), %rdi
movq 0x4090(%rsp), %rcx
addq $0x32a, %rcx            # imm = 0x32A
leaq 0x3ed8(%rip), %rsi      # 0x1d23d8
leaq 0x46748(%rip), %rdx     # 0x214c4f
movb $0x0, %al
callq 0x5b9c0
movq 0x4088(%rsp), %rdi
addq $0x420, %rdi            # imm = 0x420
leaq 0x1810(%rsp), %r8
leaq 0x3b08(%rip), %rsi      # 0x1d2034
leaq 0x46745(%rip), %rdx     # 0x214c78
movl $0x548, %ecx            # imm = 0x548
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40a4(%rsp)
jmp 0x1ce7ac
leaq 0x2030(%rsp), %rdi
callq 0x5bba0
movl %eax, 0x2020(%rsp)
movl 0x2020(%rsp), %eax
movq 0x4090(%rsp), %rcx
imull 0x290(%rcx), %eax
movl %eax, 0x2024(%rsp)
movslq 0x2024(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x2028(%rsp)
cmpq $0x0, 0x2028(%rsp)
jne 0x1ce61c
movslq 0x2024(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x180c(%rsp)
leaq 0x1000(%rsp), %rdi
movl 0x180c(%rsp), %ecx
leaq 0x3a37(%rip), %rsi      # 0x1d2004
leaq 0x412fa(%rip), %rdx     # 0x20f8ce
movb $0x0, %al
callq 0x5b9c0
movq 0x4088(%rsp), %rdi
addq $0x420, %rdi            # imm = 0x420
leaq 0x1000(%rsp), %r8
leaq 0x3a3b(%rip), %rsi      # 0x1d2034
leaq 0x46678(%rip), %rdx     # 0x214c78
movl $0x54b, %ecx            # imm = 0x54B
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40a4(%rsp)
jmp 0x1ce7ac
movq 0x4098(%rsp), %rdi
movq 0x4090(%rsp), %rsi
movl 0x2020(%rsp), %edx
movq 0x2028(%rsp), %rcx
callq 0x120c20
cmpl $0x1, %eax
jne 0x1ce6b2
leaq 0x800(%rsp), %rdi
movq 0x4090(%rsp), %rcx
addq $0x32a, %rcx            # imm = 0x32A
leaq 0x3d75(%rip), %rsi      # 0x1d23d8
leaq 0x46620(%rip), %rdx     # 0x214c8a
movb $0x0, %al
callq 0x5b9c0
movq 0x4088(%rsp), %rdi
addq $0x420, %rdi            # imm = 0x420
leaq 0x800(%rsp), %r8
leaq 0x39a5(%rip), %rsi      # 0x1d2034
leaq 0x465e2(%rip), %rdx     # 0x214c78
movl $0x551, %ecx            # imm = 0x551
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40a4(%rsp)
jmp 0x1ce7ac
leaq 0x3f80(%rsp), %rdi
leaq 0x6d68(%rip), %rsi      # 0x1d5429
callq 0x8410
movq %rax, 0x3f78(%rsp)
cmpq $0x0, 0x3f78(%rsp)
jne 0x1ce739
movq %rsp, %rdi
leaq 0x3f80(%rsp), %rcx
leaq 0x62e5(%rip), %rsi      # 0x1d49d0
leaq 0x96a6(%rip), %rdx      # 0x1d7d98
leaq 0x1fe4f(%rip), %r8      # 0x1ee548
movb $0x0, %al
callq 0x5b9c0
movq 0x4088(%rsp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rsp, %r8
leaq 0x391b(%rip), %rsi      # 0x1d2034
leaq 0x46558(%rip), %rdx     # 0x214c78
movl $0x553, %ecx            # imm = 0x553
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40a4(%rsp)
jmp 0x1ce7ac
movq 0x4088(%rsp), %rax
movswl 0x408(%rax), %eax
cmpl $0x1, %eax
jne 0x1ce763
movq 0x3f78(%rsp), %rdi
leaq 0x46567(%rip), %rsi     # 0x214cc3
movb $0x0, %al
callq 0x84e0
movq 0x3f78(%rsp), %rdi
leaq 0x2030(%rsp), %rsi
movq 0x2028(%rsp), %rdx
movl 0x2024(%rsp), %ecx
callq 0x1d1430
movq 0x2028(%rsp), %rdi
callq 0x8420
movq 0x3f78(%rsp), %rdi
callq 0x83c0
movl $0x0, 0x40a4(%rsp)
movl 0x40a4(%rsp), %eax
addq $0x40a8, %rsp           # imm = 0x40A8
retq
nopl (%rax,%rax)