// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/transfer.c
// Function: transfer_late_source_can_be_neglected
int transfer_late_source_can_be_neglected(
                                          struct precision * ppr,
                                          struct perturbations * ppt,
                                          struct transfer * ptr,
                                          int index_md,
                                          int index_tt,
                                          double l,
                                          short * neglect) {

  *neglect = _FALSE_;

  if (l > ppr->transfer_neglect_late_source*ptr->angular_rescaling) {

    /* sources at late times can be neglected for CMB, excepted when
       there is a LISW: this means for tt_t1, t2, e */

    if (_scalars_) {
      if (ppt->has_cl_cmb_temperature == _TRUE_) {
        if ((index_tt == ptr->index_tt_t1) ||
            (index_tt == ptr->index_tt_t2))
          *neglect = _TRUE_;
      }
      if (ppt->has_cl_cmb_polarization == _TRUE_) {
        if (index_tt == ptr->index_tt_e)
          *neglect = _TRUE_;
      }
    }
    else if (_vectors_) {
      if (ppt->has_cl_cmb_temperature == _TRUE_) {
        if ((index_tt == ptr->index_tt_t1) ||
            (index_tt == ptr->index_tt_t2))
          *neglect = _TRUE_;
      }
      if (ppt->has_cl_cmb_polarization == _TRUE_) {
        if ((index_tt == ptr->index_tt_e) ||
            (index_tt == ptr->index_tt_b))
          *neglect = _TRUE_;
      }
    }
    else if (_tensors_) {
      if (ppt->has_cl_cmb_polarization == _TRUE_) {
        if ((index_tt == ptr->index_tt_e) ||
            (index_tt == ptr->index_tt_b))
          *neglect = _TRUE_;
      }
    }
  }

  return _SUCCESS_;

}

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq %rdx, -0x18(%rsp)
movl %ecx, -0x1c(%rsp)
movl %r8d, -0x20(%rsp)
movsd %xmm0, -0x28(%rsp)
movq %r9, -0x30(%rsp)
movq -0x30(%rsp), %rax
movw $0x0, (%rax)
movsd -0x28(%rsp), %xmm0
movq -0x8(%rsp), %rax
movsd 0x7e8(%rax), %xmm1
movq -0x18(%rsp), %rax
mulsd 0x918(%rax), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x140e02
movq -0x10(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0x140d02
movl -0x1c(%rsp), %eax
movq -0x10(%rsp), %rcx
cmpl 0x848(%rcx), %eax
jne 0x140d02
movq -0x10(%rsp), %rax
movswl 0x28(%rax), %eax
cmpl $0x1, %eax
jne 0x140cd2
movl -0x20(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8ac(%rcx), %eax
je 0x140cc6
movl -0x20(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b0(%rcx), %eax
jne 0x140cd0
movq -0x30(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140cd2
movq -0x10(%rsp), %rax
movswl 0x2a(%rax), %eax
cmpl $0x1, %eax
jne 0x140cfd
movl -0x20(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b4(%rcx), %eax
jne 0x140cfb
movq -0x30(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140cfd
jmp 0x140e00
movq -0x10(%rsp), %rax
movswl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x140d9f
movl -0x1c(%rsp), %eax
movq -0x10(%rsp), %rcx
cmpl 0x850(%rcx), %eax
jne 0x140d9f
movq -0x10(%rsp), %rax
movswl 0x28(%rax), %eax
cmpl $0x1, %eax
jne 0x140d61
movl -0x20(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8ac(%rcx), %eax
je 0x140d55
movl -0x20(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b0(%rcx), %eax
jne 0x140d5f
movq -0x30(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140d61
movq -0x10(%rsp), %rax
movswl 0x2a(%rax), %eax
cmpl $0x1, %eax
jne 0x140d9d
movl -0x20(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b4(%rcx), %eax
je 0x140d91
movl -0x20(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b8(%rcx), %eax
jne 0x140d9b
movq -0x30(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140d9d
jmp 0x140dfe
movq -0x10(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x140dfc
movl -0x1c(%rsp), %eax
movq -0x10(%rsp), %rcx
cmpl 0x84c(%rcx), %eax
jne 0x140dfc
movq -0x10(%rsp), %rax
movswl 0x2a(%rax), %eax
cmpl $0x1, %eax
jne 0x140dfa
movl -0x20(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b4(%rcx), %eax
je 0x140dee
movl -0x20(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b8(%rcx), %eax
jne 0x140df8
movq -0x30(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140dfa
jmp 0x140dfc
jmp 0x140dfe
jmp 0x140e00
jmp 0x140e02
xorl %eax, %eax
retq
nopw %cs:(%rax,%rax)