def METHOD_NAME(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)