def METHOD_NAME(self, u, args=()):
    """Evaluate pdf of bivariate extreme value copula.
    Parameters
    ----------
    u : array_like
        Values of random bivariate random variable, each defined on [0, 1],
        for which cdf is computed.
        Can be two dimensional with multivariate components in columns and
        observation in rows.
    args : tuple
        Required parameters for the copula. The meaning and number of
        parameters in the tuple depends on the specific copula.
    Returns
    -------
    PDF values at evaluation points.
    """
    tr = self.transform
    u1, u2 = np.asarray(u).T
    args = self._handle_args(args)
    log_u12 = np.log(u1 * u2)
    t = np.log(u1) / log_u12
    cdf = self.cdf(u, args)
    dep = tr(t, *args)
    d1 = tr.deriv(t, *args)
    d2 = tr.deriv2(t, *args)
    pdf_ = cdf / (u1 * u2) * ((dep + (1 - t) * d1) * (dep - t * d1) -
                              d2 * (1 - t) * t / log_u12)
    return pdf_