def get_crit_loss(crit_fake_pred, crit_real_pred, gp, c_lambda):
    """
    Return the loss of critic given the critic's scores for fake and real images
    :param crit_fake_pred: the critic's scores of the fake images
    :param crit_real_pred: the critic's scores of the real images
    :param gp: the unweighted gradient penalty
    :param c_lambda: the current weight of the gradient penalty
    :return: crit_loss: a scalar for the critic's loss, accounting for the relevant factors
    """
    # crit_loss =  (crit_fake_pred - crit_real_pred + gp * c_lambda).mean()
    crit_loss = crit_fake_pred.mean() - crit_real_pred.mean() + gp * c_lambda
    return crit_loss