#include "formula_profile.h"

LYMPHOSAT_MATCHER {
    const bool base =
        profile.num_vars > 1800 &&
        profile.clauses_seen > 2000 &&
        profile.positive_block_candidate_len == 2 &&
        profile.binary_clause_fraction > 0.994 &&
        profile.normalized_clause_span_mean > 0.332 &&
        profile.normalized_clause_span_mean < 0.339 &&
        profile.mixed_clause_fraction > 0.499 &&
        profile.mixed_clause_fraction < 0.503 &&
        profile.polarity_balance_mean > 0.94 &&
        profile.all_positive_clause_fraction > 0.22 &&
        profile.all_positive_clause_fraction < 0.27 &&
        profile.all_negative_clause_fraction > 0.22 &&
        profile.all_negative_clause_fraction < 0.27;

    return base && (
               profile.binary_vars_touched > 28637.5 ||
               profile.occurrence_max > 599.5 ||
               profile.used_var_count > 48026.0 ||
               profile.small_span_clause_fraction < 0.0006595 ||
               profile.positive_block_candidate_count < 10474.0 ||
               profile.polarity_balance_mean < 0.9539089884146499 ||
               profile.top1_occurrence_mass < 0.00012278653588884561 ||
               profile.mixed_clause_fraction > 0.5022997191826337 ||
               profile.normalized_clause_span_mean < 0.3328561259249444 ||
               profile.binary_clause_fraction < 0.9962707213058248 ||
               profile.mixed_clauses > 501101.0 ||
               (profile.num_vars < 10000 &&
                profile.positive_block_candidate_count > 240000.0 &&
                profile.occurrence_stddev > 80.0));
}
