code: def tile(cls, op: "TensorDiff"):
      axis = op.axis
      n = op.n
      a = astensor(op.inputs[0])
  
      slc1 = (slice(None),) * axis + (slice(1, None),)
      slc2 = (slice(None),) * axis + (slice(-1),)
  
      for _ in range(n):
          l = yield from recursive_tile(a[slc1])
          r = (yield from recursive_tile(a[slc2])).rechunk(l.nsplits)
          a = yield from recursive_tile(l - r)
  
      return [a]
  
file_path: mars/mars/tensor/base/diff.py
imports: from ...serialization.serializables import Int64Field, Int32Field
  from ...core import recursive_tile
  from ..operands import TensorOperand, TensorOperandMixin
  from ..utils import validate_axis
  from ..datasource import tensor
label_desc: Use image node_id 2 for calling the TensorDiff obj's underlying member method code with example usage: obj.tile(cls, op) and returns: list