code: def test_tree_equal_numpy():
      x = np.array([1, 2], dtype=np.float32)
      x2 = np.array([1, 2], dtype=np.float32)
      y = jnp.array([1, 2], dtype=jnp.float32)
      z = jnp.array([1, 2], dtype=jnp.float16)
      assert _typeequal(eqx.tree_equal(x, x), True)
      assert _typeequal(eqx.tree_equal(x, x2), True)
      assert _typeequal(eqx.tree_equal(x, x2, typematch=True), True)
      assert _typeequal(eqx.tree_equal(x, y), jnp.array(True))
      assert _typeequal(eqx.tree_equal(x, y, typematch=True), False)
      assert _typeequal(eqx.tree_equal(y, y), jnp.array(True))
      assert _typeequal(
          eqx.tree_equal(y, y, typematch=True), jnp.array(True)
      )
      assert _typeequal(eqx.tree_equal(x, z), False)
      assert _typeequal(eqx.tree_equal(y, z), False)
  
      @jax.jit
      def f():
          assert _typeequal(eqx.tree_equal(x, x), True)
          assert _typeequal(eqx.tree_equal(x, y, typematch=True), False)
          out = eqx.tree_equal(x, y)
          assert isinstance(out, jax.core.Tracer)
          return out
  
      assert _typeequal(f(), jnp.array(True))
  
imports: import equinox
  import jax
  import jax.core
  import jax.nn
  import jax.numpy
  import jax.random
  import jax.tree_util
  import numpy
  import pytest
label_desc: Use image node_id 9 for calling a global function with example usage: test_tree_equal_numpy() and returns: out