#include "formula_profile.h"

LYMPHOSAT_MATCHER {
    const bool ttf_block =
        profile.positive_block_candidate_len == 4 &&
        profile.binary_clause_fraction >= 0.48 &&
        profile.binary_clause_fraction <= 0.91 &&
        profile.all_positive_clause_fraction >= 0.012 &&
        profile.all_positive_clause_fraction <= 0.15 &&
        profile.normalized_clause_span_mean >= 0.279 &&
        profile.normalized_clause_span_mean <= 0.345 &&
        profile.positive_binary_fraction <= 0.01 &&
        profile.negative_binary_fraction >= 0.25 &&
        profile.polarity_balance_mean >= 0.50 &&
        profile.polarity_balance_mean <= 0.70;

    const bool tto_zp_block =
        profile.positive_block_candidate_len == 0 &&
        profile.binary_clause_fraction >= 0.919 &&
        profile.all_positive_clause_fraction <= 0.001 &&
        profile.normalized_clause_span_mean >= 0.195 &&
        profile.normalized_clause_span_mean <= 0.27 &&
        profile.positive_binary_fraction <= 0.0001 &&
        profile.negative_binary_fraction >= 0.058 &&
        profile.negative_binary_fraction <= 0.11 &&
        profile.polarity_balance_mean >= 0.76;

    return ttf_block || tto_zp_block;
}
