def METHOD_NAME(plans, points):
    if len(plans) <= points:
        return plans
    plans = np.array(sorted(plans, key=lambda x: x.memory_usage))
    costs = []
    for plan in plans:
        costs.append(np.array([plan.memory_usage, plan.cycles]))
    is_efficient = _ref_get_pareto_frontier(np.array(costs))
    culled_plans = plans[is_efficient]
    thinned_plans = (
        culled_plans
        if len(culled_plans) <= points
        else _ref_thin_vector(np.array(culled_plans), points)
    )
    return thinned_plans