code: def test_mixed_data_types():
      """
      Test a graph with a primitive function that has mixed datatypes.
      """
  
      def get_inner_func():
          x = relay.var("x", shape=(1, 2, 2, 2), dtype="int16")
          x = relay.cast(x, dtype="uint32")
          x = _create_primitive_function(x)
          return x
  
      ifm = relay.var("input", shape=(1, 2, 2, 2), dtype="int16")
      x = get_inner_func()
      x = relay.Call(x, [ifm])
      mod = tvm.IRModule.from_expr(x)
  
      expected_annotations = [
          [(1 * 2 * 2 * 2) * 2 + (1 * 2 * 2 * 2) * 4],
      ]
      expected_io_annotation = (1 * 2 * 2 * 2) * 2 + (1 * 2 * 2 * 2) * 4
      _check_used_memory_annotations(
          mod, expected_annotations, expected_io_annotation
      )
  
imports: import pytest
  import tvm
  from tvm import relay
  from tvm.relay.expr_functor import ExprVisitor
label_desc: Use image node_id 6 for calling a global function with example usage: test_mixed_data_types() and returns: x