code: def test_check_potential_measurability():
      x1 = pt.random.normal()
      x2 = pt.random.normal()
      x3 = pt.scalar("x3")
      y = pt.exp(x1 + x2 + x3)
  
      # In the first three cases, y is potentially measurable, because it has at least on unvalued RV input
      assert check_potential_measurability([y], {})
      assert check_potential_measurability([y], {x1})
      assert check_potential_measurability([y], {x2})
      # y is not potentially measurable because both RV inputs are valued
      assert not check_potential_measurability([y], {x1, x2})
  
imports: import numpy
  import pytensor
  import pytest
  from pytensor import function
  from pytensor import tensor
  from pytensor.compile import get_default_mode
  from pytensor.graph.basic import ancestors, equal_computations
  from pytensor.tensor.random.op import RandomVariable
  import pymc
  from pymc import SymbolicRandomVariable, inputvars
  from pymc.distributions.transforms import Interval
  from pymc.logprob.abstract import MeasurableVariable
  from pymc.logprob.basic import logp
  from pymc.logprob.utils import ParameterValueError, check_potential_measurability, dirac_delta, replace_rvs_by_values
  from pymc.testing import assert_no_rvs
  from tests.logprob.utils import create_pytensor_params, scipy_logprob_tester
label_desc: Use image node_id 4 for calling a global function with example usage: test_check_potential_measurability() without return types