code: def test_jit_random_regen(self):
      def f(a, b):
          rn = Tensor.randn(*a.shape)
          return ((a + b) * rn).realize()
  
      a = Tensor.randn(
          10, 10
      ).realize()  # realize these before resetting the random seed
      b = Tensor.randn(10, 10).realize()
  
      Tensor._seed = 1234
      jf = TinyJit(f)
      res = set()
      for _ in range(5):
          o1 = jf(a, b)
          res.add(o1.numpy()[0][0])
      assert (
          len(res) == 5
      ), "All values should be different, rand works in jit."
  
      Tensor._seed = 1234
      jf2 = TinyJit(f)
      res2 = set()
      for _ in range(5):
          o1 = jf2(a, b)
          res2.add(o1.numpy()[0][0])
      assert (
          len(res2) == 5
      ), "All values should be different, rand works in jit."
      assert (
          res == res2
      ), "Jit rand is not reproducible with the same seed"
  
      Tensor._seed = 3421
      jf3 = TinyJit(f)
      res3 = set()
      for _ in range(5):
          o1 = jf3(a, b)
          res3.add(o1.numpy()[0][0])
      assert (
          len(res3) == 5
      ), "All values should be different, rand works in jit."
      assert res3 != res2, "Jit rand is diff with diff seeds"
  
imports: import unittest, functools
  import numpy
  from test.helpers import assert_jit_cache_len
  from tinygrad.tensor import Tensor
  from tinygrad.jit import TinyJit
  from tinygrad.device import Device
  from tinygrad.helpers import CI
label_desc: Use image node_id 15 for calling the TestJit obj's underlying member method code with example usage: obj.test_jit_random_regen() and returns: unknown