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

  int k;

  if (pba->Omega0_ncdm_tot != 0.) {
    for (k=0; k<pba->N_ncdm; k++) {
      free(pba->q_ncdm[k]);
      free(pba->w_ncdm[k]);
      free(pba->q_ncdm_bg[k]);
      free(pba->w_ncdm_bg[k]);
      free(pba->dlnf0_dlnq_ncdm[k]);
    }

    free(pba->ncdm_quadrature_strategy);
    free(pba->ncdm_input_q_size);
    free(pba->ncdm_qmax);
    free(pba->q_ncdm);
    free(pba->w_ncdm);
    free(pba->q_ncdm_bg);
    free(pba->w_ncdm_bg);
    free(pba->dlnf0_dlnq_ncdm);
    free(pba->q_size_ncdm);
    free(pba->q_size_ncdm_bg);
    free(pba->M_ncdm);
    free(pba->T_ncdm);
    free(pba->ksi_ncdm);
    free(pba->deg_ncdm);
    free(pba->Omega0_ncdm);
    free(pba->m_ncdm_in_eV);
    free(pba->factor_ncdm);
    if (pba->got_files!=NULL)
      free(pba->got_files);
    if (pba->ncdm_psd_files!=NULL)
      free(pba->ncdm_psd_files);
    if (pba->ncdm_psd_parameters!=NULL)
      free(pba->ncdm_psd_parameters);
  }

  if (pba->Omega0_scf != 0.  || pba->log10_fraction_axion_ac > -30. || pba->log10_axion_ac > -30 || pba->m_scf != 0 || pba->f_axion != 0){
    if (pba->scf_parameters != NULL)
      free(pba->scf_parameters);
  }
  return _SUCCESS_;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movsd 0x288(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xa9096
jp 0xa9096
jmp 0xa92c8
movl $0x0, 0xc(%rsp)
movl 0xc(%rsp), %eax
movq 0x10(%rsp), %rcx
cmpl 0x248(%rcx), %eax
jge 0xa9145
movq 0x10(%rsp), %rax
movq 0x4e8(%rax), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x4f0(%rax), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x4d8(%rax), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x4e0(%rax), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x4f8(%rax), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x8420
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0xa909e
movq 0x10(%rsp), %rax
movq 0x4d0(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x2c0(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x2c8(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x4e8(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x4f0(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x4d8(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x4e0(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x4f8(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x508(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x500(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x270(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x290(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x2a0(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x2b0(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x280(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x278(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
movq 0x510(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
cmpq $0x0, 0x258(%rax)
je 0xa9286
movq 0x10(%rsp), %rax
movq 0x258(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
cmpq $0x0, 0x250(%rax)
je 0xa92a6
movq 0x10(%rsp), %rax
movq 0x250(%rax), %rdi
callq 0x8420
movq 0x10(%rsp), %rax
cmpq $0x0, 0x260(%rax)
je 0xa92c6
movq 0x10(%rsp), %rax
movq 0x260(%rax), %rdi
callq 0x8420
jmp 0xa92c8
movq 0x10(%rsp), %rax
movsd 0x128(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xa9348
jp 0xa9348
movq 0x10(%rsp), %rax
movsd 0x1d0(%rax), %xmm0
movsd 0x12d3cb(%rip), %xmm1   # 0x1d66c0
ucomisd %xmm1, %xmm0
ja 0xa9348
movq 0x10(%rsp), %rax
movsd 0x1b8(%rax), %xmm0
movsd 0x12d3b0(%rip), %xmm1   # 0x1d66c0
ucomisd %xmm1, %xmm0
ja 0xa9348
movq 0x10(%rsp), %rax
movsd 0x188(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xa9348
jp 0xa9348
movq 0x10(%rsp), %rax
movsd 0x190(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xa9348
jp 0xa9348
jmp 0xa936a
movq 0x10(%rsp), %rax
cmpq $0x0, 0x168(%rax)
je 0xa9368
movq 0x10(%rsp), %rax
movq 0x168(%rax), %rdi
callq 0x8420
jmp 0xa936a
xorl %eax, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)