code: def test_op_pow(base, exponent, device_id, precision):
      dt = PRECISION_TO_TYPE[precision]
      base = AA(base, dtype=dt)
      exponent = AA(exponent, dtype=dt)
      expected_forward = base**exponent
  
      expected_backward = {
          "left_arg": [exponent * base ** (exponent - 1)],
          "right_arg": [expected_forward * np.log(base)],
      }
  
      from .. import pow
  
      _test_binary_op(
          precision,
          device_id,
          pow,
          base,
          exponent,
          AA([expected_forward]),
          expected_backward,
      )
  
imports: from __future__ import division
  import numpy
  import cntk
  import pytest
  from .ops_test_utils import unittest_helper, _test_unary_op, _test_binary_op, AA, precision, PRECISION_TO_TYPE, cntk_device
  from cntk.tests.test_utils import TOLERANCE_ABSOLUTE
  from cntk.internal.utils import eval
  from cntk.internal import sanitize_dtype_cntk
  from ..None import constant
  from cntk.variables import Parameter, Constant
label_desc: Use image node_id 31 for calling a global function with example usage: test_op_pow(base, exponent, device_id, precision) without return types