code: def _print_Function(self, e):
      if e in self._known_functions:
          op = self._known_functions[e]
      elif type(e) in self._known_functions:
          op = self._known_functions[type(e)]
      elif type(type(e)) == UndefinedFunction:
          op = e.name
      elif (
          isinstance(e, AppliedBinaryRelation)
          and e.function in self._known_functions
      ):
          op = self._known_functions[e.function]
          return self._s_expr(op, e.arguments)
      else:
          op = self._known_functions[e]  # throw KeyError
  
      return self._s_expr(op, e.args)
  
imports: import typing
  import sympy
  from sympy.core import Add, Mul
  from sympy.core import Symbol, Expr, Float, Rational, Integer, Basic
  from sympy.core.function import UndefinedFunction, Function
  from sympy.core.relational import Relational, Unequality, Equality, LessThan, GreaterThan, StrictLessThan, StrictGreaterThan
  from sympy.functions.elementary.complexes import Abs
  from sympy.functions.elementary.exponential import exp, log, Pow
  from sympy.functions.elementary.hyperbolic import sinh, cosh, tanh
  from sympy.functions.elementary.miscellaneous import Min, Max
  from sympy.functions.elementary.piecewise import Piecewise
  from sympy.functions.elementary.trigonometric import sin, cos, tan, asin, acos, atan, atan2
  from sympy.logic.boolalg import And, Or, Xor, Implies, Boolean
  from sympy.logic.boolalg import BooleanTrue, BooleanFalse, BooleanFunction, Not, ITE
  from sympy.printing.printer import Printer
  from sympy.sets import Interval
  from mpmath.libmp.libmpf import prec_to_dps, to_str
  from sympy.assumptions.assume import AppliedPredicate
  from sympy.assumptions.relation.binrel import AppliedBinaryRelation
  from sympy.assumptions.ask import Q
  from sympy.assumptions.relation.equality import StrictGreaterThanPredicate, StrictLessThanPredicate, GreaterThanPredicate, LessThanPredicate, EqualityPredicate
label_desc: Use image node_id 4 for calling the SMTLibPrinter obj's underlying member method code with example usage: obj._print_Function(e) and returns: self, self