code: def backward(self, indexes, grad_outputs):
      inputs = self.get_retained_inputs()
      e1, e2, W = inputs[:3]
      (gy,) = grad_outputs
  
      if len(inputs) == 6:
          V1, V2 = inputs[3], inputs[4]
          return BilinearFunctionGrad().apply((e1, e2, W, V1, V2, gy))
      return BilinearFunctionGrad().apply((e1, e2, W, gy))
  
imports: import numpy
  import chainer
  from chainer import backend
  from chainer import function_node
  from chainer.utils import type_check
label_desc: Use image node_id 3 for calling the BilinearFunction obj's underlying member method code with example usage: obj.backward(indexes, grad_outputs) and returns: BilinearFunctionGrad, BilinearFunctionGrad