// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/perturbations.c
// Function: perturbations_output_firstline_and_ic_suffix
int perturbations_output_firstline_and_ic_suffix(
                                                 struct perturbations *ppt,
                                                 int index_ic,
                                                 char first_line[_LINE_LENGTH_MAX_],
                                                 char ic_suffix[_SUFFIXNAMESIZE_]
                                                 ){

  first_line[0]='\0';
  ic_suffix[0]='\0';

  if ((ppt->has_ad == _TRUE_) && (index_ic == ppt->index_ic_ad)) {
    strcpy(ic_suffix,"ad");
    strcpy(first_line,"for adiabatic (AD) mode (normalized to initial curvature=1) ");
  }

  if ((ppt->has_bi == _TRUE_) && (index_ic == ppt->index_ic_bi)) {
    strcpy(ic_suffix,"bi");
    strcpy(first_line,"for baryon isocurvature (BI) mode (normalized to initial entropy=1)");
  }

  if ((ppt->has_cdi == _TRUE_) && (index_ic == ppt->index_ic_cdi)) {
    strcpy(ic_suffix,"cdi");
    strcpy(first_line,"for CDM isocurvature (CDI) mode (normalized to initial entropy=1)");
  }

  if ((ppt->has_nid == _TRUE_) && (index_ic == ppt->index_ic_nid)) {
    strcpy(ic_suffix,"nid");
    strcpy(first_line,"for neutrino density isocurvature (NID) mode (normalized to initial entropy=1)");
  }

  if ((ppt->has_niv == _TRUE_) && (index_ic == ppt->index_ic_niv)) {
    strcpy(ic_suffix,"niv");
    strcpy(first_line,"for neutrino velocity isocurvature (NIV) mode (normalized to initial entropy=1)");
  }
  return _SUCCESS_;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movl %esi, 0x1c(%rsp)
movq %rdx, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
movq 0x10(%rsp), %rax
movb $0x0, (%rax)
movq 0x8(%rsp), %rax
movb $0x0, (%rax)
movq 0x20(%rsp), %rax
movswl 0x14(%rax), %eax
cmpl $0x1, %eax
jne 0xca678
movl 0x1c(%rsp), %eax
movq 0x20(%rsp), %rcx
cmpl 0x858(%rcx), %eax
jne 0xca678
movq 0x8(%rsp), %rdi
leaq 0x11e459(%rip), %rsi    # 0x1e8abb
callq 0x8370
movq 0x10(%rsp), %rdi
leaq 0x12ca28(%rip), %rsi    # 0x1f709b
callq 0x8370
movq 0x20(%rsp), %rax
movswl 0x16(%rax), %eax
cmpl $0x1, %eax
jne 0xca6b9
movl 0x1c(%rsp), %eax
movq 0x20(%rsp), %rcx
cmpl 0x860(%rcx), %eax
jne 0xca6b9
movq 0x8(%rsp), %rdi
leaq 0x11dc26(%rip), %rsi    # 0x1e82c9
callq 0x8370
movq 0x10(%rsp), %rdi
leaq 0x12ca24(%rip), %rsi    # 0x1f70d8
callq 0x8370
movq 0x20(%rsp), %rax
movswl 0x18(%rax), %eax
cmpl $0x1, %eax
jne 0xca6fa
movl 0x1c(%rsp), %eax
movq 0x20(%rsp), %rcx
cmpl 0x85c(%rcx), %eax
jne 0xca6fa
movq 0x8(%rsp), %rdi
leaq 0x11dcb7(%rip), %rsi    # 0x1e839b
callq 0x8370
movq 0x10(%rsp), %rdi
leaq 0x12ca27(%rip), %rsi    # 0x1f711c
callq 0x8370
movq 0x20(%rsp), %rax
movswl 0x1a(%rax), %eax
cmpl $0x1, %eax
jne 0xca73b
movl 0x1c(%rsp), %eax
movq 0x20(%rsp), %rcx
cmpl 0x864(%rcx), %eax
jne 0xca73b
movq 0x8(%rsp), %rdi
leaq 0x11dd4a(%rip), %rsi    # 0x1e846f
callq 0x8370
movq 0x10(%rsp), %rdi
leaq 0x12ca28(%rip), %rsi    # 0x1f715e
callq 0x8370
movq 0x20(%rsp), %rax
movswl 0x1c(%rax), %eax
cmpl $0x1, %eax
jne 0xca77c
movl 0x1c(%rsp), %eax
movq 0x20(%rsp), %rcx
cmpl 0x868(%rcx), %eax
jne 0xca77c
movq 0x8(%rsp), %rdi
leaq 0x11dddd(%rip), %rsi    # 0x1e8543
callq 0x8370
movq 0x10(%rsp), %rdi
leaq 0x12ca36(%rip), %rsi    # 0x1f71ad
callq 0x8370
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)