code: def test_map_overlap_multiarray_block_broadcast():
      def func(x, y):
          # Return result with expected padding
          z = x.size + y.size
          return np.ones((3, 3)) * z
  
      # Chunks in trailing dimension will be unified to two chunks of size 6
      # and block broadcast will allow chunks from x to repeat
      x = da.ones(
          (12,), chunks=12
      )  # numblocks = (1,) -> (2, 2) after broadcast
      y = da.ones((16, 12), chunks=(8, 6))  # numblocks = (2, 2)
      z = da.map_overlap(
          func,
          x,
          y,
          chunks=(3, 3),
          depth=1,
          trim=True,
          boundary="reflect",
      )
      assert_eq(z, z)
      assert z.shape == (2, 2)
      # func call will receive (8,) and (10, 8) arrays for each of 4 blocks
      assert_eq(z.sum(), 4.0 * (10 * 8 + 8))
  
imports: from __future__ import annotations
  import pytest
  import numpy
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  import dask.array
  from dask.array.lib.stride_tricks import sliding_window_view
  from dask.array.overlap import boundaries, constant, ensure_minimum_chunksize, nearest, overlap, overlap_internal, periodic, reflect, trim_internal
  from dask.array.utils import assert_eq, same_keys
label_desc: Use image node_id 20 for calling a global function with example usage: test_map_overlap_multiarray_block_broadcast() and returns: unknown