code: def _get_indices_dual_monotonic_decreasing(
      left_region: np.ndarray,
      right_region: np.ndarray,
      left_index: np.ndarray,
      right_index: np.ndarray,
      search_indices: np.ndarray,
  ):
      """
      Retrieve matching indices. Applies to dual non-equi joins.
      It is assumed that the left_region is cumulative decreasing.
      """
      length = right_region.size
      sizes = np.empty(length, dtype=np.intp)
      counts = 0
      for num in prange(length):
          end = search_indices[num]
          arr = left_region[:end]
          pos = arr.size - np.searchsorted(
              arr[::-1], right_region[num], side="right"
          )
          size = end - pos
          counts += size
          sizes[num] = size
  
      starts = np.empty(right_region.size, dtype=np.intp)
      starts[0] = 0
      starts[1:] = np.cumsum(sizes)[:-1]
      l_index = np.empty(counts, dtype=np.intp)
      r_index = np.empty(counts, dtype=np.intp)
      for num in prange(right_region.size):
          ind = starts[num]
          start = search_indices[num] - 1
          size = sizes[num]
          r_ind = right_index[num]
          for n in range(size):
              indexer = ind + n
              l_index[indexer] = left_index[start - n]
              r_index[indexer] = r_ind
      return l_index, r_index
  
file_path: pyjanitor/janitor/functions/_numba.py
imports: import numpy
  import pandas
  from numba import njit, prange
  from pandas.api.types import is_datetime64_dtype, is_extension_array_dtype
  from janitor.functions.utils import _generic_func_cond_join, _null_checks_cond_join, greater_than_join_types, less_than_join_types
label_desc: Use image node_id 7 for calling a global function with example usage: _get_indices_dual_monotonic_decreasing(left_region, right_region, left_index, right_index, search_indices) and returns: l_index,  r_index