// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/output.c
// Function: output_one_line_of_cl
int output_one_line_of_cl(
                          struct background * pba,
                          struct harmonic * phr,
                          struct output * pop,
                          FILE * clfile,
                          double l,
                          double * cl, /* array with argument cl[index_ct] */
                          int ct_size
                          ) {
  int index_ct, index_ct_rest;
  double factor;

  factor = l*(l+1)/2./_PI_;

  fprintf(clfile," ");

  if (0==1){
    class_fprintf_int(clfile, (int)l, _TRUE_);
  }
  else{
    fprintf(clfile,"%4d ",(int)l);
  }

  if (pop->output_format == class_format) {

    for (index_ct=0; index_ct < ct_size; index_ct++) {
      class_fprintf_double(clfile, factor*cl[index_ct], _TRUE_);
    }
    fprintf(clfile,"\n");
  }

  if (pop->output_format == camb_format) {
    class_fprintf_double(clfile, factor*pow(pba->T_cmb*1.e6,2)*cl[phr->index_ct_tt], phr->has_tt);
    class_fprintf_double(clfile, factor*pow(pba->T_cmb*1.e6,2)*cl[phr->index_ct_ee], phr->has_ee);
    class_fprintf_double(clfile, factor*pow(pba->T_cmb*1.e6,2)*cl[phr->index_ct_bb], phr->has_bb);
    class_fprintf_double(clfile, factor*pow(pba->T_cmb*1.e6,2)*cl[phr->index_ct_te], phr->has_te);
    class_fprintf_double(clfile, l*(l+1)*factor*cl[phr->index_ct_pp], phr->has_pp);
    class_fprintf_double(clfile, sqrt(l*(l+1))*factor*pba->T_cmb*1.e6*cl[phr->index_ct_tp], phr->has_tp);
    class_fprintf_double(clfile, sqrt(l*(l+1))*factor*pba->T_cmb*1.e6*cl[phr->index_ct_ep], phr->has_ep);
    index_ct_rest = 0;
    if (phr->has_tt == _TRUE_)
      index_ct_rest++;
    if (phr->has_ee == _TRUE_)
      index_ct_rest++;
    if (phr->has_bb == _TRUE_)
      index_ct_rest++;
    if (phr->has_te == _TRUE_)
      index_ct_rest++;
    if (phr->has_pp == _TRUE_)
      index_ct_rest++;
    if (phr->has_tp == _TRUE_)
      index_ct_rest++;
    if (phr->has_ep == _TRUE_)
      index_ct_rest++;
    /* Now print the remaining (if any) entries:*/
    for (index_ct=index_ct_rest; index_ct < ct_size; index_ct++) {
      class_fprintf_double(clfile, factor*cl[index_ct], _TRUE_);
    }

    fprintf(clfile,"\n");

  }
  return _SUCCESS_;

}

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
movq %rdx, 0x80(%rsp)
movq %rcx, 0x78(%rsp)
movsd %xmm0, 0x70(%rsp)
movq %r8, 0x68(%rsp)
movl %r9d, 0x64(%rsp)
movsd 0x70(%rsp), %xmm0
movsd 0x16f6(%rip), %xmm1     # 0x1d2248
addsd 0x70(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd 0x211c(%rip), %xmm1     # 0x1d2c80
divsd %xmm1, %xmm0
movsd 0x4470(%rip), %xmm1     # 0x1d4fe0
divsd %xmm1, %xmm0
movsd %xmm0, 0x50(%rsp)
movq 0x78(%rsp), %rdi
leaq 0x1fefa(%rip), %rsi     # 0x1f0a80
movb $0x0, %al
callq 0x84e0
movq 0x78(%rsp), %rdi
cvttsd2si 0x70(%rsp), %edx
leaq 0x4490d(%rip), %rsi     # 0x2154ac
movb $0x0, %al
callq 0x84e0
movq 0x80(%rsp), %rax
cmpl $0x0, 0x40c(%rax)
jne 0x1d0c1b
movl $0x0, 0x60(%rsp)
movl 0x60(%rsp), %eax
cmpl 0x64(%rsp), %eax
jge 0x1d0c08
movq 0x78(%rsp), %rdi
movsd 0x50(%rsp), %xmm0
movq 0x68(%rsp), %rax
movslq 0x60(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x44585(%rip), %rsi     # 0x21516f
movl $0x18, %edx
movl $0xc, %ecx
movb $0x1, %al
callq 0x84e0
movl 0x60(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x60(%rsp)
jmp 0x1d0bbf
movq 0x78(%rsp), %rdi
leaq 0x1f630(%rip), %rsi     # 0x1f0244
movb $0x0, %al
callq 0x84e0
movq 0x80(%rsp), %rax
cmpl $0x1, 0x40c(%rax)
jne 0x1d10ce
movq 0x88(%rsp), %rax
cmpl $0x1, 0x30(%rax)
jne 0x1d0cb6
movq 0x78(%rsp), %rax
movq %rax, 0x40(%rsp)
movsd 0x50(%rsp), %xmm0
movsd %xmm0, 0x48(%rsp)
movq 0x90(%rsp), %rax
movsd 0x5874(%rip), %xmm0     # 0x1d64d8
mulsd 0x18(%rax), %xmm0
movsd 0x200f(%rip), %xmm1     # 0x1d2c80
callq 0x8610
movq 0x40(%rsp), %rdi
movaps %xmm0, %xmm1
movsd 0x48(%rsp), %xmm0
mulsd %xmm1, %xmm0
movq 0x68(%rsp), %rax
movq 0x88(%rsp), %rcx
movslq 0x64(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x444ca(%rip), %rsi     # 0x21516f
movl $0x18, %edx
movl $0xc, %ecx
movb $0x1, %al
callq 0x84e0
movq 0x88(%rsp), %rax
cmpl $0x1, 0x34(%rax)
jne 0x1d0d3c
movq 0x78(%rsp), %rax
movq %rax, 0x30(%rsp)
movsd 0x50(%rsp), %xmm0
movsd %xmm0, 0x38(%rsp)
movq 0x90(%rsp), %rax
movsd 0x57ee(%rip), %xmm0     # 0x1d64d8
mulsd 0x18(%rax), %xmm0
movsd 0x1f89(%rip), %xmm1     # 0x1d2c80
callq 0x8610
movq 0x30(%rsp), %rdi
movaps %xmm0, %xmm1
movsd 0x38(%rsp), %xmm0
mulsd %xmm1, %xmm0
movq 0x68(%rsp), %rax
movq 0x88(%rsp), %rcx
movslq 0x68(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x44444(%rip), %rsi     # 0x21516f
movl $0x18, %edx
movl $0xc, %ecx
movb $0x1, %al
callq 0x84e0
movq 0x88(%rsp), %rax
cmpl $0x1, 0x3c(%rax)
jne 0x1d0dc2
movq 0x78(%rsp), %rax
movq %rax, 0x20(%rsp)
movsd 0x50(%rsp), %xmm0
movsd %xmm0, 0x28(%rsp)
movq 0x90(%rsp), %rax
movsd 0x5768(%rip), %xmm0     # 0x1d64d8
mulsd 0x18(%rax), %xmm0
movsd 0x1f03(%rip), %xmm1     # 0x1d2c80
callq 0x8610
movq 0x20(%rsp), %rdi
movaps %xmm0, %xmm1
movsd 0x28(%rsp), %xmm0
mulsd %xmm1, %xmm0
movq 0x68(%rsp), %rax
movq 0x88(%rsp), %rcx
movslq 0x70(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x443be(%rip), %rsi     # 0x21516f
movl $0x18, %edx
movl $0xc, %ecx
movb $0x1, %al
callq 0x84e0
movq 0x88(%rsp), %rax
cmpl $0x1, 0x38(%rax)
jne 0x1d0e48
movq 0x78(%rsp), %rax
movq %rax, 0x10(%rsp)
movsd 0x50(%rsp), %xmm0
movsd %xmm0, 0x18(%rsp)
movq 0x90(%rsp), %rax
movsd 0x56e2(%rip), %xmm0     # 0x1d64d8
mulsd 0x18(%rax), %xmm0
movsd 0x1e7d(%rip), %xmm1     # 0x1d2c80
callq 0x8610
movq 0x10(%rsp), %rdi
movaps %xmm0, %xmm1
movsd 0x18(%rsp), %xmm0
mulsd %xmm1, %xmm0
movq 0x68(%rsp), %rax
movq 0x88(%rsp), %rcx
movslq 0x6c(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x44338(%rip), %rsi     # 0x21516f
movl $0x18, %edx
movl $0xc, %ecx
movb $0x1, %al
callq 0x84e0
movq 0x88(%rsp), %rax
cmpl $0x1, 0x40(%rax)
jne 0x1d0ea7
movq 0x78(%rsp), %rdi
movsd 0x70(%rsp), %xmm0
movsd 0x13df(%rip), %xmm1     # 0x1d2248
addsd 0x70(%rsp), %xmm1
mulsd %xmm1, %xmm0
mulsd 0x50(%rsp), %xmm0
movq 0x68(%rsp), %rax
movq 0x88(%rsp), %rcx
movslq 0x74(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x442d9(%rip), %rsi     # 0x21516f
movl $0x18, %edx
movl $0xc, %ecx
movb $0x1, %al
callq 0x84e0
movq 0x88(%rsp), %rax
cmpl $0x1, 0x44(%rax)
jne 0x1d0f2e
movq 0x78(%rsp), %rax
movq %rax, 0x8(%rsp)
movsd 0x70(%rsp), %xmm0
movsd 0x137b(%rip), %xmm1     # 0x1d2248
addsd 0x70(%rsp), %xmm1
mulsd %xmm1, %xmm0
callq 0x82e0
movq 0x8(%rsp), %rdi
mulsd 0x50(%rsp), %xmm0
movq 0x90(%rsp), %rax
mulsd 0x18(%rax), %xmm0
movsd 0x55dc(%rip), %xmm1     # 0x1d64d8
mulsd %xmm1, %xmm0
movq 0x68(%rsp), %rax
movq 0x88(%rsp), %rcx
movslq 0x78(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x44252(%rip), %rsi     # 0x21516f
movl $0x18, %edx
movl $0xc, %ecx
movb $0x1, %al
callq 0x84e0
movq 0x88(%rsp), %rax
cmpl $0x1, 0x48(%rax)
jne 0x1d0fb3
movq 0x78(%rsp), %rax
movq %rax, (%rsp)
movsd 0x70(%rsp), %xmm0
movsd 0x12f5(%rip), %xmm1     # 0x1d2248
addsd 0x70(%rsp), %xmm1
mulsd %xmm1, %xmm0
callq 0x82e0
movq (%rsp), %rdi
mulsd 0x50(%rsp), %xmm0
movq 0x90(%rsp), %rax
mulsd 0x18(%rax), %xmm0
movsd 0x5557(%rip), %xmm1     # 0x1d64d8
mulsd %xmm1, %xmm0
movq 0x68(%rsp), %rax
movq 0x88(%rsp), %rcx
movslq 0x7c(%rcx), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x441cd(%rip), %rsi     # 0x21516f
movl $0x18, %edx
movl $0xc, %ecx
movb $0x1, %al
callq 0x84e0
movl $0x0, 0x5c(%rsp)
movq 0x88(%rsp), %rax
cmpl $0x1, 0x30(%rax)
jne 0x1d0fd4
movl 0x5c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5c(%rsp)
movq 0x88(%rsp), %rax
cmpl $0x1, 0x34(%rax)
jne 0x1d0fed
movl 0x5c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5c(%rsp)
movq 0x88(%rsp), %rax
cmpl $0x1, 0x3c(%rax)
jne 0x1d1006
movl 0x5c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5c(%rsp)
movq 0x88(%rsp), %rax
cmpl $0x1, 0x38(%rax)
jne 0x1d101f
movl 0x5c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5c(%rsp)
movq 0x88(%rsp), %rax
cmpl $0x1, 0x40(%rax)
jne 0x1d1038
movl 0x5c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5c(%rsp)
movq 0x88(%rsp), %rax
cmpl $0x1, 0x44(%rax)
jne 0x1d1051
movl 0x5c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5c(%rsp)
movq 0x88(%rsp), %rax
cmpl $0x1, 0x48(%rax)
jne 0x1d106a
movl 0x5c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x5c(%rsp)
movl 0x5c(%rsp), %eax
movl %eax, 0x60(%rsp)
movl 0x60(%rsp), %eax
cmpl 0x64(%rsp), %eax
jge 0x1d10bb
movq 0x78(%rsp), %rdi
movsd 0x50(%rsp), %xmm0
movq 0x68(%rsp), %rax
movslq 0x60(%rsp), %rcx
mulsd (%rax,%rcx,8), %xmm0
leaq 0x440d2(%rip), %rsi     # 0x21516f
movl $0x18, %edx
movl $0xc, %ecx
movb $0x1, %al
callq 0x84e0
movl 0x60(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x60(%rsp)
jmp 0x1d1072
movq 0x78(%rsp), %rdi
leaq 0x1f17d(%rip), %rsi     # 0x1f0244
movb $0x0, %al
callq 0x84e0
xorl %eax, %eax
addq $0x98, %rsp
retq
nopl (%rax,%rax)