// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/lensing.c
// Function: lensing_cl_at_l
int lensing_cl_at_l(
                    struct lensing * ple,
                    int l,
                    double * cl_lensed    /* array with argument cl_lensed[index_ct] (must be already allocated) */
                    ) {
  int last_index;
  int index_lt;

  class_test(l > ple->l_lensed_max,
             ple->error_message,
             "you asked for lensed Cls at l=%d, they were computed only up to l=%d, you should increase l_max_scalars or decrease the precision parameter delta_l_max",l,ple->l_lensed_max);

  class_call(array_interpolate_spline(ple->l,
                                      ple->l_size,
                                      ple->cl_lens,
                                      ple->ddcl_lens,
                                      ple->lt_size,
                                      l,
                                      &last_index,
                                      cl_lensed,
                                      ple->lt_size,
                                      ple->error_message),
             ple->error_message,
             ple->error_message);

  /* set to zero for the types such that l<l_max */
  for (index_lt=0; index_lt<ple->lt_size; index_lt++)
    if ((int)l > ple->l_max_lt[index_lt])
      cl_lensed[index_lt]=0.;

  return _SUCCESS_;
}

// Assembly:
subq $0x1848, %rsp           # imm = 0x1848
movq %rdi, 0x1838(%rsp)
movl %esi, 0x1834(%rsp)
movq %rdx, 0x1828(%rsp)
movl 0x1834(%rsp), %eax
movq 0x1838(%rsp), %rcx
cmpl 0x5c(%rcx), %eax
jle 0x155ec4
leaq 0x1020(%rsp), %rdi
movl 0x1834(%rsp), %edx
movq 0x1838(%rsp), %rax
movl 0x5c(%rax), %ecx
leaq 0xb3c91(%rip), %rsi     # 0x209ae8
movb $0x0, %al
callq 0x5b9c0
leaq 0x820(%rsp), %rdi
leaq 0x1020(%rsp), %rcx
leaq 0x7c20d(%rip), %rsi     # 0x1d2082
leaq 0xb3d04(%rip), %rdx     # 0x209b80
movb $0x0, %al
callq 0x5b9c0
movq 0x1838(%rsp), %rdi
addq $0x92, %rdi
leaq 0x820(%rsp), %r8
leaq 0x7c193(%rip), %rsi     # 0x1d2034
leaq 0xb3cee(%rip), %rdx     # 0x209b96
movl $0x32, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x1844(%rsp)
jmp 0x156028
movq 0x1838(%rsp), %rax
movq 0x70(%rax), %rdi
movq 0x1838(%rsp), %rax
movl 0x60(%rax), %esi
movq 0x1838(%rsp), %rax
movq 0x78(%rax), %rdx
movq 0x1838(%rsp), %rax
movq 0x80(%rax), %rcx
movq 0x1838(%rsp), %rax
movl 0x54(%rax), %r8d
cvtsi2sdl 0x1834(%rsp), %xmm0
movq 0x1828(%rsp), %r11
movq 0x1838(%rsp), %rax
movl 0x54(%rax), %r10d
movq 0x1838(%rsp), %rax
addq $0x92, %rax
leaq 0x1824(%rsp), %r9
movq %r11, (%rsp)
movl %r10d, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x24220
cmpl $0x1, %eax
jne 0x155fb1
leaq 0x20(%rsp), %rdi
movq 0x1838(%rsp), %rcx
addq $0x92, %rcx
leaq 0x7c470(%rip), %rsi     # 0x1d23d8
leaq 0xb3c37(%rip), %rdx     # 0x209ba6
movb $0x0, %al
callq 0x5b9c0
movq 0x1838(%rsp), %rdi
addq $0x92, %rdi
leaq 0x20(%rsp), %r8
leaq 0x7c0a3(%rip), %rsi     # 0x1d2034
leaq 0xb3bfe(%rip), %rdx     # 0x209b96
movl $0x3f, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x1844(%rsp)
jmp 0x156028
movl $0x0, 0x1820(%rsp)
movl 0x1820(%rsp), %eax
movq 0x1838(%rsp), %rcx
cmpl 0x54(%rcx), %eax
jge 0x15601d
movl 0x1834(%rsp), %eax
movq 0x1838(%rsp), %rcx
movq 0x68(%rcx), %rcx
movslq 0x1820(%rsp), %rdx
cmpl (%rcx,%rdx,4), %eax
jle 0x156008
movq 0x1828(%rsp), %rax
movslq 0x1820(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
jmp 0x15600a
movl 0x1820(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1820(%rsp)
jmp 0x155fbc
movl $0x0, 0x1844(%rsp)
movl 0x1844(%rsp), %eax
addq $0x1848, %rsp           # imm = 0x1848
retq
nopw (%rax,%rax)