code: def create_name_header(output_dir):
      routine_re = re.compile(
          r"^      (subroutine|.* function)\s+(\w+)\(.*$", re.I
      )
      extern_re = re.compile(r"^extern [a-z]+ ([a-z0-9_]+)\(.*$")
  
      # BLAS/LAPACK symbols
      symbols = set(["xerbla"])
      for fn in os.listdir(output_dir):
          fn = os.path.join(output_dir, fn)
  
          if not fn.endswith(".f"):
              continue
  
          with open(fn) as f:
              for line in f:
                  m = routine_re.match(line)
                  if m:
                      symbols.add(m.group(2).lower())
  
      # f2c symbols
      f2c_symbols = set()
      with open("f2c.h") as f:
          for line in f:
              m = extern_re.match(line)
              if m:
                  f2c_symbols.add(m.group(1))
  
      with open(
          os.path.join(output_dir, "lapack_lite_names.h"), "w"
      ) as f:
          f.write(HEADER_BLURB)
          f.write(
              "/*\n"
              " * This file renames all BLAS/LAPACK and f2c symbols to avoid\n"
              " * dynamic symbol name conflicts, in cases where e.g.\n"
              " * integer sizes do not match with 'standard' ABI.\n"
              " */\n"
          )
  
          # Rename BLAS/LAPACK symbols
          for name in sorted(symbols):
              f.write("#define %s_ BLAS_FUNC(%s)\n" % (name, name))
  
          # Rename also symbols that f2c exports itself
          f.write("\n" "/* Symbols exported by f2c.c */\n")
          for name in sorted(f2c_symbols):
              f.write(
                  "#define %s numpy_lapack_lite_%s\n" % (name, name)
              )
  
imports: import sys
  import os
  import re
  import subprocess
  import shutil
  import fortran
  import clapack_scrub
label_desc: Use image node_id 9 for calling a global function with example usage: create_name_header(output_dir) without return types