code: def test_RandomVariable_bcast_specify_shape():
      rv = RandomVariable(
          "normal", 0, [0, 0], config.floatX, inplace=True
      )
  
      s1 = pt.as_tensor(1, dtype=np.int64)
      s2 = iscalar()
      s2.tag.test_value = 2
      s3 = iscalar()
      s3.tag.test_value = 3
      s3 = Assert("testing")(s3, eq(s1, 1))
  
      size = specify_shape(pt.as_tensor([s1, s3, s2, s2, s1]), (5,))
      mu = tensor(dtype=config.floatX, shape=(None, None, 1))
      mu.tag.test_value = np.random.normal(size=(2, 2, 1)).astype(
          config.floatX
      )
  
      std = tensor(dtype=config.floatX, shape=(None, 1, 1))
      std.tag.test_value = np.ones((2, 1, 1)).astype(config.floatX)
  
      res = rv(mu, std, size=size)
      assert res.type.shape == (1, None, None, None, 1)
  
imports: import numpy
  import pytest
  import pytensor.tensor
  from pytensor import config, function
  from pytensor.gradient import NullTypeGradError, grad
  from pytensor.graph.replace import vectorize_node
  from pytensor.raise_op import Assert
  from pytensor.tensor.math import eq
  from pytensor.tensor.random import normal
  from pytensor.tensor.random.op import RandomState, RandomVariable, default_rng
  from pytensor.tensor.shape import specify_shape
  from pytensor.tensor.type import all_dtypes, iscalar, tensor
label_desc: Use image node_id 4 for calling a global function with example usage: test_RandomVariable_bcast_specify_shape() without return types