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

  *neglect = _FALSE_;

  if (_scalars_) {

    if ((ppt->has_cl_cmb_temperature == _TRUE_) && (index_tt == ptr->index_tt_t0) && (l < (k-ppr->transfer_neglect_delta_k_S_t0)*ra_rec)) *neglect = _TRUE_;

    else if ((ppt->has_cl_cmb_temperature == _TRUE_) && (index_tt == ptr->index_tt_t1) && (l < (k-ppr->transfer_neglect_delta_k_S_t1)*ra_rec)) *neglect = _TRUE_;

    else if ((ppt->has_cl_cmb_temperature == _TRUE_) && (index_tt == ptr->index_tt_t2) && (l < (k-ppr->transfer_neglect_delta_k_S_t2)*ra_rec)) *neglect = _TRUE_;

    else if ((ppt->has_cl_cmb_polarization == _TRUE_) && (index_tt == ptr->index_tt_e) && (l < (k-ppr->transfer_neglect_delta_k_S_e)*ra_rec)) *neglect = _TRUE_;

  }

  else if (_vectors_) {

    if ((ppt->has_cl_cmb_temperature == _TRUE_) && (index_tt == ptr->index_tt_t1) && (l < (k-ppr->transfer_neglect_delta_k_V_t1)*ra_rec)) *neglect = _TRUE_;

    else if ((ppt->has_cl_cmb_temperature == _TRUE_) && (index_tt == ptr->index_tt_t2) && (l < (k-ppr->transfer_neglect_delta_k_V_t2)*ra_rec)) *neglect = _TRUE_;

    else if ((ppt->has_cl_cmb_polarization == _TRUE_) && (index_tt == ptr->index_tt_e) && (l < (k-ppr->transfer_neglect_delta_k_V_e)*ra_rec)) *neglect = _TRUE_;

    else if ((ppt->has_cl_cmb_polarization == _TRUE_) && (index_tt == ptr->index_tt_b) && (l < (k-ppr->transfer_neglect_delta_k_V_b)*ra_rec)) *neglect = _TRUE_;

  }

  else if (_tensors_) {

    if ((ppt->has_cl_cmb_temperature == _TRUE_) && (index_tt == ptr->index_tt_t2) && (l < (k-ppr->transfer_neglect_delta_k_T_t2)*ra_rec)) *neglect = _TRUE_;

    else if ((ppt->has_cl_cmb_polarization == _TRUE_) && (index_tt == ptr->index_tt_e) && (l < (k-ppr->transfer_neglect_delta_k_T_e)*ra_rec)) *neglect = _TRUE_;

    else if ((ppt->has_cl_cmb_polarization == _TRUE_) && (index_tt == ptr->index_tt_b) && (l < (k-ppr->transfer_neglect_delta_k_T_b)*ra_rec)) *neglect = _TRUE_;

  }

  return _SUCCESS_;

}

// Assembly:
movq 0x8(%rsp), %rax
andw $0x0, (%rax)
cmpw $0x1, 0xe(%rsi)
jne 0xa7191
cmpl %ecx, 0x848(%rsi)
jne 0xa7191
cmpw $0x1, 0x28(%rsi)
jne 0xa716c
cmpl %r9d, 0x8a8(%rdx)
jne 0xa7126
movapd %xmm1, %xmm3
subsd 0x790(%rdi), %xmm3
mulsd %xmm0, %xmm3
ucomisd %xmm2, %xmm3
ja 0xa72b0
cmpl %r9d, 0x8ac(%rdx)
jne 0xa7149
movapd %xmm1, %xmm3
subsd 0x798(%rdi), %xmm3
mulsd %xmm0, %xmm3
ucomisd %xmm2, %xmm3
ja 0xa72b0
cmpl %r9d, 0x8b0(%rdx)
jne 0xa716c
movapd %xmm1, %xmm3
subsd 0x7a0(%rdi), %xmm3
mulsd %xmm0, %xmm3
ucomisd %xmm2, %xmm3
ja 0xa72b0
cmpw $0x1, 0x2a(%rsi)
jne 0xa72b5
cmpl %r9d, 0x8b4(%rdx)
jne 0xa72b5
subsd 0x7a8(%rdi), %xmm1
jmp 0xa72a6
cmpw $0x1, 0x10(%rsi)
jne 0xa723a
cmpl %ecx, 0x850(%rsi)
jne 0xa723a
cmpw $0x1, 0x28(%rsi)
jne 0xa71f5
cmpl %r9d, 0x8ac(%rdx)
jne 0xa71d2
movapd %xmm1, %xmm3
subsd 0x7b0(%rdi), %xmm3
mulsd %xmm0, %xmm3
ucomisd %xmm2, %xmm3
ja 0xa72b0
cmpl %r9d, 0x8b0(%rdx)
jne 0xa71f5
movapd %xmm1, %xmm3
subsd 0x7b8(%rdi), %xmm3
mulsd %xmm0, %xmm3
ucomisd %xmm2, %xmm3
ja 0xa72b0
cmpw $0x1, 0x2a(%rsi)
jne 0xa72b5
cmpl %r9d, 0x8b4(%rdx)
jne 0xa7223
movapd %xmm1, %xmm3
subsd 0x7c0(%rdi), %xmm3
mulsd %xmm0, %xmm3
ucomisd %xmm2, %xmm3
ja 0xa72b0
cmpl %r9d, 0x8b8(%rdx)
jne 0xa72b5
subsd 0x7c8(%rdi), %xmm1
jmp 0xa72a6
cmpw $0x1, 0x12(%rsi)
jne 0xa72b5
cmpl %ecx, 0x84c(%rsi)
jne 0xa72b5
cmpw $0x1, 0x28(%rsi)
jne 0xa726f
cmpl %r9d, 0x8b0(%rdx)
jne 0xa726f
movapd %xmm1, %xmm3
subsd 0x7d0(%rdi), %xmm3
mulsd %xmm0, %xmm3
ucomisd %xmm2, %xmm3
ja 0xa72b0
cmpw $0x1, 0x2a(%rsi)
jne 0xa72b5
cmpl %r9d, 0x8b4(%rdx)
jne 0xa7295
movapd %xmm1, %xmm3
subsd 0x7d8(%rdi), %xmm3
mulsd %xmm0, %xmm3
ucomisd %xmm2, %xmm3
ja 0xa72b0
cmpl %r9d, 0x8b8(%rdx)
jne 0xa72b5
subsd 0x7e0(%rdi), %xmm1
mulsd %xmm0, %xmm1
ucomisd %xmm2, %xmm1
jbe 0xa72b5
movw $0x1, (%rax)
xorl %eax, %eax
retq