def quad_genz_keister_18(order):
    """
    Hermite Genz-Keister 18 rule.

    Args:
        order (int):
            The quadrature order. Must be in the interval (0, 8).

    Returns:
        (:py:data:typing.Tuple[numpy.ndarray, numpy.ndarray]):
            Abscissas and weights

    Examples:
        >>> abscissas, weights = quad_genz_keister_18(1)
        >>> print(numpy.around(abscissas, 4))
        [-1.7321  0.      1.7321]
        >>> print(numpy.around(weights, 4))
        [0.1667 0.6667 0.1667]
    """
    order = sorted(GENZ_KEISTER_18.keys())[order]

    abscissas, weights = GENZ_KEISTER_18[order]
    abscissas = numpy.array(abscissas)
    weights = numpy.array(weights)

    weights /= numpy.sum(weights)
    abscissas *= numpy.sqrt(2)

    return abscissas, weights