code: def test_registered_decomposition(self):
      @torch.jit.script
      def foo(x):
          return torch.square(x)
  
      @torch.jit.script
      def square_decomp(x):
          return torch.pow(x, 2)
  
      torch.jit._register_decomposition(
          torch.ops.aten.square.default, square_decomp.graph
      )
      torch._C._jit_pass_run_decompositions(foo.graph)
      FileCheck().check_not("aten::square").check("aten::pow").run(
          foo.graph
      )
      x = torch.rand([4])
      self.assertEqual(foo(x), torch.square(x))
  
imports: import torch
  from torch.testing import FileCheck
  from torch.testing._internal.jit_utils import JitTestCase
label_desc: Use image node_id 2 for calling the TestOpDecompositions obj's underlying member method code with example usage: obj.test_registered_decomposition() and returns: torch, torch