human
Complete the below
@intrinsic
def empty_inferred(typingctx, shape):

    ''''A version of numpy.empty whose dtype is inferred by the type system.
    Expects `shape` to be a int-tuple.
    There is special logic in the type-inferencer to handle the "refine"-ing
    of undefined dtype.'
    '''
assistant
#Here is the Python program you requested.
    from numba.targets.arrayobj import _empty_nd_impl
    def codegen(context, builder, signature, args):
        arrty = signature.return_type
        assert arrty.is_precise()
        shapes = unpack_tuple(builder, args[0])
        res = _empty_nd_impl(context, builder, arrty, shapes)
        return impl_ret_new_ref(context, builder, arrty, res._getvalue())
    nd = len(shape)
    array_ty = types.Array(ndim=nd, layout='C', dtype=types.undefined)
    sig = array_ty(shape)
    return (sig, codegen)