code: def test_continuous_rv_comparison_bitwise(
      comparison_op, exp_logp_true, exp_logp_false, inputs
  ):
      for op in comparison_op:
          comp_x_rv = op(*inputs)
  
          comp_x_vv = comp_x_rv.clone()
  
          logprob = logp(comp_x_rv, comp_x_vv)
          assert_no_rvs(logprob)
  
          logp_fn = pytensor.function([comp_x_vv], logprob)
          ref_scipy = st.norm(0, 1)
  
          assert np.isclose(
              logp_fn(0), getattr(ref_scipy, exp_logp_false)(0.5)
          )
          assert np.isclose(
              logp_fn(1), getattr(ref_scipy, exp_logp_true)(0.5)
          )
  
          bitwise_rv = pt.bitwise_not(op(*inputs))
          bitwise_vv = bitwise_rv.clone()
  
          logprob_not = logp(bitwise_rv, bitwise_vv)
          assert_no_rvs(logprob_not)
  
          logp_fn_not = pytensor.function([bitwise_vv], logprob_not)
  
          assert np.isclose(
              logp_fn_not(0), getattr(ref_scipy, exp_logp_true)(0.5)
          )
          assert np.isclose(
              logp_fn_not(1), getattr(ref_scipy, exp_logp_false)(0.5)
          )
  
file_path: pymc/tests/logprob/test_binary.py
imports: import numpy
  import pytensor
  import pytensor.tensor
  import pytest
  import scipy.stats
  from pytensor import function
  from pymc import logp
  from pymc.logprob import conditional_logp
  from pymc.testing import assert_no_rvs
label_desc: Use image node_id 1 for calling a global function with example usage: test_continuous_rv_comparison_bitwise(comparison_op, exp_logp_true, exp_logp_false, inputs) without return types