code: def test_op_plus_sequences(device_id, precision):
      dt_precision = PRECISION_TO_TYPE[precision]
      operand = [
          AA([[1.0, 2.0], [3.0, 4.0]], dtype=dt_precision),
          AA([[5.0, 6.0]], dtype=dt_precision),
      ]
      root_gradient = [
          AA([[1.0, 1.0], [1.0, 1.0]], dtype=dt_precision),
          AA([[1.0, 1.0]], dtype=dt_precision),
      ]
  
      expected_forward = [
          AA([[2.0, 4.0], [6.0, 8.0]], dtype=dt_precision),
          AA([[10.0, 12.0]], dtype=dt_precision),
      ]
      expected_backward = [
          AA([[2.0, 2.0], [2.0, 2.0]], dtype=dt_precision),
          AA([[2.0, 2.0]], dtype=dt_precision),
      ]
  
      from .. import plus, sequence
  
      x = sequence.input_variable(shape=(2,), needs_gradient=True)
      z = x + x
      state, actual_forward = z.forward(
          {x: operand}, [z.output], {z.output}, cntk_device(device_id)
      )
      actual_backward = z.backward(
          state, {z.output: root_gradient}, [x]
      )
  
      assert np.allclose(
          list(actual_forward.values())[0][0], expected_forward[0]
      )
      assert np.allclose(
          list(actual_forward.values())[0][1], expected_forward[1]
      )
  
      assert np.allclose(
          list(actual_backward.values())[0][0], expected_backward[0]
      )
      assert np.allclose(
          list(actual_backward.values())[0][1], expected_backward[1]
      )
  
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 2 for calling a global function with example usage: test_op_plus_sequences(device_id, precision) without return types