// File: /workspace/github_c_makefile_star2_O3/PoulinV[P]AxiCLASS/build/../source/input.c
// Function: input_write_info
int input_write_info(struct file_content * pfc,
                     struct output * pop,
                     ErrorMsg errmsg){

  /** Summary: */

  /** Define local variables */
  int i;
  int flag1, flag2;
  FILE * param_output;
  FILE * param_unused;
  char param_output_name[_LINE_LENGTH_MAX_];
  char param_unused_name[_LINE_LENGTH_MAX_];

  /* We want to read both flags at once, such that the pfc->read is set correctly */
  flag1 = _FALSE_;
  flag2 = _FALSE_;
  class_read_flag_or_deprecated("write_parameters","write parameters",flag1);
  class_read_flag_or_deprecated("write_warnings","write warnings",flag2);

  /* Now that all variables are read, we can print the warnings */
  if (flag2 == _TRUE_){
    for (i=0; i<pfc->size; i++) {
      if (pfc->read[i] == _FALSE_)
        fprintf(stdout,"[WARNING: input line not used: '%s=%s']\n",pfc->name[i],pfc->value[i]);
    }
  }

  /* Finally, since all variables are read, we can also print the parameters.ini and unused_parameters files */
  if (flag1 == _TRUE_) {
    class_sprintf(param_output_name,"%s%s",pop->root,"parameters.ini");
    class_open(param_output,param_output_name,"w",errmsg);
    fprintf(param_output,"# List of input/precision parameters actually read\n");
    fprintf(param_output,"# (all other parameters set to default values)\n");
    fprintf(param_output,"# Obtained with CLASS %s (for developers: svn version %s)\n",_VERSION_,_SVN_VERSION_);
    fprintf(param_output,"#\n");
    fprintf(param_output,"# This file can be used as the input file of another run\n");
    fprintf(param_output,"#\n");

    class_sprintf(param_unused_name,"%s%s",pop->root,"unused_parameters");
    class_open(param_unused,param_unused_name,"w",errmsg);
    fprintf(param_unused,"# List of input/precision parameters passed\n");
    fprintf(param_unused,"# but not used (just for info)\n");
    fprintf(param_unused,"#\n");

    for (i=0; i<pfc->size; i++) {
      if (pfc->read[i] == _TRUE_){
        fprintf(param_output,"%s = %s\n",pfc->name[i],pfc->value[i]);
      }
      else{
        fprintf(param_unused,"%s = %s\n",pfc->name[i],pfc->value[i]);
      }
    }

    fprintf(param_output,"#\n");

    fclose(param_output);
    fclose(param_unused);
  }

  return _SUCCESS_;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1418, %rsp           # imm = 0x1418
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
leaq 0xce517(%rip), %rsi     # 0x10a281
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x3bdbd
leaq 0xb266a(%rip), %rsi     # 0xee3f0
leaq 0xce505(%rip), %rdx     # 0x10a292
leaq 0x410(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0xb228b(%rip), %rsi     # 0xee034
leaq 0xce52c(%rip), %rdx     # 0x10a2dc
movq %rbx, %rdi
movl $0x1ce7, %ecx           # imm = 0x1CE7
jmp 0x3bea8
movl (%rsp), %eax
testl %eax, %eax
jne 0x3bdf6
leaq 0xce522(%rip), %rsi     # 0x10a2ed
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %r14, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x3bdf3
leaq 0xb2606(%rip), %rsi     # 0xee3f0
leaq 0xce50d(%rip), %rdx     # 0x10a2fe
jmp 0x3bd8d
movl (%rsp), %eax
cmpl $0x1, %eax
jne 0x3be4e
leaq 0x10(%rsp), %rdi
movl $0x79, %esi
callq 0x30ca3
movb $0x1, %bpl
testl %eax, %eax
jne 0x3be50
leaq 0x10(%rsp), %rdi
movl $0x59, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x3be50
leaq 0x10(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x3be4e
leaq 0x10(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ca3
testl %eax, %eax
je 0x3c2e0
xorl %ebp, %ebp
leaq 0xce4f1(%rip), %rsi     # 0x10a348
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %r14, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x3bec9
leaq 0xb257a(%rip), %rsi     # 0xee3f0
leaq 0xce4da(%rip), %rdx     # 0x10a357
leaq 0x410(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0xb219b(%rip), %rsi     # 0xee034
leaq 0xce43c(%rip), %rdx     # 0x10a2dc
movq %rbx, %rdi
movl $0x1ce8, %ecx           # imm = 0x1CE8
movq %r14, %r8
xorl %eax, %eax
callq 0x30af0
movl $0x1, %eax
addq $0x1418, %rsp           # imm = 0x1418
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl (%rsp), %eax
testl %eax, %eax
jne 0x3bf05
leaq 0xce4c8(%rip), %rsi     # 0x10a39f
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %r14, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x3bf02
leaq 0xb24fa(%rip), %rsi     # 0xee3f0
leaq 0xce4b1(%rip), %rdx     # 0x10a3ae
jmp 0x3be7d
movl (%rsp), %eax
movl %ebp, 0x4(%rsp)
movq %r15, 0x8(%rsp)
cmpl $0x1, %eax
jne 0x3bf9a
leaq 0x10(%rsp), %rdi
movl $0x79, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x3bf41
leaq 0x10(%rsp), %rdi
movl $0x59, %esi
callq 0x30ca3
testl %eax, %eax
je 0x3c259
movl 0x8(%r14), %eax
testl %eax, %eax
jle 0x3bf9a
movq 0x10d010(%rip), %r13    # 0x148f60
leaq 0xce49f(%rip), %r12     # 0x10a3f6
xorl %ebp, %ebp
xorl %r15d, %r15d
movq 0x20(%r14), %rcx
cmpw $0x0, (%rcx,%r15,2)
jne 0x3bf88
movq (%r13), %rdi
movq 0x10(%r14), %rdx
addq %rbp, %rdx
movq 0x18(%r14), %rcx
addq %rbp, %rcx
movq %r12, %rsi
xorl %eax, %eax
callq 0x84e0
movl 0x8(%r14), %eax
incq %r15
movslq %eax, %rcx
addq $0x400, %rbp            # imm = 0x400
cmpq %rcx, %r15
jl 0x3bf5c
xorl %eax, %eax
cmpb $0x0, 0x4(%rsp)
je 0x3beb7
leaq 0xf38e2(%rip), %r12     # 0x12f890
leaq 0xb70ed(%rip), %r13     # 0xf30a2
xorl %edi, %edi
xorl %esi, %esi
movq %r12, %rdx
movq 0x8(%rsp), %r15
movq %r15, %rcx
movq %r13, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0xc10(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rdx
movq %r15, %rcx
movq %r13, %r8
xorl %eax, %eax
callq 0x8550
leaq 0xb542c(%rip), %rsi     # 0xf1421
movq %rbp, %rdi
callq 0x8400
testq %rax, %rax
je 0x3c1c8
movq %rax, %r12
leaq 0xce420(%rip), %rdi     # 0x10a430
movl $0x33, %esi
movl $0x1, %edx
movq %rax, %rcx
callq 0x86d0
leaq 0xce43b(%rip), %rdi     # 0x10a464
movl $0x2f, %esi
movl $0x1, %edx
movq %r12, %rcx
callq 0x86d0
leaq 0xce452(%rip), %rsi     # 0x10a494
leaq 0xb61e8(%rip), %rdx     # 0xf2231
leaq 0xce47f(%rip), %rcx     # 0x10a4cf
movq %r12, %rdi
xorl %eax, %eax
callq 0x84e0
leaq 0xce474(%rip), %r13     # 0x10a4d5
movl $0x2, %esi
movl $0x1, %edx
movq %r13, %rdi
movq %r12, %rcx
callq 0x86d0
leaq 0xce45b(%rip), %rdi     # 0x10a4d8
movl $0x39, %esi
movl $0x1, %edx
movq %r12, %rcx
callq 0x86d0
movl $0x2, %esi
movl $0x1, %edx
movq %r13, %rdi
movq %r12, %rcx
callq 0x86d0
leaq 0xf37e5(%rip), %r13     # 0x12f890
leaq 0xce460(%rip), %r8      # 0x10a512
xorl %edi, %edi
xorl %esi, %esi
movq %r13, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
leaq 0x10(%rsp), %rbp
movq %rbp, %rdi
movq %r13, %rdx
movq %r15, %rcx
leaq 0xce435(%rip), %r8      # 0x10a512
xorl %eax, %eax
callq 0x8550
leaq 0xb5336(%rip), %rsi     # 0xf1421
movq %rbp, %rdi
callq 0x8400
testq %rax, %rax
je 0x3c212
movq %rax, %r15
leaq 0xce42b(%rip), %rdi     # 0x10a531
movl $0x2c, %esi
movl $0x1, %edx
movq %rax, %rcx
callq 0x86d0
leaq 0xce43f(%rip), %rdi     # 0x10a55e
movl $0x1f, %esi
movl $0x1, %edx
movq %r15, %rcx
callq 0x86d0
leaq 0xce39d(%rip), %rdi     # 0x10a4d5
movl $0x2, %esi
movl $0x1, %edx
movq %r15, %rcx
callq 0x86d0
cmpl $0x0, 0x8(%r14)
jle 0x3c198
leaq 0xb8039(%rip), %rbx     # 0xf4191
xorl %r13d, %r13d
xorl %ebp, %ebp
movq 0x20(%r14), %rax
movq 0x10(%r14), %rdx
addq %r13, %rdx
movq 0x18(%r14), %rcx
addq %r13, %rcx
cmpw $0x1, (%rax,%rbp,2)
movq %r15, %rdi
cmoveq %r12, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x84e0
incq %rbp
movslq 0x8(%r14), %rax
addq $0x400, %r13            # imm = 0x400
cmpq %rax, %rbp
jl 0x3c15d
leaq 0xce336(%rip), %rdi     # 0x10a4d5
movl $0x2, %esi
movl $0x1, %edx
movq %r12, %rcx
callq 0x86d0
movq %r12, %rdi
callq 0x83a0
movq %r15, %rdi
callq 0x83a0
xorl %eax, %eax
jmp 0x3beb7
leaq 0xb4819(%rip), %rsi     # 0xf09e8
leaq 0xce249(%rip), %rdx     # 0x10a41f
leaq 0xce24f(%rip), %r8      # 0x10a42c
leaq 0x410(%rsp), %r14
leaq 0xc10(%rsp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0xb1e36(%rip), %rsi     # 0xee034
leaq 0xce0d7(%rip), %rdx     # 0x10a2dc
movq %rbx, %rdi
movl $0x1cf5, %ecx           # imm = 0x1CF5
jmp 0x3bea8
leaq 0xb47cf(%rip), %rsi     # 0xf09e8
leaq 0xce304(%rip), %rdx     # 0x10a524
leaq 0xce205(%rip), %r8      # 0x10a42c
leaq 0x410(%rsp), %r14
leaq 0x10(%rsp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0xb1def(%rip), %rsi     # 0xee034
leaq 0xce090(%rip), %rdx     # 0x10a2dc
movq %rbx, %rdi
movl $0x1cfe, %ecx           # imm = 0x1CFE
jmp 0x3bea8
leaq 0x10(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x3bf9a
leaq 0x10(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x3bf9a
leaq 0xb6ef6(%rip), %rsi     # 0xf3184
leaq 0xce0b3(%rip), %rcx     # 0x10a348
leaq 0x410(%rsp), %r14
leaq 0x10(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0xb22d2(%rip), %rsi     # 0xee585
leaq 0xc10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0xb1d65(%rip), %rsi     # 0xee034
leaq 0xce006(%rip), %rdx     # 0x10a2dc
movq %rbx, %rdi
movl $0x1ce8, %ecx           # imm = 0x1CE8
jmp 0x3c337
leaq 0xb6e9d(%rip), %rsi     # 0xf3184
leaq 0xcdf93(%rip), %rcx     # 0x10a281
leaq 0x410(%rsp), %r14
leaq 0x10(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0xb2279(%rip), %rsi     # 0xee585
leaq 0xc10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0xb1d0c(%rip), %rsi     # 0xee034
leaq 0xcdfad(%rip), %rdx     # 0x10a2dc
movq %rbx, %rdi
movl $0x1ce7, %ecx           # imm = 0x1CE7
movq %r15, %r8
jmp 0x3beab