code: def test_moderate():
      p1 = p**2 + q**3
      p2 = (p * q) ** 4
      rl = rewriterule(p1, p2, (p, q))
  
      expr = x**2 + y**3
      assert list(rl(expr)) == [(x * y) ** 4]
  
file_path: sympy/sympy/unify/tests/test_rewrite.py
imports: from sympy.unify.rewrite import rewriterule
  from sympy.core.basic import Basic
  from sympy.core.singleton import S
  from sympy.core.symbol import Symbol
  from sympy.functions.elementary.trigonometric import sin
  from sympy.abc import x, y
  from sympy.strategies.rl import rebuild
  from sympy.assumptions import Q
label_desc: Use image node_id 3 for calling a global function with example usage: test_moderate() without return types