code: def test_gh3937():
      # test for github issue #3937
      x = da.from_array([1, 2, 3.0], (2,))
      x = da.concatenate((x, [x[-1]]))
      y = x.rechunk((2,))
      # This will produce Integral type indices that are not ints (np.int64), failing
      # the optimizer
      y = da.coarsen(np.sum, y, {0: 2})
      # How to trigger the optimizer explicitly?
      y.compute()
  
imports: from __future__ import annotations
  import pytest
  import numpy
  import dask
  import dask.array
  from dask.array.chunk import getitem
  from dask.array.core import getter
  from dask.array.core import getter_nofancy
  from dask.array.optimization import _is_getter_task, fuse_slice, optimize, optimize_blockwise, optimize_slices
  from dask.array.utils import assert_eq
  from dask.highlevelgraph import HighLevelGraph
  from dask.optimization import SubgraphCallable, fuse
  from dask.utils import SerializableLock
label_desc: Use image node_id 24 for calling a global function with example usage: test_gh3937() without return types