#include "formula_profile.h"

LYMPHOSAT_MATCHER {
    const bool main_fermat =
        profile.dominant_clause_len == 4 &&
        profile.num_vars >= 5000 && profile.num_vars <= 13000 &&
        profile.clauses_seen >= 30000 && profile.clauses_seen <= 80000 &&
        profile.avg_clause_len >= 3.30 && profile.avg_clause_len <= 3.34 &&
        profile.binary_clause_fraction >= 0.19 &&
        profile.binary_clause_fraction <= 0.205 &&
        profile.ternary_clause_fraction >= 0.283 &&
        profile.ternary_clause_fraction <= 0.287 &&
        profile.all_positive_clause_fraction <= 0.003 &&
        profile.all_negative_clause_fraction >= 0.063 &&
        profile.all_negative_clause_fraction <= 0.068 &&
        profile.mixed_clause_fraction >= 0.929 &&
        profile.mixed_clause_fraction <= 0.935 &&
        profile.horn_clause_fraction >= 0.566 &&
        profile.horn_clause_fraction <= 0.572 &&
        profile.dual_horn_clause_fraction >= 0.459 &&
        profile.dual_horn_clause_fraction <= 0.466 &&
        profile.pure_var_fraction == 0.0 &&
        profile.polarity_balance_mean >= 0.036 &&
        profile.polarity_balance_mean <= 0.043 &&
        profile.normalized_clause_span_mean >= 0.218 &&
        profile.normalized_clause_span_mean <= 0.220 &&
        profile.small_span_clause_fraction >= 0.015 &&
        profile.small_span_clause_fraction <= 0.024 &&
        profile.positive_block_candidate_len == 4 &&
        profile.positive_block_clause_fraction >= 0.0008 &&
        profile.positive_block_clause_fraction <= 0.0013 &&
        profile.exactly_one_intra_pair_coverage == 0.0 &&
        profile.dominant_clause_len_fraction >= 0.510 &&
        profile.dominant_clause_len_fraction <= 0.526 &&
        profile.binary_graph_degree_mean >= 4.6 &&
        profile.binary_graph_degree_mean <= 5.0 &&
        profile.binary_vars_touched_fraction >= 0.43 &&
        profile.binary_vars_touched_fraction <= 0.48;
    return main_fermat;
}
