code: def test_builder_to_backend_smoke(self, use_cpu_only, backend, mode):
      if mode == "add":
          x = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32)
          y = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
          expected_outputs = np.array(
              [[0, 4, 0], [8, 0, 12]], dtype=np.float32
          )
  
          build = lambda x, y: mb.add(x=x, y=y)
      elif mode == "floor_div":
          x = np.array([[10, 20, 30], [40, 50, 60]], dtype=np.float32)
          y = np.array([[11, 12, 13], [14, 15, 16]], dtype=np.float32)
          expected_outputs = np.array(
              [[0, 1, 2], [2, 3, 3]], dtype=np.float32
          )
  
          build = lambda x, y: mb.floor_div(x=x, y=y)
      elif mode == "maximum":
          x = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32)
          y = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
          expected_outputs = np.array(
              [[1, 2, 3], [4, 5, 6]], dtype=np.float32
          )
  
          build = lambda x, y: mb.maximum(x=x, y=y)
      elif mode == "minimum":
          x = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32)
          y = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
          expected_outputs = np.array(
              [[-1, 2, -3], [4, -5, 6]], dtype=np.float32
          )
  
          build = lambda x, y: mb.minimum(x=x, y=y)
      elif mode == "mod":
          x = np.array([[10, 20, 30], [40, 50, 60]], dtype=np.float32)
          y = np.array([[11, 12, 13], [14, 15, 16]], dtype=np.float32)
          expected_outputs = np.array(
              [[10, 8, 4], [12, 5, 12]], dtype=np.float32
          )
  
          build = lambda x, y: mb.mod(x=x, y=y)
      elif mode == "mul":
          x = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32)
          y = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
          expected_outputs = np.array(
              [[-1, 4, -9], [16, -25, 36]], dtype=np.float32
          )
  
          build = lambda x, y: mb.mul(x=x, y=y)
      elif mode == "pow":
          x = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32)
          y = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
          expected_outputs = np.array(
              [[1, 4, 0.037], [256, 0.00032, 46656]], dtype=np.float32
          )
  
          build = lambda x, y: mb.pow(x=x, y=y)
      elif mode == "real_div":
          x = np.array([[10, 20, 30], [40, 50, 60]], dtype=np.float32)
          y = np.array([[11, 12, 13], [14, 15, 16]], dtype=np.float32)
          expected_outputs = np.array(
              [
                  [0.90909091, 1.66666667, 2.30769231],
                  [2.85714286, 3.33333333, 3.75],
              ],
              dtype=np.float32,
          )
  
          build = lambda x, y: mb.real_div(x=x, y=y)
      elif mode == "sub":
          x = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32)
          y = np.array([[-1, 2, -3], [4, -5, 6]], dtype=np.float32)
          expected_outputs = np.array(
              [[2, 0, 6], [0, 10, 0]], dtype=np.float32
          )
  
          build = lambda x, y: mb.sub(x=x, y=y)
  
      expected_output_types = (2, 3, types.fp32)
      input_placeholders = {
          "x": mb.placeholder(shape=x.shape),
          "y": mb.placeholder(shape=y.shape),
      }
      input_values = {"x": x, "y": y}
      run_compare_builder(
          build,
          input_placeholders,
          input_values,
          expected_output_types,
          expected_outputs,
          use_cpu_only=use_cpu_only,
          frontend_only=False,
          backend=backend,
      )
  
imports: from coremltools.converters.mil import testing_reqs
  from coremltools.converters.mil.testing_reqs import *
  from .testing_utils import run_compare_builder
label_desc: Use image node_id 1 for calling the TestElementwiseBinary obj's underlying member method code with example usage: obj.test_builder_to_backend_smoke(use_cpu_only, backend, mode) without return types