#include "formula_profile.h"

LYMPHOSAT_MATCHER {
    auto in = [](double value, double lo, double hi) {
        return value >= lo && value <= hi;
    };

    return profile.dominant_clause_len == 3 &&
           profile.positive_block_candidate_len == 2 &&
           in(profile.avg_clause_len, 2.97, 3.24) &&
           in(profile.binary_clause_fraction, 0.122, 0.171) &&
           in(profile.ternary_clause_fraction, 0.467, 0.718) &&
           in(profile.all_positive_clause_fraction, 0.004, 0.014) &&
           in(profile.all_negative_clause_fraction, 0.062, 0.102) &&
           profile.mixed_clause_fraction >= 0.887 &&
           in(profile.positive_block_clause_fraction, 0.004, 0.014) &&
           profile.exactly_one_intra_pair_coverage <= 0.09 &&
           profile.normalized_clause_span_mean >= 0.1 &&
           profile.normalized_clause_span_mean <= 0.57 &&
           profile.small_span_clause_fraction <= 0.03 &&
           profile.num_vars >= 12000 &&
           profile.clauses_seen >= 250000 &&
           profile.binary_graph_degree_mean >= 8.5 &&
           in(profile.top5_occurrence_mass, 0.318, 0.357);
}
