// File: /workspace/github_c_makefile_star2_O1/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, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0xd004f(%rip), %rsi     # 0x10d259
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %r14, %r8
callq 0x1ec10
cmpl $0x1, %eax
jne 0x3d26a
leaq 0xb41ca(%rip), %rsi     # 0xf13f0
leaq 0xd003d(%rip), %rdx     # 0x10d26a
xorl %r13d, %r13d
leaq 0x410(%rsp), %r12
movq %r12, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0xb3de8(%rip), %rsi     # 0xf1034
leaq 0xd0061(%rip), %rdx     # 0x10d2b4
movq %r14, %rdi
movl $0x1ce7, %ecx           # imm = 0x1CE7
movq %r12, %r8
xorl %eax, %eax
callq 0x30c2c
xorl %r12d, %r12d
jmp 0x3d2dd
cmpl $0x0, (%rsp)
jne 0x3d29f
leaq 0xd004e(%rip), %rsi     # 0x10d2c5
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %rbx, %rdi
movq %r14, %r8
callq 0x1ec10
cmpl $0x1, %eax
jne 0x3d29f
leaq 0xb415a(%rip), %rsi     # 0xf13f0
leaq 0xd0039(%rip), %rdx     # 0x10d2d6
jmp 0x3d22d
cmpl $0x1, (%rsp)
jne 0x3d2d7
leaq 0x10(%rsp), %rdi
movl $0x79, %esi
callq 0x30ddf
movb $0x1, %r12b
testl %eax, %eax
jne 0x3d2d2
leaq 0x10(%rsp), %rdi
movl $0x59, %esi
callq 0x30ddf
testl %eax, %eax
je 0x3d70c
movb $0x1, %r13b
jmp 0x3d2dd
movb $0x1, %r12b
xorl %r13d, %r13d
movl $0x1, %ebp
testb %r12b, %r12b
je 0x3d6f8
leaq 0xd002e(%rip), %rsi     # 0x10d320
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %rbx, %rdi
movq %r14, %r8
callq 0x1ec10
cmpl $0x1, %eax
movl %r13d, 0x4(%rsp)
jne 0x3d35a
leaq 0xb40da(%rip), %rsi     # 0xf13f0
leaq 0xd0012(%rip), %rdx     # 0x10d32f
xorl %r13d, %r13d
leaq 0x410(%rsp), %r12
movq %r12, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0xb3cf8(%rip), %rsi     # 0xf1034
leaq 0xcff71(%rip), %rdx     # 0x10d2b4
movq %r14, %rdi
movl $0x1ce8, %ecx           # imm = 0x1CE8
movq %r12, %r8
xorl %eax, %eax
callq 0x30c2c
xorl %r12d, %r12d
jmp 0x3d3cd
cmpl $0x0, (%rsp)
jne 0x3d38f
leaq 0xd0010(%rip), %rsi     # 0x10d377
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %rbx, %rdi
movq %r14, %r8
callq 0x1ec10
cmpl $0x1, %eax
jne 0x3d38f
leaq 0xb406a(%rip), %rsi     # 0xf13f0
leaq 0xcfff9(%rip), %rdx     # 0x10d386
jmp 0x3d31d
cmpl $0x1, (%rsp)
jne 0x3d3c7
leaq 0x10(%rsp), %rdi
movl $0x79, %esi
callq 0x30ddf
movb $0x1, %r12b
testl %eax, %eax
jne 0x3d3c2
leaq 0x10(%rsp), %rdi
movl $0x59, %esi
callq 0x30ddf
testl %eax, %eax
je 0x3d79c
movb $0x1, %r13b
jmp 0x3d3cd
movb $0x1, %r12b
xorl %r13d, %r13d
testb %r12b, %r12b
je 0x3d6f8
movq %r15, 0x8(%rsp)
testb %r13b, %r13b
je 0x3d434
cmpl $0x0, 0x8(%rbx)
jle 0x3d434
movq 0x10eb53(%rip), %r13    # 0x14bf40
leaq 0xcffda(%rip), %r12     # 0x10d3ce
xorl %ebp, %ebp
xorl %r15d, %r15d
movq 0x20(%rbx), %rax
cmpw $0x0, (%rax,%r15,2)
jne 0x3d421
movq (%r13), %rdi
movq 0x10(%rbx), %rdx
addq %rbp, %rdx
movq 0x18(%rbx), %rcx
addq %rbp, %rcx
movq %r12, %rsi
xorl %eax, %eax
callq 0x84e0
incq %r15
movslq 0x8(%rbx), %rax
addq $0x400, %rbp            # imm = 0x400
cmpq %rax, %r15
jl 0x3d3f9
xorl %ebp, %ebp
cmpb $0x0, 0x4(%rsp)
je 0x3d6f8
leaq 0xf5418(%rip), %r12     # 0x132860
leaq 0xb8c2b(%rip), %r13     # 0xf607a
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 0xb6f82(%rip), %rsi     # 0xf4411
movq %rbp, %rdi
callq 0x8400
testq %rax, %rax
je 0x3d660
movq %rax, %r12
leaq 0xcff5e(%rip), %rdi     # 0x10d408
movl $0x33, %esi
movl $0x1, %edx
movq %rax, %rcx
callq 0x86d0
leaq 0xcff79(%rip), %rdi     # 0x10d43c
movl $0x2f, %esi
movl $0x1, %edx
movq %r12, %rcx
callq 0x86d0
leaq 0xcff90(%rip), %rsi     # 0x10d46c
leaq 0xb7d3e(%rip), %rdx     # 0xf5221
leaq 0xcffbd(%rip), %rcx     # 0x10d4a7
movq %r12, %rdi
xorl %eax, %eax
callq 0x84e0
leaq 0xcffb2(%rip), %r13     # 0x10d4ad
movl $0x2, %esi
movl $0x1, %edx
movq %r13, %rdi
movq %r12, %rcx
callq 0x86d0
leaq 0xcff99(%rip), %rdi     # 0x10d4b0
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 0xf531b(%rip), %r13     # 0x132860
leaq 0xcff9e(%rip), %rbp     # 0x10d4ea
xorl %edi, %edi
xorl %esi, %esi
movq %r13, %rdx
movq %r15, %rcx
movq %rbp, %r8
xorl %eax, %eax
callq 0x8550
incl %eax
movslq %eax, %rsi
movq %r15, %rcx
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r13, %rdx
movq %rbp, %r8
xorl %eax, %eax
callq 0x8550
leaq 0xb6e8d(%rip), %rsi     # 0xf4411
movq %r15, %rdi
callq 0x8400
testq %rax, %rax
je 0x3d6a7
movq %rax, %r15
leaq 0xcff6a(%rip), %rdi     # 0x10d509
movl $0x2c, %esi
movl $0x1, %edx
movq %rax, %rcx
callq 0x86d0
leaq 0xcff7e(%rip), %rdi     # 0x10d536
movl $0x1f, %esi
movl $0x1, %edx
movq %r15, %rcx
callq 0x86d0
leaq 0xcfedc(%rip), %rdi     # 0x10d4ad
movl $0x2, %esi
movl $0x1, %edx
movq %r15, %rcx
callq 0x86d0
cmpl $0x0, 0x8(%rbx)
jle 0x3d630
leaq 0xb9b79(%rip), %r14     # 0xf7169
xorl %r13d, %r13d
xorl %ebp, %ebp
movq 0x20(%rbx), %rax
cmpw $0x1, (%rax,%rbp,2)
movq %r15, %rdi
cmoveq %r12, %rdi
movq 0x10(%rbx), %rdx
addq %r13, %rdx
movq 0x18(%rbx), %rcx
addq %r13, %rcx
movq %r14, %rsi
xorl %eax, %eax
callq 0x84e0
incq %rbp
movslq 0x8(%rbx), %rax
addq $0x400, %r13            # imm = 0x400
cmpq %rax, %rbp
jl 0x3d5f5
leaq 0xcfe76(%rip), %rdi     # 0x10d4ad
movl $0x2, %esi
movl $0x1, %edx
movq %r12, %rcx
callq 0x86d0
movq %r12, %rdi
callq 0x83a0
movq %r15, %rdi
callq 0x83a0
xorl %ebp, %ebp
jmp 0x3d6f8
leaq 0xb6371(%rip), %rsi     # 0xf39d8
leaq 0xcfd89(%rip), %rdx     # 0x10d3f7
leaq 0xcfd8f(%rip), %r8      # 0x10d404
leaq 0x410(%rsp), %rbx
leaq 0xc10(%rsp), %rcx
movq %rbx, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0xb399e(%rip), %rsi     # 0xf1034
leaq 0xcfc17(%rip), %rdx     # 0x10d2b4
movq %r14, %rdi
movl $0x1cf5, %ecx           # imm = 0x1CF5
jmp 0x3d6e9
leaq 0xb632a(%rip), %rsi     # 0xf39d8
leaq 0xcfe47(%rip), %rdx     # 0x10d4fc
leaq 0xcfd48(%rip), %r8      # 0x10d404
leaq 0x410(%rsp), %rbx
leaq 0x10(%rsp), %rcx
movq %rbx, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0xb395a(%rip), %rsi     # 0xf1034
leaq 0xcfbd3(%rip), %rdx     # 0x10d2b4
movq %r14, %rdi
movl $0x1cfe, %ecx           # imm = 0x1CFE
movq %rbx, %r8
xorl %eax, %eax
callq 0x30c2c
movl $0x1, %ebp
movl %ebp, %eax
addq $0x1418, %rsp           # imm = 0x1418
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x10(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ddf
testl %eax, %eax
jne 0x3d2da
leaq 0x10(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ddf
testl %eax, %eax
jne 0x3d2da
leaq 0xb8a1b(%rip), %rsi     # 0xf615c
leaq 0xcfb11(%rip), %rcx     # 0x10d259
leaq 0x410(%rsp), %r12
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0xb3e1f(%rip), %rsi     # 0xf1585
leaq 0xc10(%rsp), %r13
movq %r13, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0x30c2c
leaq 0xb38b2(%rip), %rsi     # 0xf1034
leaq 0xcfb2b(%rip), %rdx     # 0x10d2b4
movq %r14, %rdi
movl $0x1ce7, %ecx           # imm = 0x1CE7
movq %r13, %r8
xorl %r13d, %r13d
jmp 0x3d25e
leaq 0x10(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ddf
testl %eax, %eax
jne 0x3d3ca
leaq 0x10(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ddf
testl %eax, %eax
jne 0x3d3ca
leaq 0xb898b(%rip), %rsi     # 0xf615c
leaq 0xcfb48(%rip), %rcx     # 0x10d320
xorl %r13d, %r13d
leaq 0x410(%rsp), %r12
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0xb3d8c(%rip), %rsi     # 0xf1585
leaq 0xc10(%rsp), %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0x30c2c
leaq 0xb3822(%rip), %rsi     # 0xf1034
leaq 0xcfa9b(%rip), %rdx     # 0x10d2b4
movq %r14, %rdi
movl $0x1ce8, %ecx           # imm = 0x1CE8
leaq 0xc10(%rsp), %r8
jmp 0x3d34e