code: def use_c_gemv(fgraph, node):
      if not config.blas__ldflags:
          return
      # Only float32 and float64 are supported for now.
      if node.op == gemv_no_inplace and node.outputs[0].dtype in (
          "float32",
          "float64",
      ):
          return [cgemv_no_inplace(*node.inputs)]
      if node.op == gemv_inplace and node.outputs[0].dtype in (
          "float32",
          "float64",
      ):
          return [cgemv_inplace(*node.inputs)]
  
file_path: pytensor/pytensor/tensor/rewriting/blas_c.py
imports: from pytensor.configdefaults import config
  from pytensor.graph.rewriting.basic import in2out
  from pytensor.tensor import basic
  from pytensor.tensor.blas import gemv_inplace, gemv_no_inplace, ger, ger_destructive
  from pytensor.tensor.blas_c import CGemv, CGer, cgemv_inplace, cgemv_no_inplace, cger_inplace
  from pytensor.tensor.rewriting.blas import blas_optdb, node_rewriter, optdb
label_desc: Use image node_id 3 for calling a global function with example usage: use_c_gemv(fgraph, node) and returns: list, list