code: def testDeeplyNestedDifferentiableFunctionGradientTapeInMultNestedDefun(
      self,
  ):
      @polymorphic_function.function
      def inner_inner_fn(a, b):
          return math_ops.add(a, b)
  
      @polymorphic_function.function
      def inner_fn(a, b):
          return inner_inner_fn(a, b)
  
      @polymorphic_function.function
      def middle_fn(a, b):
          return a * inner_fn(a, b)
  
      @polymorphic_function.function
      def almost_outer_fn(x):
          with backprop.GradientTape() as tp:
              tp.watch(x)
              result = middle_fn(x, 1.0)
          grad = tp.gradient(result, x)
          return grad
  
      @polymorphic_function.function
      def outer_fn(x):
          return almost_outer_fn(x)
  
      @polymorphic_function.function
      def outer_outer_fn(x):
          return outer_fn(x)
  
      x = constant_op.constant(5.0)
      grad = outer_outer_fn(x)
      self.assertAllEqual(grad, 2 * 5.0 + 1.0)
  
imports: from absl.testing import parameterized
  from tensorflow.python.eager import backprop
  from tensorflow.python.eager import context
  from tensorflow.python.eager.polymorphic_function import polymorphic_function
  from tensorflow.python.framework import config
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import indexed_slices
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import cond
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_grad
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.ops import variables
  from tensorflow.python.ops import while_loop
  from tensorflow.python.platform import test
label_desc: Use image node_id 33 for calling the FunctionGradientsTest obj's underlying member method code with example usage: obj.testDeeplyNestedDifferentiableFunctionGradientTapeInMultNestedDefun() and returns: math_ops, inner_inner_fn, unknown, grad, almost_outer_fn, outer_fn