// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/lensing.c
// Function: lensing_lensed_cl_ee_bb
int lensing_lensed_cl_ee_bb(
                            double *ksip,
                            double *ksim,
                            double **d22,
                            double **d2m2,
                            double *w8,
                            int nmu,
                            struct lensing * ple
                            ) {

  int index_l;

  class_setup_parallel();
  /** Integration by Gauss-Legendre quadrature. **/
  for (index_l=0; index_l < ple->l_size; index_l++){
    class_run_parallel(=,
      double clp;
      double clm;
      int imu;
      clp=0; clm=0;
      for (imu=0;imu<nmu;imu++) {
        clp += ksip[imu]*d22[imu][(int)ple->l[index_l]]*w8[imu]; /* loop could be optimized */
        clm += ksim[imu]*d2m2[imu][(int)ple->l[index_l]]*w8[imu]; /* loop could be optimized */
      }
      ple->cl_lens[index_l*ple->lt_size+ple->index_lt_ee]=(clp+clm)*_PI_;
      ple->cl_lens[index_l*ple->lt_size+ple->index_lt_bb]=(clp-clm)*_PI_;
      return _SUCCESS_;
    );
  }
  class_finish_parallel();

  return _SUCCESS_;
}

// Assembly:
subq $0x118, %rsp            # imm = 0x118
movq 0x120(%rsp), %rax
movq %rdi, 0x108(%rsp)
movq %rsi, 0x100(%rsp)
movq %rdx, 0xf8(%rsp)
movq %rcx, 0xf0(%rsp)
movq %r8, 0xe8(%rsp)
movl %r9d, 0xe4(%rsp)
callq 0x2edc0
movl %eax, %esi
leaq 0xa0(%rsp), %rdi
callq 0x2ef50
leaq 0x88(%rsp), %rdi
callq 0x2f070
movl $0x0, 0xe0(%rsp)
movl 0xe0(%rsp), %eax
movq 0x120(%rsp), %rcx
cmpl 0x60(%rcx), %eax
jge 0x160534
movl 0xe4(%rsp), %eax
movl %eax, 0x38(%rsp)
movq 0x108(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0xf8(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x120(%rsp), %rax
movq %rax, 0x50(%rsp)
movl 0xe0(%rsp), %eax
movl %eax, 0x58(%rsp)
movq 0xe8(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x100(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x78(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x38(%rsp), %rdx
callq 0x160ae0
jmp 0x1604d0
leaq 0x88(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x2f080
jmp 0x1604e4
leaq 0x78(%rsp), %rdi
callq 0x2f0b0
movl 0xe0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xe0(%rsp)
jmp 0x16043b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x30(%rsp)
movl %eax, 0x2c(%rsp)
jmp 0x160606
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x30(%rsp)
movl %eax, 0x2c(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x2f0b0
jmp 0x160606
leaq 0x88(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rdi
callq 0x2f0c0
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
callq 0x2f0f0
movq %rax, 0x10(%rsp)
leaq 0x18(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x2f120
testb $0x1, %al
jne 0x160574
jmp 0x1605bd
leaq 0x18(%rsp), %rdi
callq 0x2f160
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0x2f170
movl %eax, (%rsp)
jmp 0x160592
movl (%rsp), %eax
cmpl $0x0, %eax
je 0x1605af
movl $0x1, 0x114(%rsp)
movl $0x1, 0x4(%rsp)
jmp 0x1605dd
jmp 0x1605b1
leaq 0x18(%rsp), %rdi
callq 0x2f1f0
jmp 0x16055f
leaq 0x88(%rsp), %rdi
callq 0x2f210
movl $0x0, 0x114(%rsp)
movl $0x1, 0x4(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x2f230
leaq 0xa0(%rsp), %rdi
callq 0x2f290
movl 0x114(%rsp), %eax
addq $0x118, %rsp            # imm = 0x118
retq
leaq 0x88(%rsp), %rdi
callq 0x2f230
leaq 0xa0(%rsp), %rdi
callq 0x2f290
movq 0x30(%rsp), %rdi
callq 0x8640
nopw (%rax,%rax)