// File: /workspace/github_c_makefile_star2_O0/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
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq %rdx, -0x18(%rsp)
movl %ecx, -0x1c(%rsp)
movl %r8d, -0x20(%rsp)
movl %r9d, -0x24(%rsp)
movsd %xmm0, -0x30(%rsp)
movsd %xmm1, -0x38(%rsp)
movsd %xmm2, -0x40(%rsp)
movq 0x8(%rsp), %rax
movw $0x0, (%rax)
movq -0x10(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0x140984
movl -0x1c(%rsp), %eax
movq -0x10(%rsp), %rcx
cmpl 0x848(%rcx), %eax
jne 0x140984
movq -0x10(%rsp), %rax
movswl 0x28(%rax), %eax
cmpl $0x1, %eax
jne 0x140888
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8a8(%rcx), %eax
jne 0x140888
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x790(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x140888
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x14097f
movq -0x10(%rsp), %rax
movswl 0x28(%rax), %eax
cmpl $0x1, %eax
jne 0x1408db
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8ac(%rcx), %eax
jne 0x1408db
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x798(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1408db
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x14097d
movq -0x10(%rsp), %rax
movswl 0x28(%rax), %eax
cmpl $0x1, %eax
jne 0x14092b
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b0(%rcx), %eax
jne 0x14092b
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x7a0(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x14092b
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x14097b
movq -0x10(%rsp), %rax
movswl 0x2a(%rax), %eax
cmpl $0x1, %eax
jne 0x140979
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b4(%rcx), %eax
jne 0x140979
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x7a8(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x140979
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x14097b
jmp 0x14097d
jmp 0x14097f
jmp 0x140c1c
movq -0x10(%rsp), %rax
movswl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x140afa
movl -0x1c(%rsp), %eax
movq -0x10(%rsp), %rcx
cmpl 0x850(%rcx), %eax
jne 0x140afa
movq -0x10(%rsp), %rax
movswl 0x28(%rax), %eax
cmpl $0x1, %eax
jne 0x1409fe
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8ac(%rcx), %eax
jne 0x1409fe
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x7b0(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1409fe
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140af5
movq -0x10(%rsp), %rax
movswl 0x28(%rax), %eax
cmpl $0x1, %eax
jne 0x140a51
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b0(%rcx), %eax
jne 0x140a51
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x7b8(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x140a51
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140af3
movq -0x10(%rsp), %rax
movswl 0x2a(%rax), %eax
cmpl $0x1, %eax
jne 0x140aa1
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b4(%rcx), %eax
jne 0x140aa1
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x7c0(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x140aa1
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140af1
movq -0x10(%rsp), %rax
movswl 0x2a(%rax), %eax
cmpl $0x1, %eax
jne 0x140aef
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b8(%rcx), %eax
jne 0x140aef
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x7c8(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x140aef
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140af1
jmp 0x140af3
jmp 0x140af5
jmp 0x140c1a
movq -0x10(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x140c18
movl -0x1c(%rsp), %eax
movq -0x10(%rsp), %rcx
cmpl 0x84c(%rcx), %eax
jne 0x140c18
movq -0x10(%rsp), %rax
movswl 0x28(%rax), %eax
cmpl $0x1, %eax
jne 0x140b74
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b0(%rcx), %eax
jne 0x140b74
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x7d0(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x140b74
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140c16
movq -0x10(%rsp), %rax
movswl 0x2a(%rax), %eax
cmpl $0x1, %eax
jne 0x140bc4
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b4(%rcx), %eax
jne 0x140bc4
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x7d8(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x140bc4
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140c14
movq -0x10(%rsp), %rax
movswl 0x2a(%rax), %eax
cmpl $0x1, %eax
jne 0x140c12
movl -0x24(%rsp), %eax
movq -0x18(%rsp), %rcx
cmpl 0x8b8(%rcx), %eax
jne 0x140c12
movsd -0x40(%rsp), %xmm1
movsd -0x38(%rsp), %xmm0
movq -0x8(%rsp), %rax
subsd 0x7e0(%rax), %xmm0
mulsd -0x30(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x140c12
movq 0x8(%rsp), %rax
movw $0x1, (%rax)
jmp 0x140c14
jmp 0x140c16
jmp 0x140c18
jmp 0x140c1a
jmp 0x140c1c
xorl %eax, %eax
retq
nop