#include "formula_profile.h"

LYMPHOSAT_MATCHER {
    // One 6-clause cache alias is structurally indistinguishable from a
    // non-target benchmark, so the matcher keeps only the separable 171-var
    // instance.
    if (profile.dominant_clause_len == 6 &&
        profile.binary_clause_fraction == 0.0 &&
        profile.ternary_clause_fraction == 0.0 &&
        profile.mixed_clause_fraction == 0.0 &&
        profile.all_positive_clause_fraction == 0.5 &&
        profile.all_negative_clause_fraction == 0.5 &&
        profile.horn_clause_fraction == 0.5 &&
        profile.dual_horn_clause_fraction == 0.5 &&
        profile.num_vars == 171 &&
        profile.clauses_seen == 7752 &&
        profile.occurrence_stddev == 0.0) {
        return true;
    }

    if (profile.dominant_clause_len >= 15 &&
        profile.binary_clause_fraction == 0.0 &&
        profile.mixed_clause_fraction == 0.0 &&
        profile.ternary_clause_fraction <= 0.05 &&
        profile.all_positive_clause_fraction <= 0.06 &&
        profile.all_negative_clause_fraction >= 0.9 &&
        profile.normalized_clause_span_mean >= 0.7 &&
        profile.occurrence_stddev == 0.0) {
        return true;
    }

    return false;
}
