def METHOD_NAME():
    BATCH = 6
    IH = 48
    IW = 48
    IC = 16
    OC = 16
    K = 3
    PAD = 1
    STRIDE = 1
    OH = (IH + 2 * PAD - K) + 1
    OW = (IW + 2 * PAD - K) + 1
    dshape = (BATCH, IC, IH, IW)
    kshape = (OC, IC, K, K)
    bshape = (OC,)
    oshape = (BATCH, OC, OH, OW)
    data = te.placeholder(dshape, name="data")
    kernel = te.placeholder(kshape, name="kernel")
    bias = te.placeholder(bshape, name="bias")
    def verify(target="llvm", algorithm=nnpack.ConvolutionAlgorithm.AUTO, with_bias=True):
        if not tvm.get_global_func("tvm.contrib.nnpack.fully_connected_inference", True):
            pytest.skip("extern function is not available")
        if not nnpack.is_available():
            pytest.skip("nnpack is not available")
        dev = tvm.cpu(0)
        transformed_kernel = nnpack.convolution_inference_weight_transform(
            kernel, algorithm=algorithm
        )
        output = nnpack.convolution_inference_without_weight_transform(
            data,
            transformed_kernel,
            bias if with_bias else None,
            [PAD, PAD, PAD, PAD],
            [STRIDE, STRIDE],
            algorithm=algorithm,
        )
        s = te.create_schedule(output.op)
        f = tvm.build(s, [data, kernel, bias, output], target)
        na = np.random.uniform(size=dshape).astype(data.dtype)
        nb = np.random.uniform(size=kshape).astype(kernel.dtype)
        nc = (
            np.random.uniform(size=bshape).astype(bias.dtype)
            if with_bias
            else np.zeros(bshape, dtype=bias.dtype)
        )
        ta = tvm.nd.array(na, dev)
        tb = tvm.nd.array(nb, dev)
        tc = tvm.nd.array(nc, dev)
        td = tvm.nd.array(np.zeros(oshape, dtype=output.dtype), dev)
        f(ta, tb, tc, td)
        nd = np_conv(np.reshape(na, (BATCH, IC, IH, IW)), nb, PAD, STRIDE) + nc.reshape(
            1, bshape[0], 1, 1
        )
        tvm.testing.assert_allclose(td.numpy(), nd.reshape(BATCH, IC, IH, IW), rtol=1e-5)
    for algorithm in [nnpack.ConvolutionAlgorithm.WT_8x8]:
        for with_bias in [True, False]:
            verify(algorithm=algorithm, with_bias=with_bias)