code: def test_sr_cpu(backend_cpu):
      """
      Performs stochastic rounding with 1 bit mantissa for an addition operation
      and checks that the resulting array is rounded correctly
      """
      be = NervanaObject.be
      n = 10
      A = be.ones((n, n), dtype=np.float16)
      B = be.ones((n, n), dtype=np.float16)
      be.multiply(B, 0.1, out=B)
      C = be.ones((n, n), dtype=np.float16)
      C.rounding = 1
      C[:] = A + B
      C_host = C.get()
      # make sure everything is either 1. (rounded down 1 bit) or 1.5 (rounded up 1 bit)
      logger.display("Rounded Buf: {}".format(C_host))
      assert (
          sum(
              [C_host.flatten()[i] in [1.0, 1.5] for i in range(n**2)]
          )
          == n**2
      )
      assert (
          sum([C_host.flatten()[i] in [1.5] for i in range(n**2)])
          > 0.1 * n**2
      )
      assert (
          sum([C_host.flatten()[i] in [1.0] for i in range(n**2)])
          > 0.7 * n**2
      )
  
imports: import numpy
  import pytest
  from neon import NervanaObject, logger
label_desc: Use image node_id 1 for calling a global function with example usage: test_sr_cpu(backend_cpu) without return types