// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/input.c
// Function: input_init
int input_init(int argc,
               char **argv,
               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 */
  struct file_content fc;        // Structure with all parameters

  /** Find and read input file */
  class_call(input_find_file(argc,
                             argv,
                             &fc,
                             errmsg),
             errmsg,
             errmsg);

  /** Initialize all parameters given the input 'file_content' structure.
      If its size is null, all parameters take their default values. */
  class_call(input_read_from_file(&fc,ppr,pba,pth,ppt,ptr,ppm,phr,pfo,ple,psd,pop,
                                  errmsg),
             errmsg,
             errmsg);

  /** Free local struture */
  class_call(parser_free(&fc),
             errmsg,
             errmsg);

  return _SUCCESS_;

}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1898, %rsp           # imm = 0x1898
movq 0x18f8(%rsp), %rax
movq 0x18f0(%rsp), %rax
movq 0x18e8(%rsp), %rax
movq 0x18e0(%rsp), %rax
movq 0x18d8(%rsp), %rax
movq 0x18d0(%rsp), %rax
movq 0x18c8(%rsp), %rax
movq 0x18c0(%rsp), %rax
movl %edi, 0x1890(%rsp)
movq %rsi, 0x1888(%rsp)
movq %rdx, 0x1880(%rsp)
movq %rcx, 0x1878(%rsp)
movq %r8, 0x1870(%rsp)
movq %r9, 0x1868(%rsp)
movl 0x1890(%rsp), %edi
movq 0x1888(%rsp), %rsi
movq 0x18f8(%rsp), %rcx
leaq 0x1840(%rsp), %rdx
callq 0x5ccc0
cmpl $0x1, %eax
jne 0x5cb45
leaq 0x1040(%rsp), %rdi
movq 0x18f8(%rsp), %rcx
leaq 0x1758db(%rip), %rsi    # 0x1d23d8
leaq 0x179dc4(%rip), %rdx    # 0x1d68c8
movb $0x0, %al
callq 0x5b9c0
movq 0x18f8(%rsp), %rdi
leaq 0x1040(%rsp), %r8
leaq 0x175512(%rip), %rsi    # 0x1d2034
leaq 0x179dc8(%rip), %rdx    # 0x1d68f1
movl $0x4b, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x1894(%rsp)
jmp 0x5cca8
movq 0x1880(%rsp), %rsi
movq 0x1878(%rsp), %rdx
movq 0x1870(%rsp), %rcx
movq 0x1868(%rsp), %r8
movq 0x18c0(%rsp), %r9
movq 0x18c8(%rsp), %r12
movq 0x18d0(%rsp), %r15
movq 0x18d8(%rsp), %r14
movq 0x18e0(%rsp), %rbx
movq 0x18e8(%rsp), %r11
movq 0x18f0(%rsp), %r10
movq 0x18f8(%rsp), %rax
leaq 0x1840(%rsp), %rdi
movq %r12, (%rsp)
movq %r15, 0x8(%rsp)
movq %r14, 0x10(%rsp)
movq %rbx, 0x18(%rsp)
movq %r11, 0x20(%rsp)
movq %r10, 0x28(%rsp)
movq %rax, 0x30(%rsp)
callq 0x5d2e0
cmpl $0x1, %eax
jne 0x5cc35
leaq 0x840(%rsp), %rdi
movq 0x18f8(%rsp), %rcx
leaq 0x1757e8(%rip), %rsi    # 0x1d23d8
leaq 0x179d05(%rip), %rdx    # 0x1d68fc
movb $0x0, %al
callq 0x5b9c0
movq 0x18f8(%rsp), %rdi
leaq 0x840(%rsp), %r8
leaq 0x17541f(%rip), %rsi    # 0x1d2034
leaq 0x179cd5(%rip), %rdx    # 0x1d68f1
movl $0x52, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x1894(%rsp)
jmp 0x5cca8
leaq 0x1840(%rsp), %rdi
callq 0x382b0
cmpl $0x1, %eax
jne 0x5cc9d
leaq 0x40(%rsp), %rdi
movq 0x18f8(%rsp), %rcx
leaq 0x17577d(%rip), %rsi    # 0x1d23d8
leaq 0x179ce8(%rip), %rdx    # 0x1d694a
movb $0x0, %al
callq 0x5b9c0
movq 0x18f8(%rsp), %rdi
leaq 0x40(%rsp), %r8
leaq 0x1753b7(%rip), %rsi    # 0x1d2034
leaq 0x179c6d(%rip), %rdx    # 0x1d68f1
movl $0x57, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x1894(%rsp)
jmp 0x5cca8
movl $0x0, 0x1894(%rsp)
movl 0x1894(%rsp), %eax
addq $0x1898, %rsp           # imm = 0x1898
popq %rbx
popq %r12
popq %r14
popq %r15
retq
nop