code: def network_structure_3():
      # this tests whether the partitioned sym can distinguish in_args and aux_states
      data = mx.sym.var("data", shape=(2, 3, 10, 10))
      ret = mx.sym.exp(data)
      ret1 = mx.sym.cos(ret)
      ret2 = mx.sym.sin(ret)
      ret = ret1 + ret2
      ret = mx.sym.BatchNorm(ret)
      ret = mx.sym.BatchNorm(ret)
      # Return the same and shape of 'data' and auxiliary states
      return (
          ret,
          ["data"] + ret.list_auxiliary_states(),
          [(2, 3, 10, 10), (3,), (3,), (3,), (3,)],
      )
  
imports: import os
  import sys
  import ctypes
  import mxnet
  from mxnet.base import SymbolHandle, check_call, _LIB, mx_uint, c_str_array, c_str, mx_real_t
  from mxnet.symbol import Symbol
  import numpy
  from mxnet.test_utils import assert_almost_equal, environment
  from mxnet import gluon
  from mxnet.gluon import nn
  from mxnet import nd, npx
  import pytest
  import tempfile
label_desc: Use image node_id 3 for calling a global function with example usage: network_structure_3() and returns: ret,  unknown,  list