code: def is_viable_expansion(inst: Instruction) -> bool:
      "An instruction can be expanded if all its parts are viable for tier 2"
      for part in inst.parts:
          if isinstance(part, Uop):
              # Skip specializing and replaced uops
              if "specializing" in part.annotations:
                  continue
              if "replaced" in part.annotations:
                  continue
              if part.properties.tier_one_only or not part.is_viable():
                  return False
      return True
  
imports: import argparse
  import os.path
  import sys
  from analyzer import Analysis, Instruction, analyze_files, Skip, Uop
  from generators_common import DEFAULT_INPUT, ROOT, write_header, cflags, StackOffset
  from cwriter import CWriter
  from typing import TextIO
  from stack import get_stack_effect
label_desc: Use image node_id 13 for calling a global function with example usage: is_viable_expansion(inst) and returns: True, False