code: def test_op_times(left_operand, right_operand, device_id, precision):
      dt_precision = PRECISION_TO_TYPE[precision]
  
      a = AA(left_operand, dtype=dt_precision)
      b = AA(right_operand, dtype=dt_precision)
  
      expected_forward = [np.tensordot(a, b, axes=len(b.shape) - 1)]
  
      left_backward = np.zeros_like(a)
      left_backward[...] = b.sum(axis=-1)
  
      right_backward = np.zeros_like(b)
      transpose_axes = list(np.roll(np.arange(len(b.shape)), -1))
      sum_axes = tuple(np.arange(0, len(a.shape) - len(b.shape) + 1))
      right_backward[...] = np.transpose(
          AA([a.sum(axis=sum_axes)]), axes=transpose_axes
      )
  
      expected_backward = {
          "left_arg": [left_backward],
          "right_arg": [right_backward],
      }
  
      from cntk import times
  
      _test_binary_op(
          precision,
          device_id,
          times,
          left_operand,
          right_operand,
          expected_forward,
          expected_backward,
      )
  
imports: from __future__ import division
  import numpy
  import pytest
  import cntk
  from .ops_test_utils import unittest_helper, _test_unary_op, _test_binary_op, AA, precision, PRECISION_TO_TYPE, cntk_device
  from cntk.internal import sanitize_dtype_cntk
  from cntk.internal.utils import _ones_like, eval
label_desc: Use image node_id 12 for calling a global function with example usage: test_op_times(left_operand, right_operand, device_id, precision) without return types