code: def test_bin_execution(setup):
      from ...arithmetic import (
          BIN_UFUNC,
          mod,
          fmod,
          bitand,
          bitor,
          bitxor,
          lshift,
          rshift,
          ldexp,
          logical_and,
          logical_or,
      )
  
      _sp_bin_ufunc = [
          mod,
          fmod,
          bitand,
          bitor,
          bitxor,
          lshift,
          rshift,
          logical_and,
          logical_or,
      ]
      _new_bin_ufunc = list(BIN_UFUNC - set(_sp_bin_ufunc) - {ldexp})
  
      tested = set()
      rs = np.random.RandomState(0)
      for func1, func2 in _gen_pairs(_new_bin_ufunc):
          raw = rs.random((9, 9, 9))
          arr1 = tensor(raw, chunk_size=5)
  
          arr2 = func1(1, func2(2, arr1))
          res = arr2.execute().fetch()
          res_cmp = arr2.execute(fuse_enabled=False).fetch()
          np.testing.assert_array_almost_equal(res, res_cmp)
          tested.update([func1, func2])
      # make sure all functions tested
      assert tested == set(_new_bin_ufunc)
  
      tested = set()
      for func1, func2 in _gen_pairs(_sp_bin_ufunc):
          raw = rs.randint(1, 100, size=(10, 10, 10))
          arr1 = tensor(raw, chunk_size=6)
  
          arr2 = func1(10, func2(arr1, 5))
          res = arr2.execute().fetch()
          res_cmp = arr2.execute(fuse_enabled=False).fetch()
          np.testing.assert_array_almost_equal(res, res_cmp)
          tested.update([func1, func2])
      # make sure all functions tested
      assert tested == set(_sp_bin_ufunc)
  
file_path: mars/mars/tensor/fuse/tests/test_numexpr_execution.py
imports: import numpy
  from ....utils import ignore_warning
  from ...arithmetic import abs
  from ...datasource import tensor, arange
  from ...reduction import sum
label_desc: Use image node_id 4 for calling a global function with example usage: test_bin_execution(setup) without return types