def METHOD_NAME(self, inputs, outputs, propagate_down, accum):
    if not propagate_down[0]:
        return
    gdx = inputs[0].grad
    x0 = inputs[1].data
    gdy = outputs[0].grad
    inputs_fwd, outputs_fwd = self._create_fwd_inputs_outputs(
        inputs, outputs)
    vx0 = inputs_fwd[0]
    vx1 = inputs_fwd[1]
    vy0 = outputs_fwd[0]
    vx0.data = gdy
    vx1.data = x0
    if accum[0]:
        self._func.forward(inputs_fwd, outputs_fwd)
        gdx += vy0.data
    else:
        vy0.data = gdx
        self._func.forward(inputs_fwd, outputs_fwd)