code: def test_commutes(p1_name, p2_name, model):
      p1 = model.bind_poutine(p1_name)
      p2 = model.bind_poutine(p2_name)
      expected_trace = get_trace(p1(p2(model)))
      actual_trace = get_trace(p2(p1(model)))
      assert_equal(actual_trace, expected_trace, prec=0)
  
file_path: pyro/tests/poutine/test_properties.py
imports: import pytest
  import torch
  import pyro
  import pyro.distributions
  import pyro.poutine
  from pyro.util import set_rng_seed
  from tests.common import assert_equal
label_desc: Use image node_id 8 for calling a global function with example usage: test_commutes(p1_name, p2_name, model) without return types