code: def get_jvp_coverage(subset=None):
      # - number that support autograd
      # - number that support forward_ad (in pytorch core)
      # - number that support functorch.jvp
      op_to_opinfo = get_ops_covered_by_opinfos()
      ops_dct = tested_overridable_outplace_ops
      if subset is not None:
          ops_dct = {
              name: op
              for name, op in ops_dct.items()
              if remove_torch(name) in subset
          }
      supports_autograd_ops_dct = {
          name: op_to_opinfo[fn]
          for name, fn in ops_dct.items()
          if op_to_opinfo[fn][0].supports_autograd
      }
      supports_forwardad_ops_dct = {
          name: op_to_opinfo[fn]
          for name, fn in ops_dct.items()
          if op_to_opinfo[fn][0].supports_forward_ad
      }
  
      ops = {remove_torch(test) for test in list(ops_dct.keys())}
      supports_autograd = {
          remove_torch(test)
          for test in list(supports_autograd_ops_dct.keys())
      }
      supports_forward_ad = {
          remove_torch(test)
          for test in list(supports_forwardad_ops_dct.keys())
      }
      assert supports_forward_ad.issubset(supports_autograd)
      assert supports_autograd.issubset(ops)
  
      failed_ops = get_skipped_or_xfailed_ops_for("test_jvp")
  
      coverage = len(supports_forward_ad - failed_ops)
      no_forward_ad = len(supports_autograd) - len(supports_forward_ad)
      print(f"test_jvp, {coverage}, {no_forward_ad}, {len(ops)}")
  
imports: import torch
  import copy
  from torch.testing._internal.common_methods_invocations import op_db
  from functorch_additional_op_db import additional_op_db
  from enum import Enum
  import torch._functorch.top_operators_github_usage
  import pprint
  import unittest
  import enum
  from torch.testing._internal.common_device_type import toleranceOverride
  import test_ops
  import test_vmap
label_desc: Use image node_id 19 for calling a global function with example usage: get_jvp_coverage(subset) without return types