// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/input.c
// Function: input_read_parameters
int input_read_parameters(struct file_content * pfc,
                          struct precision * ppr,
                          struct background *pba,
                          struct thermodynamics *pth,
                          struct perturbations *ppt,
                          struct transfer *ptr,
                          struct primordial *ppm,
                          struct harmonic *phr,
                          struct fourier * pfo,
                          struct lensing *ple,
                          struct distortions *psd,
                          struct output *pop,
                          ErrorMsg errmsg){

  /** Summary: */

  /** Define local variables */
  int input_verbose=0;

  /** Set all input parameters to default values */
  class_call(input_default_params(pba,pth,ppt,ptr,ppm,phr,pfo,ple,psd,pop),
             errmsg,
             errmsg);

  /** Read verbose for input structure */
  class_read_int("input_verbose",input_verbose);

  /**
   * Read the general parameters of the
   *  background, thermodynamics, and perturbation structures
   * This function is exclusively for those parameters, NOT
   *  related to any physical species
   * */
  class_call(input_read_parameters_general(pfc,pba,pth,ppt,pfo,psd,
                                           errmsg),
             errmsg,
             errmsg);

  /** Read the parameters for each physical species (has to be called after the general read) */
  class_call(input_read_parameters_species(pfc,ppr,pba,pth,ppt,
                                           input_verbose,
                                           errmsg),
             errmsg,
             errmsg);

  /** Read parameters for exotic energy injection quantities */
  class_call(input_read_parameters_injection(pfc,ppr,pth,
                                             errmsg),
             errmsg,
             errmsg);

  /** Read parameters for nonlinear quantities */
  class_call(input_read_parameters_nonlinear(pfc,ppr,pba,pth,ppt,pfo,
                                             input_verbose,
                                             errmsg),
             errmsg,
             errmsg);

  /** Read parameters for primordial quantities */
  class_call(input_read_parameters_primordial(pfc,ppt,ppm,
                                              errmsg),
             errmsg,
             errmsg);

  /** Read parameters for spectra quantities */
  class_call(input_read_parameters_spectra(pfc,ppr,pba,ppm,ppt,ptr,phr,pop,
                                           errmsg),
             errmsg,
             errmsg);

  /** Read parameters for lensing quantities */
  class_call(input_read_parameters_lensing(pfc,ppr,ppt,ptr,ple,
                                           errmsg),
             errmsg,
             errmsg);

  /** Read parameters for distortions quantities */
  class_call(input_read_parameters_distortions(pfc,ppr,psd,
                                               errmsg),
             errmsg,
             errmsg);

  /** Read obsolete parameters */
  class_call(input_read_parameters_additional(pfc,ppr,pba,pth,
                                              errmsg),
             errmsg,
             errmsg);

  /** Read parameters for output quantities */
  class_call(input_read_parameters_output(pfc,pba,pth,ppt,ptr,ppm,phr,pfo,ple,psd,pop,
                                          errmsg),
             errmsg,
             errmsg);

  return _SUCCESS_;

}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x6080, %rsp           # imm = 0x6080
movq 0x60d0(%rsp), %rax
movq 0x60c8(%rsp), %rax
movq 0x60c0(%rsp), %rax
movq 0x60b8(%rsp), %rax
movq 0x60b0(%rsp), %rax
movq 0x60a8(%rsp), %rax
movq 0x60a0(%rsp), %rax
movq %rdi, 0x6070(%rsp)
movq %rsi, 0x6068(%rsp)
movq %rdx, 0x6060(%rsp)
movq %rcx, 0x6058(%rsp)
movq %r8, 0x6050(%rsp)
movq %r9, 0x6048(%rsp)
movl $0x0, 0x6044(%rsp)
movq 0x6060(%rsp), %rdi
movq 0x6058(%rsp), %rsi
movq 0x6050(%rsp), %rdx
movq 0x6048(%rsp), %rcx
movq 0x60a0(%rsp), %r8
movq 0x60a8(%rsp), %r9
movq 0x60b0(%rsp), %rbx
movq 0x60b8(%rsp), %r11
movq 0x60c0(%rsp), %r10
movq 0x60c8(%rsp), %rax
movq %rbx, (%rsp)
movq %r11, 0x8(%rsp)
movq %r10, 0x10(%rsp)
movq %rax, 0x18(%rsp)
callq 0x73030
cmpl $0x1, %eax
jne 0x6c23b
leaq 0x5840(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x1661e5(%rip), %rsi    # 0x1d23d8
leaq 0x171633(%rip), %rdx    # 0x1dd82d
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x5840(%rsp), %r8
leaq 0x165e1c(%rip), %rsi    # 0x1d2034
leaq 0x17164c(%rip), %rdx    # 0x1dd86b
movl $0x8da, %ecx            # imm = 0x8DA
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
jmp 0x6c23d
movq 0x6070(%rsp), %rdi
movq 0x60d0(%rsp), %r8
leaq 0x16ab70(%rip), %rsi    # 0x1d6dc4
leaq 0x583c(%rsp), %rdx
leaq 0x5838(%rsp), %rcx
callq 0x38300
cmpl $0x1, %eax
jne 0x6c2cd
leaq 0x5030(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x166153(%rip), %rsi    # 0x1d23d8
leaq 0x16ab46(%rip), %rdx    # 0x1d6dd2
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x5030(%rsp), %r8
leaq 0x165d8a(%rip), %rsi    # 0x1d2034
leaq 0x1715ba(%rip), %rdx    # 0x1dd86b
movl $0x8dd, %ecx            # imm = 0x8DD
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
cmpl $0x1, 0x5838(%rsp)
jne 0x6c2e5
movl 0x583c(%rsp), %eax
movl %eax, 0x6044(%rsp)
jmp 0x6c2e7
movq 0x6070(%rsp), %rdi
movq 0x6060(%rsp), %rsi
movq 0x6058(%rsp), %rdx
movq 0x6050(%rsp), %rcx
movq 0x60b0(%rsp), %r8
movq 0x60c0(%rsp), %r9
movq 0x60d0(%rsp), %rax
movq %rax, (%rsp)
callq 0x74b00
cmpl $0x1, %eax
jne 0x6c38c
leaq 0x4830(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x166094(%rip), %rsi    # 0x1d23d8
leaq 0x171536(%rip), %rdx    # 0x1dd881
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x4830(%rsp), %r8
leaq 0x165ccb(%rip), %rsi    # 0x1d2034
leaq 0x1714fb(%rip), %rdx    # 0x1dd86b
movl $0x8e8, %ecx            # imm = 0x8E8
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
movq 0x6070(%rsp), %rdi
movq 0x6068(%rsp), %rsi
movq 0x6060(%rsp), %rdx
movq 0x6058(%rsp), %rcx
movq 0x6050(%rsp), %r8
movl 0x6044(%rsp), %r9d
movq 0x60d0(%rsp), %rax
movq %rax, (%rsp)
callq 0x79d20
cmpl $0x1, %eax
jne 0x6c431
leaq 0x4030(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x165fef(%rip), %rsi    # 0x1d23d8
leaq 0x1714d0(%rip), %rdx    # 0x1dd8c0
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x4030(%rsp), %r8
leaq 0x165c26(%rip), %rsi    # 0x1d2034
leaq 0x171456(%rip), %rdx    # 0x1dd86b
movl $0x8ef, %ecx            # imm = 0x8EF
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
movq 0x6070(%rsp), %rdi
movq 0x6068(%rsp), %rsi
movq 0x6058(%rsp), %rdx
movq 0x60d0(%rsp), %rcx
callq 0x89870
cmpl $0x1, %eax
jne 0x6c4ba
leaq 0x3830(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x165f66(%rip), %rsi    # 0x1d23d8
leaq 0x171491(%rip), %rdx    # 0x1dd90a
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x3830(%rsp), %r8
leaq 0x165b9d(%rip), %rsi    # 0x1d2034
leaq 0x1713cd(%rip), %rdx    # 0x1dd86b
movl $0x8f5, %ecx            # imm = 0x8F5
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
movq 0x6070(%rsp), %rdi
movq 0x6068(%rsp), %rsi
movq 0x6060(%rsp), %rdx
movq 0x6058(%rsp), %rcx
movq 0x6050(%rsp), %r8
movq 0x60b0(%rsp), %r9
movl 0x6044(%rsp), %r10d
movq 0x60d0(%rsp), %rax
movl %r10d, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x8bd60
cmpl $0x1, %eax
jne 0x6c56c
leaq 0x3030(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x165eb4(%rip), %rsi    # 0x1d23d8
leaq 0x171414(%rip), %rdx    # 0x1dd93f
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x3030(%rsp), %r8
leaq 0x165aeb(%rip), %rsi    # 0x1d2034
leaq 0x17131b(%rip), %rdx    # 0x1dd86b
movl $0x8fc, %ecx            # imm = 0x8FC
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
movq 0x6070(%rsp), %rdi
movq 0x6050(%rsp), %rsi
movq 0x60a0(%rsp), %rdx
movq 0x60d0(%rsp), %rcx
callq 0x8d7a0
cmpl $0x1, %eax
jne 0x6c5f5
leaq 0x2830(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x165e2b(%rip), %rsi    # 0x1d23d8
leaq 0x1713db(%rip), %rdx    # 0x1dd98f
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x2830(%rsp), %r8
leaq 0x165a62(%rip), %rsi    # 0x1d2034
leaq 0x171292(%rip), %rdx    # 0x1dd86b
movl $0x902, %ecx            # imm = 0x902
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
movq 0x6070(%rsp), %rdi
movq 0x6068(%rsp), %rsi
movq 0x6060(%rsp), %rdx
movq 0x60a0(%rsp), %rcx
movq 0x6050(%rsp), %r8
movq 0x6048(%rsp), %r9
movq 0x60a8(%rsp), %r11
movq 0x60c8(%rsp), %r10
movq 0x60d0(%rsp), %rax
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x979f0
cmpl $0x1, %eax
jne 0x6c6b4
leaq 0x2030(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x165d6c(%rip), %rsi    # 0x1d23d8
leaq 0x171352(%rip), %rdx    # 0x1dd9c5
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x2030(%rsp), %r8
leaq 0x1659a3(%rip), %rsi    # 0x1d2034
leaq 0x1711d3(%rip), %rdx    # 0x1dd86b
movl $0x908, %ecx            # imm = 0x908
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
movq 0x6070(%rsp), %rdi
movq 0x6068(%rsp), %rsi
movq 0x6050(%rsp), %rdx
movq 0x6048(%rsp), %rcx
movq 0x60b8(%rsp), %r8
movq 0x60d0(%rsp), %r9
callq 0x99ac0
cmpl $0x1, %eax
jne 0x6c74d
leaq 0x1830(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x165cd3(%rip), %rsi    # 0x1d23d8
leaq 0x171300(%rip), %rdx    # 0x1dda0c
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x1830(%rsp), %r8
leaq 0x16590a(%rip), %rsi    # 0x1d2034
leaq 0x17113a(%rip), %rdx    # 0x1dd86b
movl $0x90e, %ecx            # imm = 0x90E
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
movq 0x6070(%rsp), %rdi
movq 0x6068(%rsp), %rsi
movq 0x60c0(%rsp), %rdx
movq 0x60d0(%rsp), %rcx
callq 0x9a290
cmpl $0x1, %eax
jne 0x6c7d6
leaq 0x1030(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x165c4a(%rip), %rsi    # 0x1d23d8
leaq 0x1712b2(%rip), %rdx    # 0x1dda47
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x1030(%rsp), %r8
leaq 0x165881(%rip), %rsi    # 0x1d2034
leaq 0x1710b1(%rip), %rdx    # 0x1dd86b
movl $0x914, %ecx            # imm = 0x914
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
movq 0x6070(%rsp), %rdi
movq 0x6068(%rsp), %rsi
movq 0x6060(%rsp), %rdx
movq 0x6058(%rsp), %rcx
movq 0x60d0(%rsp), %r8
callq 0x9b6b0
cmpl $0x1, %eax
jne 0x6c867
leaq 0x830(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x165bb9(%rip), %rsi    # 0x1d23d8
leaq 0x171258(%rip), %rdx    # 0x1dda7e
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x830(%rsp), %r8
leaq 0x1657f0(%rip), %rsi    # 0x1d2034
leaq 0x171020(%rip), %rdx    # 0x1dd86b
movl $0x91a, %ecx            # imm = 0x91A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
movq 0x6070(%rsp), %rdi
movq 0x6060(%rsp), %rsi
movq 0x6058(%rsp), %rdx
movq 0x6050(%rsp), %rcx
movq 0x6048(%rsp), %r8
movq 0x60a0(%rsp), %r9
movq 0x60a8(%rsp), %r15
movq 0x60b0(%rsp), %r14
movq 0x60b8(%rsp), %rbx
movq 0x60c0(%rsp), %r11
movq 0x60c8(%rsp), %r10
movq 0x60d0(%rsp), %rax
movq %r15, (%rsp)
movq %r14, 0x8(%rsp)
movq %rbx, 0x10(%rsp)
movq %r11, 0x18(%rsp)
movq %r10, 0x20(%rsp)
movq %rax, 0x28(%rsp)
callq 0x9c820
cmpl $0x1, %eax
jne 0x6c944
leaq 0x30(%rsp), %rdi
movq 0x60d0(%rsp), %rcx
leaq 0x165ad6(%rip), %rsi    # 0x1d23d8
leaq 0x1711af(%rip), %rdx    # 0x1ddab8
movb $0x0, %al
callq 0x5b9c0
movq 0x60d0(%rsp), %rdi
leaq 0x30(%rsp), %r8
leaq 0x165710(%rip), %rsi    # 0x1d2034
leaq 0x170f40(%rip), %rdx    # 0x1dd86b
movl $0x920, %ecx            # imm = 0x920
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x607c(%rsp)
jmp 0x6c94f
movl $0x0, 0x607c(%rsp)
movl 0x607c(%rsp), %eax
addq $0x6080, %rsp           # imm = 0x6080
popq %rbx
popq %r14
popq %r15
retq
nopw %cs:(%rax,%rax)