code: def test_builder_to_backend_smoke(self, compute_unit, backend):
      x_val = np.array([[-4.0, 13.0], [-3.0, 9.0]], dtype=np.float32)
      y_val = np.array([[1.0, -7.0], [-1.0, -8.0]], dtype=np.float32)
      input_placeholders = {
          "x": mb.placeholder(shape=x_val.shape),
          "y": mb.placeholder(shape=y_val.shape),
      }
      input_values = {"x": x_val, "y": y_val}
  
      def build(x, y):
          return [
              mb.matmul(x=x_val, y=y),
              mb.matmul(x=x, y=y_val),
              mb.matmul(x=x, y=y),
              mb.matmul(x=x, y=y, transpose_x=True, transpose_y=True),
              mb.matmul(
                  x=x_val, y=y, transpose_x=True, transpose_y=True
              ),
              mb.matmul(
                  x=x, y=y_val, transpose_x=True, transpose_y=True
              ),
              mb.matmul(
                  x=x, y=y_val, transpose_x=True, transpose_y=False
              ),
              mb.matmul(
                  x=x, y=y_val, transpose_x=False, transpose_y=True
              ),
          ]
  
      expected_output_types = [
          (2, 2, types.fp32),
          (2, 2, types.fp32),
          (2, 2, types.fp32),
          (2, 2, types.fp32),
          (2, 2, types.fp32),
          (2, 2, types.fp32),
          (2, 2, types.fp32),
          (2, 2, types.fp32),
      ]
      expected_outputs = [
          np.array([[-17.0, -76.0], [-12.0, -51.0]], dtype=np.float32),
          np.array([[-17.0, -76.0], [-12.0, -51.0]], dtype=np.float32),
          np.array([[-17.0, -76.0], [-12.0, -51.0]], dtype=np.float32),
          np.array([[17.0, 28.0], [-50.0, -85.0]], dtype=np.float32),
          np.array([[17.0, 28.0], [-50.0, -85.0]], dtype=np.float32),
          np.array([[17.0, 28.0], [-50.0, -85.0]], dtype=np.float32),
          np.array([[-1.0, 52.0], [4.0, -163.0]], dtype=np.float32),
          np.array([[-95.0, -100.0], [-66.0, -69.0]], dtype=np.float32),
      ]
  
      run_compare_builder(
          build,
          input_placeholders,
          input_values,
          expected_output_types,
          expected_outputs,
          compute_unit=compute_unit,
          backend=backend,
      )
  
imports: import itertools
  import platform
  import numpy
  import pytest
  import coremltools
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import get_new_symbol, types
  from coremltools.converters.mil.mil.ops.tests.iOS14 import backends
  from coremltools.converters.mil.mil.ops.tests.testing_utils import run_compare_builder
  from coremltools.converters.mil.mil.types import builtin_to_string, nptype_from_builtin
  from coremltools.converters.mil.testing_reqs import compute_units
  from coremltools.converters.mil.testing_utils import random_gen, ssa_fn
label_desc: Use image node_id 1 for calling the TestMatMul obj's underlying member method code with example usage: obj.test_builder_to_backend_smoke(compute_unit, backend) and returns: list