// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/output.c
// Function: output_background
int output_background(
                      struct background * pba,
                      struct output * pop
                      ) {

  FILE * backfile;
  FileName file_name;

  char titles[_MAXTITLESTRINGLENGTH_]={0};
  double * data;
  int size_data, number_of_titles;

  class_call(background_output_titles(pba,titles),
             pba->error_message,
             pop->error_message);
  number_of_titles = get_number_of_titles(titles);
  size_data = number_of_titles*pba->bt_size;
  class_alloc(data,sizeof(double)*size_data,pop->error_message);
  class_call(background_output_data(pba,
                                    number_of_titles,
                                    data),
             pba->error_message,
             pop->error_message);

  class_sprintf(file_name,"%s%s",pop->root,"background.dat");
  class_open(backfile,file_name,"w",pop->error_message);

  if (pop->write_header == _TRUE_) {
    fprintf(backfile,"# Table of selected background quantities\n");
    fprintf(backfile,"# All densities are multiplied by (8piG/3) (below, shortcut notation (.) for this factor) \n");
    fprintf(backfile,"# Densities are in units [Mpc^-2] while all distances are in [Mpc]. \n");
    if (pba->has_scf == _TRUE_){
      fprintf(backfile,"# The units of phi, tau in the derivatives and the potential V are the following:\n");
      fprintf(backfile,"# --> phi is given in units of the reduced Planck mass m_Pl = (8 pi G)^(-1/2)\n");
      fprintf(backfile,"# --> tau in the derivative of V(phi) is given in units of Mpc.\n");
      fprintf(backfile,"# --> the potential V(phi) is given in units of m_Pl^2/Mpc^2.\n");
    }
  }

  output_print_data(backfile,
                    titles,
                    data,
                    size_data);

  free(data);
  fclose(backfile);

  return _SUCCESS_;

}

// Assembly:
subq $0x4098, %rsp           # imm = 0x4098
movq %rdi, 0x4088(%rsp)
movq %rsi, 0x4080(%rsp)
leaq 0x2030(%rsp), %rdi
xorl %esi, %esi
movl $0x1f40, %edx           # imm = 0x1F40
callq 0x8210
movq 0x4088(%rsp), %rdi
leaq 0x2030(%rsp), %rsi
callq 0xae470
cmpl $0x1, %eax
jne 0x1cd4b2
leaq 0x1820(%rsp), %rdi
movq 0x4088(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x4f75(%rip), %rsi      # 0x1d23d8
leaq 0x46fe8(%rip), %rdx     # 0x214452
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x420, %rdi            # imm = 0x420
leaq 0x1820(%rsp), %r8
leaq 0x4ba5(%rip), %rsi      # 0x1d2034
leaq 0x46fe1(%rip), %rdx     # 0x214477
movl $0x497, %ecx            # imm = 0x497
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1cd807
leaq 0x2030(%rsp), %rdi
callq 0x5bba0
movl %eax, 0x2020(%rsp)
movl 0x2020(%rsp), %eax
movq 0x4088(%rsp), %rcx
imull 0x440(%rcx), %eax
movl %eax, 0x2024(%rsp)
movslq 0x2024(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x2028(%rsp)
cmpq $0x0, 0x2028(%rsp)
jne 0x1cd57f
movslq 0x2024(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x181c(%rsp)
leaq 0x1010(%rsp), %rdi
movl 0x181c(%rsp), %ecx
leaq 0x4ad4(%rip), %rsi      # 0x1d2004
leaq 0x42397(%rip), %rdx     # 0x20f8ce
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x420, %rdi            # imm = 0x420
leaq 0x1010(%rsp), %r8
leaq 0x4ad8(%rip), %rsi      # 0x1d2034
leaq 0x46f14(%rip), %rdx     # 0x214477
movl $0x49a, %ecx            # imm = 0x49A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1cd807
movq 0x4088(%rsp), %rdi
movl 0x2020(%rsp), %esi
movq 0x2028(%rsp), %rdx
callq 0xaec40
cmpl $0x1, %eax
jne 0x1cd60d
leaq 0x810(%rsp), %rdi
movq 0x4088(%rsp), %rcx
addq $0xd1c, %rcx            # imm = 0xD1C
leaq 0x4e1a(%rip), %rsi      # 0x1d23d8
leaq 0x46ec4(%rip), %rdx     # 0x214489
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x420, %rdi            # imm = 0x420
leaq 0x810(%rsp), %r8
leaq 0x4a4a(%rip), %rsi      # 0x1d2034
leaq 0x46e86(%rip), %rdx     # 0x214477
movl $0x49f, %ecx            # imm = 0x49F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1cd807
jmp 0x1cd60f
movq 0x4080(%rsp), %rcx
xorl %eax, %eax
movl %eax, %esi
leaq 0x46ae3(%rip), %rdx     # 0x214105
leaq 0x9590(%rip), %r8       # 0x1d6bb9
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0x80c(%rsp)
leaq 0x3f70(%rsp), %rdi
movl 0x80c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movq 0x4080(%rsp), %rcx
leaq 0x46aa7(%rip), %rdx     # 0x214105
leaq 0x9554(%rip), %r8       # 0x1d6bb9
movb $0x0, %al
callq 0x8540
leaq 0x3f70(%rsp), %rdi
leaq 0x7dae(%rip), %rsi      # 0x1d5429
callq 0x8410
movq %rax, 0x4078(%rsp)
cmpq $0x0, 0x4078(%rsp)
jne 0x1cd6f6
movq %rsp, %rdi
leaq 0x3f70(%rsp), %rcx
leaq 0x732b(%rip), %rsi      # 0x1d49d0
leaq 0x46e11(%rip), %rdx     # 0x2144bd
leaq 0x20e95(%rip), %r8      # 0x1ee548
movb $0x0, %al
callq 0x5b9c0
movq 0x4080(%rsp), %rdi
addq $0x420, %rdi            # imm = 0x420
movq %rsp, %r8
leaq 0x4961(%rip), %rsi      # 0x1d2034
leaq 0x46d9d(%rip), %rdx     # 0x214477
movl $0x4a2, %ecx            # imm = 0x4A2
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x4094(%rsp)
jmp 0x1cd807
movq 0x4080(%rsp), %rax
movswl 0x408(%rax), %eax
cmpl $0x1, %eax
jne 0x1cd7be
movq 0x4078(%rsp), %rdi
leaq 0x46da9(%rip), %rsi     # 0x2144c6
movb $0x0, %al
callq 0x84e0
movq 0x4078(%rsp), %rdi
leaq 0x46dbe(%rip), %rsi     # 0x2144f1
movb $0x0, %al
callq 0x84e0
movq 0x4078(%rsp), %rdi
leaq 0x46e04(%rip), %rsi     # 0x21454d
movb $0x0, %al
callq 0x84e0
movq 0x4088(%rsp), %rax
movswl 0x4bc(%rax), %eax
cmpl $0x1, %eax
jne 0x1cd7bc
movq 0x4078(%rsp), %rdi
leaq 0x46e20(%rip), %rsi     # 0x214593
movb $0x0, %al
callq 0x84e0
movq 0x4078(%rsp), %rdi
leaq 0x46e5d(%rip), %rsi     # 0x2145e6
movb $0x0, %al
callq 0x84e0
movq 0x4078(%rsp), %rdi
leaq 0x46e96(%rip), %rsi     # 0x214635
movb $0x0, %al
callq 0x84e0
movq 0x4078(%rsp), %rdi
leaq 0x46ec1(%rip), %rsi     # 0x214676
movb $0x0, %al
callq 0x84e0
jmp 0x1cd7be
movq 0x4078(%rsp), %rdi
leaq 0x2030(%rsp), %rsi
movq 0x2028(%rsp), %rdx
movl 0x2024(%rsp), %ecx
callq 0x1d1430
movq 0x2028(%rsp), %rdi
callq 0x8420
movq 0x4078(%rsp), %rdi
callq 0x83c0
movl $0x0, 0x4094(%rsp)
movl 0x4094(%rsp), %eax
addq $0x4098, %rsp           # imm = 0x4098
retq
nopw %cs:(%rax,%rax)