code: def _is_compatible_symbolic_array(a, b):
      """
      A helper function which check if two numpy array with symbolic value.
      For instance, a = np.array([is0, is2])
                    b = np.array([is1, 1])
      are considered compatible.
                    a = np.array([is0, 1])
                    b = np.array([is1, -1])
      are not.
      """
      if not a.shape == b.shape:
          return False
      a = a.flatten()
      b = b.flatten()
      for t, v in zip(a, b):
          if not is_symbolic(t) and not is_symbolic(v):
              if t != v:
                  return False
      return True
  
imports: import logging
  import numpy
  import six
  from coremltools.converters.mil.mil import types
  from coremltools.converters.mil.mil.types.symbolic import is_symbolic, any_symbolic
  from .None import SPACES
  from .block import curr_block, _check_is_compatible_type
  from .input_type import TupleInputType
  from .var import Var, InternalVar, ListVar
label_desc: Use image node_id 1 for calling a global function with example usage: _is_compatible_symbolic_array(a, b) and returns: True, False, False