code: def test_grad_grad(self, cls_ofg):
      x, y, z = T.matrices("xyz")
      e = x + y * z
      op = cls_ofg([x, y, z], [e])
      f = op(x, y, z)
      f = f - T.grad(T.sum(f), y)
      f = f - T.grad(T.sum(f), y)
      fn = function([x, y, z], f)
      xv = np.ones((2, 2), dtype=config.floatX)
      yv = np.ones((2, 2), dtype=config.floatX) * 3
      zv = np.ones((2, 2), dtype=config.floatX) * 5
      assert np.allclose(6.0, fn(xv, yv, zv))
  
imports: from __future__ import absolute_import, print_function, division
  from functools import partial
  import numpy
  import theano
  from theano import config, shared
  from theano.gradient import DisconnectedType
  from theano.gof.null_type import NullType
  from theano.compile import function
  from theano import tensor
  from theano.tensor.shared_randomstreams import RandomStreams
  from theano.compile.builders import OpFromGraph
  from theano.tests import unittest_tools
label_desc: Use image node_id 4 for calling the T_OpFromGraph obj's underlying member method code with example usage: obj.test_grad_grad(cls_ofg) without return types