def METHOD_NAME(dist, x):
    x = dist.check_x_dimension(x)
    # Compute pdf of independent marginals
    pdf_val = np.prod(
        np.array(
            [
                marg.pdf(x[:, ind_m])
                for ind_m, marg in enumerate(dist.marginals)
            ]
        ),
        axis=0,
    )
    # Add copula term
    unif = np.array(
        [marg.cdf(x[:, ind_m]) for ind_m, marg in enumerate(dist.marginals)]
    ).T
    c_ = dist.copula.evaluate_pdf(unit_uniform_samples=unif)
    return c_ * pdf_val