code: def _output_stubs(self) -> str:
      # Generate python functions in the following format:
      # @extern.extern
      # def <op_name>(<args>, _builder=None):
      #   arg_type_symbol_dict = {[arg_type]: {(symbol, ret_type)}}
      #   return core.extern_elementwise("libdevice", <path>, <args>, <arg_type_symbol_dict>, _builder)
      import_str = "from . import core\n"
  
      header_str = ""
      func_str = ""
      for symbols in self._symbol_groups.values():
          func_str += "@core.extern\n"
          func_name_str = f"def {symbols[0].op_name}("
          for arg_name in symbols[0].arg_names:
              func_name_str += f"{arg_name}, "
          func_name_str += "_builder=None):\n"
  
          return_str = f'\treturn core.extern_elementwise("{self._name}", libdevice_path(), ['
          for arg_name in symbols[0].arg_names:
              return_str += f"{arg_name}, "
          return_str += "], \n"
  
          arg_type_symbol_dict_str = "{"
          for symbol in symbols:
              arg_type_symbol_dict_str += "("
              for arg_type in symbol.arg_types:
                  arg_type_symbol_dict_str += (
                      f'core.dtype("{arg_type}"),'
                  )
              ret_type = f'core.dtype("{symbol.ret_type}")'
              arg_type_symbol_dict_str += (
                  '): ("' + symbol.name + '", ' + ret_type + "),\n"
              )
          arg_type_symbol_dict_str += "}"
  
          return_str += arg_type_symbol_dict_str
          return_str += f", is_pure={self.is_pure}"
          return_str += ", _builder=_builder)\n"
  
          func_str += func_name_str + return_str + "\n"
      file_str = import_str + header_str + func_str
  
      return file_str
  
imports: import argparse
  import subprocess
  from abc import ABC, abstractmethod
  from typing import Dict, List, Optional
label_desc: Use image node_id 5 for calling the Libdevice obj's underlying member method code with example usage: obj._output_stubs() and returns: file_str