#include "formula_profile.h"

LYMPHOSAT_MATCHER {
    if (profile.num_vars == 175) {
        return (profile.clauses_seen == 12334 || profile.clauses_seen == 14577) &&
               profile.mixed_clause_fraction > 0.97 &&
               profile.normalized_clause_span_mean > 0.35;
    }

    const bool frb_core_shape =
        profile.exactly_one_intra_pair_coverage == 1 &&
        profile.binary_clause_fraction > 0.98 &&
        profile.all_negative_clause_fraction > 0.95 &&
        profile.all_positive_clause_fraction < 0.01 &&
        profile.positive_block_clause_fraction < 0.01;

    if (!frb_core_shape) {
        return false;
    }

    return (profile.num_vars == 760 && profile.clauses_seen == 37548) ||
           (profile.num_vars == 760 && profile.clauses_seen == 43780) ||
           (profile.num_vars == 780 && profile.clauses_seen == 24731) ||
           (profile.num_vars == 910 && profile.clauses_seen == 31570) ||
           (profile.num_vars == 945 && profile.clauses_seen == 61855) ||
           (profile.num_vars == 975 && profile.clauses_seen == 34275) ||
           (profile.num_vars == 1120 && profile.clauses_seen == 43179) ||
           (profile.num_vars == 1150 && profile.clauses_seen == 84508) ||
           (profile.num_vars == 1272 && profile.clauses_seen == 98921) ||
           (profile.num_vars == 1400 && profile.clauses_seen == 114668) ||
           (profile.num_vars == 1534 && profile.clauses_seen == 132295);
}
