code: def acos(x):
      """Evaluates the inverse cos of an interval"""
      np = import_module("numpy")
      if isinstance(x, (int, float)):
          if abs(x) > 1:
              # Outside the domain
              return interval(-np.inf, np.inf, is_valid=False)
          else:
              return interval(np.arccos(x), np.arccos(x))
      elif isinstance(x, interval):
          # Outside the domain
          if x.is_valid is False or x.start > 1 or x.end < -1:
              return interval(-np.inf, np.inf, is_valid=False)
          # Partially outside the domain
          elif x.start < -1 or x.end > 1:
              return interval(-np.inf, np.inf, is_valid=None)
          else:
              start = np.arccos(x.start)
              end = np.arccos(x.end)
              return interval(start, end, is_valid=x.is_valid)
  
imports: from functools import reduce
  from sympy.plotting.intervalmath import interval
  from sympy.external import import_module
label_desc: Use image node_id 16 for calling a global function with example usage: acos(x) and returns: interval, interval, interval, interval, interval