code: def fused_batch_normalization_backward(
      grad_inputs,
      inputs,
      input_shapes,
      outputs,
      output_shapes,
      axes=(1,),
      decay_rate=0.9,
      eps=1e-05,
      batch_stat=True,
      nonlinearity="relu",
  ):
      """
      Args:
        grad_inputs (list of :obj:`nnabla.Variable`): Propagated grads to this backward function.
        inputs (list of :obj:`nnabla.Variable` and None): Input Variables of the forward function
            if this backward function depends on it. Otherwise, None is set instead.
        input_shapes (list of tuple of :obj:`int`): Input shapes of the forward function.
            The shapes of the inputs in which None is set can be passed.
        outputs (list of :obj:`nnabla.Variable` and None): Output Variables of the forward function
            if this backward function depends on it. Otherwise, None is set instead.
        output_shapes (list of tuple of :obj:`int`): Output shapes of the forward function.
            The shapes of the outputs in which None is set can be passed.
        kwargs (dict of arguments): Dictionary of the corresponding function arguments.
  
      Return:
        list of Variable: Return the gradients wrt inputs of the corresponding function.
      """
      if nonlinearity not in ["", "relu"]:
          raise ValueError("nonlinearity must be either '' or 'relu'.")
      ctx = nn.get_current_context()
      df = FusedBatchNormalizationBackward(
          ctx, axes, decay_rate, eps, batch_stat, nonlinearity
      )
      dy = grad_inputs[0]
      x0 = inputs[0]
      b0 = inputs[1]
      g0 = inputs[2]
      rm = inputs[3]
      rv = inputs[4]
      z0 = inputs[5] if len(inputs) == 6 else None
      df.is_add = True if z0 else False
      y0 = outputs[0]
      if df.is_add:
          dx0, db0, dg0, dz0 = df(dy, x0, b0, g0, rm, rv, y0, z0)
          return dx0, db0, dg0, None, None, dz0
      else:
          dx0, db0, dg0 = df(dy, x0, b0, g0, rm, rv, y0)
          return dx0, db0, dg0, None, None
  
imports: import nnabla
  import nnabla.function
  import nnabla.functions
  from nnabla.function import PythonFunction
  from .batch_normalization import double_backward_for_batch
  from .batch_normalization import double_backward_for_global
  from .utils import no_grad
label_desc: Use image node_id 2 for calling a global function with example usage: fused_batch_normalization_backward(grad_inputs, inputs, input_shapes, outputs, output_shapes, axes, decay_rate, eps, batch_stat, nonlinearity) and returns: dx0,  db0,  dg0,  None,  None,  dz0, dx0,  db0,  dg0,  None,  None