def getfunction_matmul(inputs):
    inputs = [ak._util.recursively_apply(x, (lambda _: _), pass_depth=False, numpy_to_regular=True) for x in inputs]
    if ((len(inputs) == 2) and all(((isinstance(x, ak._util.listtypes) and isinstance(x.content, ak._util.listtypes) and isinstance(x.content.content, ak.layout.NumpyArray)) for x in inputs))):
        ak._connect._numba.register_and_check()
        import numba
        if (matmul_for_numba.numbafied is None):
            matmul_for_numba.numbafied = numba.njit(matmul_for_numba)
        lefts = ak.highlevel.Array(inputs[0])
        rights = ak.highlevel.Array(inputs[1])
        dtype = numpy.asarray((lefts[0:0, 0:0, 0:0] + rights[0:0, 0:0, 0:0])).dtype
        (outer, inner, content) = matmul_for_numba.numbafied(lefts, rights, dtype)
        return (lambda : (ak.layout.ListOffsetArray64(ak.layout.Index64(outer), ak.layout.ListOffsetArray64(ak.layout.Index64(inner), ak.layout.NumpyArray(content))),))
    else:
        return None
def getfunction_matmul(inputs):
    inputs = [ak._util.recursively_apply(x, (lambda _: _), pass_depth=False, numpy_to_regular=True) for x in inputs]
    if ((len(inputs) == 2) and all(((isinstance(x, ak._util.listtypes) and isinstance(x.content, ak._util.listtypes) and isinstance(x.content.content, ak.layout.NumpyArray)) for x in inputs))):
        ak._connect._numba.register_and_check()
        import numba
        if (matmul_for_numba.numbafied is None):
            matmul_for_numba.numbafied = numba.njit(matmul_for_numba)
        lefts = ak.highlevel.Array(inputs[0])
        rights = ak.highlevel.Array(inputs[1])
        dtype = numpy.asarray((lefts[0:0, 0:0, 0:0] + rights[0:0, 0:0, 0:0])).dtype
        (outer, inner, content) = matmul_for_numba.numbafied(lefts, rights, dtype)
        return (lambda : (ak.layout.ListOffsetArray64(ak.layout.Index64(outer), ak.layout.ListOffsetArray64(ak.layout.Index64(inner), ak.layout.NumpyArray(content))),))
    else:
        return None