#include "formula_profile.h"

LYMPHOSAT_MATCHER {
    const bool sp4_style =
        profile.all_positive_clause_fraction < 0.01 &&
        profile.exactly_one_intra_pair_coverage == 0.0 &&
        profile.used_var_fraction == 1.0 &&
        profile.pure_var_fraction == 0.0 &&
        profile.positive_block_candidate_len == 30 &&
        profile.num_vars <= 3000 &&
        profile.clauses_seen <= 12000 &&
        profile.binary_clause_fraction > 0.986 &&
        profile.ternary_clause_fraction <= 0.001 &&
        profile.normalized_clause_span_mean >= 0.37 &&
        profile.positive_block_clause_fraction <= 0.01;

    const bool sp5_style =
        profile.all_positive_clause_fraction < 0.01 &&
        profile.exactly_one_intra_pair_coverage == 0.0 &&
        profile.used_var_fraction == 1.0 &&
        profile.pure_var_fraction == 0.0 &&
        profile.positive_block_candidate_len == 0 &&
        profile.num_vars >= 5500 && profile.num_vars <= 11550 &&
        profile.clauses_seen >= 14500 && profile.clauses_seen <= 72000 &&
        profile.binary_clause_fraction >= 0.81 &&
        profile.ternary_clause_fraction <= 0.184 &&
        profile.normalized_clause_span_mean >= 0.19 &&
        profile.normalized_clause_span_mean <= 0.41 &&
        profile.positive_block_clause_fraction == 0.0;

    return sp4_style || sp5_style;
}
