code: def where(condition, x, y):
      """Selecting elements from either x or y depending on the value of the
      condition.
  
      .. note::
          Shapes of condition, x, and y must be broadcastable to a common shape.
          Semantics follow numpy where function
          https://numpy.org/doc/stable/reference/generated/numpy.where.html
  
      Parameters
      ----------
      condition : relay.Expr
          Where True, yield x, otherwise yield y
  
      x : relay.Expr
          The first array or scalar to be selected.
  
      y : relay.Expr
          The second array or scalar to be selected.
  
      Returns
      -------
      result : relay.Expr
          The selected array. The output shape is the broadcasted shape from
          condition, x, and y.
  
      Examples
      --------
      .. code-block:: python
  
          x = [[1, 2], [3, 4]]
          y = [[5, 6], [7, 8]]
          condition = [[0, 1], [-1, 0]]
          relay.where(conditon, x, y) = [[5, 2], [3, 8]]
  
          condition = [[1], [0]]
          relay.where(conditon, x, y) = [[1, 2], [7, 8]]
      """
      return _make.where(condition, x, y)
  
imports: from ...tir import expr
  from ..expr import Constant, Expr, Tuple, TupleWrapper, const
  from .None import _make
  from .dyn import _make
  from .tensor import shape_of
label_desc: Use image node_id 22 for calling a global function with example usage: where(condition, x, y) and returns: _make