// File: /workspace/github_c_makefile_star2_O2/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 0xc8862(%rip), %rsi     # 0x101149
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %rbx, %r8
callq 0x1caf9
cmpl $0x1, %eax
jne 0x3893a
leaq 0xacaed(%rip), %rsi     # 0xe53f0
leaq 0xc8850(%rip), %rdx     # 0x10115a
leaq 0x410(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0xac70e(%rip), %rsi     # 0xe5034
leaq 0xc8877(%rip), %rdx     # 0x1011a4
movq %rbx, %rdi
movl $0x1ce7, %ecx           # imm = 0x1CE7
jmp 0x38a1d
movl (%rsp), %eax
testl %eax, %eax
jne 0x38973
leaq 0xc886d(%rip), %rsi     # 0x1011b5
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %r14, %rdi
movq %rbx, %r8
callq 0x1caf9
cmpl $0x1, %eax
jne 0x38970
leaq 0xaca89(%rip), %rsi     # 0xe53f0
leaq 0xc8858(%rip), %rdx     # 0x1011c6
jmp 0x3890a
movl (%rsp), %eax
cmpl $0x1, %eax
jne 0x389c3
leaq 0x10(%rsp), %rdi
pushq $0x79
popq %rsi
callq 0x2e1bc
movb $0x1, %bpl
testl %eax, %eax
jne 0x389c5
leaq 0x10(%rsp), %rdi
pushq $0x59
popq %rsi
callq 0x2e1bc
testl %eax, %eax
jne 0x389c5
leaq 0x10(%rsp), %rdi
pushq $0x6e
popq %rsi
callq 0x2e1bc
testl %eax, %eax
jne 0x389c3
leaq 0x10(%rsp), %rdi
pushq $0x4e
popq %rsi
callq 0x2e1bc
testl %eax, %eax
je 0x38dbc
xorl %ebp, %ebp
leaq 0xc8844(%rip), %rsi     # 0x101210
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %r14, %rdi
movq %rbx, %r8
callq 0x1caf9
cmpl $0x1, %eax
jne 0x38a3c
leaq 0xaca05(%rip), %rsi     # 0xe53f0
leaq 0xc882d(%rip), %rdx     # 0x10121f
leaq 0x410(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0xac626(%rip), %rsi     # 0xe5034
leaq 0xc878f(%rip), %rdx     # 0x1011a4
movq %rbx, %rdi
movl $0x1ce8, %ecx           # imm = 0x1CE8
movq %r14, %r8
xorl %eax, %eax
callq 0x2e014
pushq $0x1
popq %rax
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 0x38a75
leaq 0xc881d(%rip), %rsi     # 0x101267
leaq 0x10(%rsp), %rdx
movq %rsp, %rcx
movq %r14, %rdi
movq %rbx, %r8
callq 0x1caf9
cmpl $0x1, %eax
jne 0x38a72
leaq 0xac987(%rip), %rsi     # 0xe53f0
leaq 0xc8806(%rip), %rdx     # 0x101276
jmp 0x389f2
movl (%rsp), %eax
movl %ebp, 0x4(%rsp)
movq %r15, 0x8(%rsp)
cmpl $0x1, %eax
jne 0x38b1f
leaq 0x10(%rsp), %rdi
pushq $0x79
popq %rsi
callq 0x2e1bc
testl %eax, %eax
jne 0x38aa9
leaq 0x10(%rsp), %rdi
pushq $0x59
popq %rsi
callq 0x2e1bc
testl %eax, %eax
je 0x38af9
movq 0x10a4a0(%rip), %r13    # 0x142f50
leaq 0xc8807(%rip), %r12     # 0x1012be
xorl %ebp, %ebp
xorl %r15d, %r15d
movslq 0x8(%r14), %rax
cmpq %rax, %r15
jge 0x38b1f
movq 0x20(%r14), %rax
cmpw $0x0, (%rax,%r15,2)
jne 0x38aed
movq (%r13), %rdi
movq 0x10(%r14), %rdx
addq %rbp, %rdx
movq 0x18(%r14), %rcx
addq %rbp, %rcx
movq %r12, %rsi
xorl %eax, %eax
callq 0x8510
incq %r15
addq $0x400, %rbp            # imm = 0x400
jmp 0x38abc
leaq 0x10(%rsp), %rdi
pushq $0x6e
popq %rsi
callq 0x2e1bc
testl %eax, %eax
jne 0x38b1f
leaq 0x10(%rsp), %rdi
pushq $0x4e
popq %rsi
callq 0x2e1bc
testl %eax, %eax
je 0x38e15
xorl %eax, %eax
cmpb $0x0, 0x4(%rsp)
je 0x38a2a
leaq 0xedbcd(%rip), %r12     # 0x126700
leaq 0xb1430(%rip), %r13     # 0xe9f6a
xorl %edi, %edi
xorl %esi, %esi
movq %r12, %rdx
movq 0x8(%rsp), %r15
movq %r15, %rcx
movq %r13, %r8
xorl %eax, %eax
callq 0x8580
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 0x8580
leaq 0xaf867(%rip), %rsi     # 0xe83e1
movq %rbp, %rdi
callq 0x8420
testq %rax, %rax
je 0x38d2b
movq %rax, %r12
leaq 0xc8763(%rip), %rdi     # 0x1012f8
pushq $0x33
popq %rsi
pushq $0x1
popq %r13
movq %r13, %rdx
movq %rax, %rcx
callq 0x8700
leaq 0xc877e(%rip), %rdi     # 0x10132c
pushq $0x2f
popq %rsi
movq %r13, %rdx
movq %r12, %rcx
callq 0x8700
leaq 0xc8799(%rip), %rsi     # 0x10135c
leaq 0xb0587(%rip), %rdx     # 0xe9151
leaq 0xc87c6(%rip), %rcx     # 0x101397
movq %r12, %rdi
xorl %eax, %eax
callq 0x8510
leaq 0xc87bb(%rip), %rbp     # 0x10139d
pushq $0x2
popq %rsi
movq %rbp, %rdi
movq %r13, %rdx
movq %r12, %rcx
callq 0x8700
leaq 0xc87a6(%rip), %rdi     # 0x1013a0
pushq $0x39
popq %rsi
movq %r13, %rdx
movq %r12, %rcx
callq 0x8700
movq %rbp, %rdi
pushq $0x2
popq %rsi
movq %r13, %rdx
movq %r12, %rcx
callq 0x8700
leaq 0xedae0(%rip), %r13     # 0x126700
leaq 0xc87b3(%rip), %r8      # 0x1013da
xorl %edi, %edi
xorl %esi, %esi
movq %r13, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x8580
incl %eax
movslq %eax, %rsi
leaq 0x10(%rsp), %rbp
movq %rbp, %rdi
movq %r13, %rdx
movq %r15, %rcx
leaq 0xc8788(%rip), %r8      # 0x1013da
xorl %eax, %eax
callq 0x8580
leaq 0xaf781(%rip), %rsi     # 0xe83e1
movq %rbp, %rdi
callq 0x8420
testq %rax, %rax
je 0x38d75
movq %rax, %r15
leaq 0xc877e(%rip), %rdi     # 0x1013f9
pushq $0x2c
popq %rsi
pushq $0x1
popq %rbx
movq %rbx, %rdx
movq %rax, %rcx
callq 0x8700
leaq 0xc8793(%rip), %rdi     # 0x101426
pushq $0x1f
popq %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x8700
leaq 0xc86f5(%rip), %rdi     # 0x10139d
pushq $0x2
popq %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x8700
leaq 0xb239c(%rip), %rbx     # 0xeb059
xorl %r13d, %r13d
xorl %ebp, %ebp
movslq 0x8(%r14), %rax
cmpq %rax, %rbp
jge 0x38cff
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 0x8510
incq %rbp
addq $0x400, %r13            # imm = 0x400
jmp 0x38cc2
leaq 0xc8697(%rip), %rdi     # 0x10139d
pushq $0x2
popq %rsi
pushq $0x1
popq %rdx
movq %r12, %rcx
callq 0x8700
movq %r12, %rdi
callq 0x83c0
movq %r15, %rdi
callq 0x83c0
xorl %eax, %eax
jmp 0x38a2a
leaq 0xaec76(%rip), %rsi     # 0xe79a8
leaq 0xc85ae(%rip), %rdx     # 0x1012e7
leaq 0xc85b4(%rip), %r8      # 0x1012f4
leaq 0x410(%rsp), %r14
leaq 0xc10(%rsp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0xac2d3(%rip), %rsi     # 0xe5034
leaq 0xc843c(%rip), %rdx     # 0x1011a4
movq %rbx, %rdi
movl $0x1cf5, %ecx           # imm = 0x1CF5
jmp 0x38a1d
leaq 0xaec2c(%rip), %rsi     # 0xe79a8
leaq 0xc8669(%rip), %rdx     # 0x1013ec
leaq 0xc856a(%rip), %r8      # 0x1012f4
leaq 0x410(%rsp), %r14
leaq 0x10(%rsp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0xac28c(%rip), %rsi     # 0xe5034
leaq 0xc83f5(%rip), %rdx     # 0x1011a4
movq %rbx, %rdi
movl $0x1cfe, %ecx           # imm = 0x1CFE
jmp 0x38a1d
leaq 0xb1289(%rip), %rsi     # 0xea04c
leaq 0xc837f(%rip), %rcx     # 0x101149
leaq 0x410(%rsp), %r14
leaq 0x10(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0xac79d(%rip), %rsi     # 0xe5585
leaq 0xc10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x2e014
leaq 0xac230(%rip), %rsi     # 0xe5034
leaq 0xc8399(%rip), %rdx     # 0x1011a4
movq %rbx, %rdi
movl $0x1ce7, %ecx           # imm = 0x1CE7
jmp 0x38e6c
leaq 0xb1230(%rip), %rsi     # 0xea04c
leaq 0xc83ed(%rip), %rcx     # 0x101210
leaq 0x410(%rsp), %r14
leaq 0x10(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0xac744(%rip), %rsi     # 0xe5585
leaq 0xc10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x2e014
leaq 0xac1d7(%rip), %rsi     # 0xe5034
leaq 0xc8340(%rip), %rdx     # 0x1011a4
movq %rbx, %rdi
movl $0x1ce8, %ecx           # imm = 0x1CE8
movq %r15, %r8
jmp 0x38a20