def METHOD_NAME(self, inputs, outputs, propagate_down, accum):
    if not propagate_down[0]:
        return
    gdy = inputs[0].grad
    gdx_list = [output.grad for output in outputs]
    inputs_fwd, outputs_fwd = self._create_fwd_inputs_outputs(
        inputs, outputs)
    vx_list = inputs_fwd
    vy = outputs_fwd[0]
    for gdx, vx in zip(gdx_list, vx_list):
        vx.data = gdx
    if accum[0]:
        self._func.forward(inputs_fwd, outputs_fwd)
        gdy += vy.data
    else:
        vy.data = gdy
        self._func.forward(inputs_fwd, outputs_fwd)