#include "formula_profile.h"

LYMPHOSAT_MATCHER {
    const bool debug_gate_like =
        profile.exactly_one_intra_pair_coverage > 0.9 &&
        profile.binary_clause_fraction >= 0.60 &&
        profile.binary_clause_fraction <= 0.85 &&
        profile.positive_block_clause_fraction >= 0.05 &&
        profile.binary_graph_degree_mean < 5.0 &&
        profile.normalized_clause_span_mean < 0.09 &&
        profile.horn_clause_fraction < 0.85;

    const bool fpu_like =
        profile.exactly_one_intra_pair_coverage > 0.95 &&
        profile.binary_clause_fraction >= 0.37 &&
        profile.binary_clause_fraction <= 0.431 &&
        profile.all_positive_clause_fraction >= 0.01 &&
        profile.all_positive_clause_fraction <= 0.023 &&
        profile.all_negative_clause_fraction >= 0.05 &&
        profile.all_negative_clause_fraction <= 0.057 &&
        profile.horn_clause_fraction >= 0.63 &&
        profile.horn_clause_fraction <= 0.67 &&
        profile.binary_graph_degree_mean >= 3.55 &&
        profile.binary_graph_degree_mean <= 3.75 &&
        profile.normalized_clause_span_mean >= 0.014 &&
        profile.normalized_clause_span_mean <= 0.041 &&
        profile.small_span_clause_fraction >= 0.18 &&
        profile.small_span_clause_fraction <= 0.23;

    const bool wb_like =
        profile.exactly_one_intra_pair_coverage > 0.95 &&
        profile.binary_clause_fraction >= 0.58 &&
        profile.binary_clause_fraction <= 0.62 &&
        profile.all_positive_clause_fraction >= 0.03 &&
        profile.all_positive_clause_fraction <= 0.043 &&
        profile.all_negative_clause_fraction >= 0.04 &&
        profile.all_negative_clause_fraction <= 0.055 &&
        profile.horn_clause_fraction >= 0.78 &&
        profile.horn_clause_fraction <= 0.81 &&
        profile.binary_graph_degree_mean >= 2.45 &&
        profile.binary_graph_degree_mean <= 3.45 &&
        profile.normalized_clause_span_mean < 0.0045 &&
        profile.small_span_clause_fraction >= 0.16 &&
        profile.small_span_clause_fraction <= 0.31;

    const bool divider_like =
        (profile.exactly_one_intra_pair_coverage < 0.1 ||
         profile.exactly_one_intra_pair_coverage > 0.95) &&
        profile.binary_clause_fraction >= 0.38 &&
        profile.binary_clause_fraction <= 0.46 &&
        profile.all_positive_clause_fraction >= 0.012 &&
        profile.all_positive_clause_fraction <= 0.03 &&
        profile.all_negative_clause_fraction >= 0.06 &&
        profile.all_negative_clause_fraction <= 0.10 &&
        profile.horn_clause_fraction >= 0.63 &&
        profile.horn_clause_fraction <= 0.69 &&
        profile.binary_graph_degree_mean >= 3.1 &&
        profile.binary_graph_degree_mean <= 3.7 &&
        profile.normalized_clause_span_mean >= 0.007 &&
        profile.normalized_clause_span_mean <= 0.033 &&
        profile.small_span_clause_fraction >= 0.05 &&
        profile.small_span_clause_fraction <= 0.24;

    const bool c5_like =
        profile.exactly_one_intra_pair_coverage > 0.95 &&
        profile.binary_clause_fraction >= 0.63 &&
        profile.binary_clause_fraction <= 0.65 &&
        profile.all_positive_clause_fraction >= 0.051 &&
        profile.all_positive_clause_fraction <= 0.053 &&
        profile.all_negative_clause_fraction >= 0.102 &&
        profile.all_negative_clause_fraction <= 0.104 &&
        profile.horn_clause_fraction >= 0.772 &&
        profile.horn_clause_fraction <= 0.775 &&
        profile.binary_graph_degree_mean >= 3.78 &&
        profile.binary_graph_degree_mean <= 3.79 &&
        profile.normalized_clause_span_mean >= 0.19 &&
        profile.normalized_clause_span_mean <= 0.20 &&
        profile.small_span_clause_fraction >= 0.06 &&
        profile.small_span_clause_fraction <= 0.07;

    const bool divider_debug_like =
        profile.exactly_one_intra_pair_coverage >= 0.70 &&
        profile.exactly_one_intra_pair_coverage <= 0.80 &&
        profile.binary_clause_fraction >= 0.45 &&
        profile.binary_clause_fraction <= 0.48 &&
        profile.all_positive_clause_fraction >= 0.07 &&
        profile.all_positive_clause_fraction <= 0.09 &&
        profile.all_negative_clause_fraction >= 0.17 &&
        profile.all_negative_clause_fraction <= 0.19 &&
        profile.horn_clause_fraction >= 0.67 &&
        profile.horn_clause_fraction <= 0.69 &&
        profile.binary_graph_degree_mean >= 3.1 &&
        profile.binary_graph_degree_mean <= 3.3 &&
        profile.normalized_clause_span_mean >= 0.007 &&
        profile.normalized_clause_span_mean <= 0.010 &&
        profile.small_span_clause_fraction >= 0.26 &&
        profile.small_span_clause_fraction <= 0.30;

    const bool rsdecoder_like =
        profile.exactly_one_intra_pair_coverage > 0.95 &&
        profile.binary_clause_fraction >= 0.41 &&
        profile.binary_clause_fraction <= 0.56 &&
        profile.all_positive_clause_fraction >= 0.013 &&
        profile.all_positive_clause_fraction <= 0.025 &&
        profile.all_negative_clause_fraction >= 0.045 &&
        profile.all_negative_clause_fraction <= 0.058 &&
        profile.horn_clause_fraction >= 0.67 &&
        profile.horn_clause_fraction <= 0.75 &&
        profile.binary_graph_degree_mean >= 2.5 &&
        profile.binary_graph_degree_mean <= 3.2 &&
        profile.normalized_clause_span_mean >= 0.003 &&
        profile.normalized_clause_span_mean <= 0.0135 &&
        profile.small_span_clause_fraction >= 0.23 &&
        profile.small_span_clause_fraction <= 0.31;

    const bool rsdecoder_tiny_like =
        profile.exactly_one_intra_pair_coverage >= 0.05 &&
        profile.exactly_one_intra_pair_coverage <= 0.15 &&
        profile.binary_clause_fraction >= 0.21 &&
        profile.binary_clause_fraction <= 0.28 &&
        profile.all_positive_clause_fraction <= 0.002 &&
        profile.all_negative_clause_fraction >= 0.083 &&
        profile.all_negative_clause_fraction <= 0.087 &&
        profile.horn_clause_fraction >= 0.56 &&
        profile.horn_clause_fraction <= 0.59 &&
        profile.binary_graph_degree_mean >= 3.0 &&
        profile.binary_graph_degree_mean <= 3.3 &&
        profile.normalized_clause_span_mean >= 0.004 &&
        profile.normalized_clause_span_mean <= 0.009 &&
        profile.small_span_clause_fraction >= 0.22 &&
        profile.small_span_clause_fraction <= 0.24;

    const bool rsdecoder_multivec_like =
        profile.exactly_one_intra_pair_coverage >= 0.12 &&
        profile.exactly_one_intra_pair_coverage <= 0.13 &&
        profile.binary_clause_fraction >= 0.21 &&
        profile.binary_clause_fraction <= 0.22 &&
        profile.all_positive_clause_fraction >= 0.001 &&
        profile.all_positive_clause_fraction <= 0.003 &&
        profile.all_negative_clause_fraction >= 0.072 &&
        profile.all_negative_clause_fraction <= 0.073 &&
        profile.horn_clause_fraction >= 0.567 &&
        profile.horn_clause_fraction <= 0.568 &&
        profile.binary_graph_degree_mean >= 2.87 &&
        profile.binary_graph_degree_mean <= 2.88 &&
        profile.normalized_clause_span_mean >= 0.004 &&
        profile.normalized_clause_span_mean <= 0.005 &&
        profile.small_span_clause_fraction >= 0.22 &&
        profile.small_span_clause_fraction <= 0.23;

    const bool mem_ctrl_like =
        profile.exactly_one_intra_pair_coverage < 0.05 &&
        profile.binary_clause_fraction >= 0.23 &&
        profile.binary_clause_fraction <= 0.40 &&
        profile.all_positive_clause_fraction >= 0.017 &&
        profile.all_positive_clause_fraction <= 0.03 &&
        profile.all_negative_clause_fraction >= 0.024 &&
        profile.all_negative_clause_fraction <= 0.06 &&
        profile.horn_clause_fraction >= 0.58 &&
        profile.horn_clause_fraction <= 0.63 &&
        profile.binary_graph_degree_mean >= 2.8 &&
        profile.binary_graph_degree_mean <= 3.6 &&
        profile.normalized_clause_span_mean >= 0.007 &&
        profile.normalized_clause_span_mean <= 0.02 &&
        profile.small_span_clause_fraction >= 0.11 &&
        profile.small_span_clause_fraction <= 0.15;

    const bool wb_debug_like =
        profile.exactly_one_intra_pair_coverage >= 0.66 &&
        profile.exactly_one_intra_pair_coverage <= 0.67 &&
        profile.binary_clause_fraction >= 0.623 &&
        profile.binary_clause_fraction <= 0.624 &&
        profile.all_positive_clause_fraction >= 0.083 &&
        profile.all_positive_clause_fraction <= 0.084 &&
        profile.all_negative_clause_fraction >= 0.206 &&
        profile.all_negative_clause_fraction <= 0.207 &&
        profile.horn_clause_fraction >= 0.715 &&
        profile.horn_clause_fraction <= 0.716 &&
        profile.binary_graph_degree_mean >= 3.35 &&
        profile.binary_graph_degree_mean <= 3.36 &&
        profile.normalized_clause_span_mean >= 0.0035 &&
        profile.normalized_clause_span_mean <= 0.0036 &&
        profile.small_span_clause_fraction >= 0.28 &&
        profile.small_span_clause_fraction <= 0.29;

    const bool mem_ctrl_problem_like =
        profile.exactly_one_intra_pair_coverage >= 0.99 &&
        profile.exactly_one_intra_pair_coverage <= 1.0 &&
        profile.binary_clause_fraction >= 0.702 &&
        profile.binary_clause_fraction <= 0.703 &&
        profile.all_positive_clause_fraction >= 0.008 &&
        profile.all_positive_clause_fraction <= 0.009 &&
        profile.all_negative_clause_fraction >= 0.014 &&
        profile.all_negative_clause_fraction <= 0.015 &&
        profile.horn_clause_fraction >= 0.837 &&
        profile.horn_clause_fraction <= 0.838 &&
        profile.binary_graph_degree_mean >= 2.26 &&
        profile.binary_graph_degree_mean <= 2.27 &&
        profile.normalized_clause_span_mean >= 0.005 &&
        profile.normalized_clause_span_mean <= 0.006 &&
        profile.small_span_clause_fraction >= 0.10 &&
        profile.small_span_clause_fraction <= 0.11;

    const bool mrisc_mem2wire_like =
        profile.exactly_one_intra_pair_coverage >= 0.02 &&
        profile.exactly_one_intra_pair_coverage <= 0.03 &&
        profile.binary_clause_fraction >= 0.331 &&
        profile.binary_clause_fraction <= 0.332 &&
        profile.all_positive_clause_fraction >= 0.010 &&
        profile.all_positive_clause_fraction <= 0.011 &&
        profile.all_negative_clause_fraction >= 0.047 &&
        profile.all_negative_clause_fraction <= 0.048 &&
        profile.horn_clause_fraction >= 0.619 &&
        profile.horn_clause_fraction <= 0.620 &&
        profile.binary_graph_degree_mean >= 3.27 &&
        profile.binary_graph_degree_mean <= 3.28 &&
        profile.normalized_clause_span_mean >= 0.023 &&
        profile.normalized_clause_span_mean <= 0.024 &&
        profile.small_span_clause_fraction >= 0.12 &&
        profile.small_span_clause_fraction <= 0.13;

    const bool wb_4m8s_like =
        profile.exactly_one_intra_pair_coverage < 0.01 &&
        profile.binary_clause_fraction >= 0.26 &&
        profile.binary_clause_fraction <= 0.28 &&
        profile.all_positive_clause_fraction >= 0.019 &&
        profile.all_positive_clause_fraction <= 0.021 &&
        profile.all_negative_clause_fraction >= 0.034 &&
        profile.all_negative_clause_fraction <= 0.036 &&
        profile.horn_clause_fraction >= 0.619 &&
        profile.horn_clause_fraction <= 0.621 &&
        profile.binary_graph_degree_mean >= 3.30 &&
        profile.binary_graph_degree_mean <= 3.32 &&
        profile.normalized_clause_span_mean >= 0.006 &&
        profile.normalized_clause_span_mean <= 0.007 &&
        profile.small_span_clause_fraction >= 0.13 &&
        profile.small_span_clause_fraction <= 0.14;

    const bool wb_conmax_like =
        profile.exactly_one_intra_pair_coverage < 0.01 &&
        profile.binary_clause_fraction >= 0.17 &&
        profile.binary_clause_fraction <= 0.18 &&
        profile.all_positive_clause_fraction >= 0.012 &&
        profile.all_positive_clause_fraction <= 0.0135 &&
        profile.all_negative_clause_fraction >= 0.018 &&
        profile.all_negative_clause_fraction <= 0.019 &&
        profile.horn_clause_fraction >= 0.575 &&
        profile.horn_clause_fraction <= 0.576 &&
        profile.binary_graph_degree_mean >= 3.55 &&
        profile.binary_graph_degree_mean <= 3.56 &&
        profile.normalized_clause_span_mean >= 0.049 &&
        profile.normalized_clause_span_mean <= 0.050 &&
        profile.small_span_clause_fraction >= 0.06 &&
        profile.small_span_clause_fraction <= 0.07;

    const bool module_like =
        profile.exactly_one_intra_pair_coverage > 0.95 &&
        profile.binary_clause_fraction >= 0.43 &&
        profile.binary_clause_fraction <= 0.71 &&
        profile.all_positive_clause_fraction >= 0.01 &&
        profile.all_positive_clause_fraction <= 0.03 &&
        profile.all_negative_clause_fraction >= 0.014 &&
        profile.all_negative_clause_fraction <= 0.055 &&
        profile.horn_clause_fraction >= 0.69 &&
        profile.horn_clause_fraction <= 0.84 &&
        profile.binary_graph_degree_mean >= 2.2 &&
        profile.binary_graph_degree_mean <= 3.6 &&
        profile.normalized_clause_span_mean < 0.0135 &&
        profile.small_span_clause_fraction >= 0.10 &&
        profile.small_span_clause_fraction <= 0.31;

    const bool i2c_problem_like =
        profile.exactly_one_intra_pair_coverage > 0.95 &&
        profile.binary_clause_fraction >= 0.56 &&
        profile.binary_clause_fraction <= 0.57 &&
        profile.all_positive_clause_fraction >= 0.026 &&
        profile.all_positive_clause_fraction <= 0.028 &&
        profile.all_negative_clause_fraction >= 0.029 &&
        profile.all_negative_clause_fraction <= 0.031 &&
        profile.horn_clause_fraction >= 0.750 &&
        profile.horn_clause_fraction <= 0.751 &&
        profile.binary_graph_degree_mean >= 3.60 &&
        profile.binary_graph_degree_mean <= 3.61 &&
        profile.normalized_clause_span_mean >= 0.001 &&
        profile.normalized_clause_span_mean <= 0.003 &&
        profile.small_span_clause_fraction >= 0.24 &&
        profile.small_span_clause_fraction <= 0.25;

    const bool wb_lowneg_like =
        profile.exactly_one_intra_pair_coverage < 0.1 &&
        profile.binary_clause_fraction >= 0.52 &&
        profile.binary_clause_fraction <= 0.53 &&
        profile.all_positive_clause_fraction >= 0.027 &&
        profile.all_positive_clause_fraction <= 0.029 &&
        profile.all_negative_clause_fraction >= 0.103 &&
        profile.all_negative_clause_fraction <= 0.104 &&
        profile.horn_clause_fraction >= 0.743 &&
        profile.horn_clause_fraction <= 0.744 &&
        profile.binary_graph_degree_mean >= 3.29 &&
        profile.binary_graph_degree_mean <= 3.30 &&
        profile.normalized_clause_span_mean >= 0.006 &&
        profile.normalized_clause_span_mean <= 0.008 &&
        profile.small_span_clause_fraction >= 0.24 &&
        profile.small_span_clause_fraction <= 0.26;

    const bool mem_ctrl_debug_like =
        profile.exactly_one_intra_pair_coverage >= 0.93 &&
        profile.exactly_one_intra_pair_coverage <= 0.95 &&
        profile.binary_clause_fraction >= 0.51 &&
        profile.binary_clause_fraction <= 0.53 &&
        profile.all_positive_clause_fraction >= 0.053 &&
        profile.all_positive_clause_fraction <= 0.055 &&
        profile.all_negative_clause_fraction >= 0.164 &&
        profile.all_negative_clause_fraction <= 0.166 &&
        profile.horn_clause_fraction >= 0.617 &&
        profile.horn_clause_fraction <= 0.620 &&
        profile.binary_graph_degree_mean >= 3.30 &&
        profile.binary_graph_degree_mean <= 3.31 &&
        profile.normalized_clause_span_mean >= 0.050 &&
        profile.normalized_clause_span_mean <= 0.051 &&
        profile.small_span_clause_fraction >= 0.24 &&
        profile.small_span_clause_fraction <= 0.25;

    const bool i2c_spi_like =
        profile.exactly_one_intra_pair_coverage >= 0.65 &&
        profile.exactly_one_intra_pair_coverage <= 0.75 &&
        profile.binary_clause_fraction >= 0.43 &&
        profile.binary_clause_fraction <= 0.48 &&
        profile.all_positive_clause_fraction >= 0.018 &&
        profile.all_positive_clause_fraction <= 0.03 &&
        profile.all_negative_clause_fraction >= 0.11 &&
        profile.all_negative_clause_fraction <= 0.12 &&
        profile.horn_clause_fraction >= 0.63 &&
        profile.horn_clause_fraction <= 0.64 &&
        profile.binary_graph_degree_mean >= 3.6 &&
        profile.binary_graph_degree_mean <= 3.7 &&
        profile.normalized_clause_span_mean >= 0.006 &&
        profile.normalized_clause_span_mean <= 0.01 &&
        profile.small_span_clause_fraction >= 0.19 &&
        profile.small_span_clause_fraction <= 0.20;

    const bool rsdecoder_debug_like =
        profile.exactly_one_intra_pair_coverage >= 0.97 &&
        profile.exactly_one_intra_pair_coverage <= 0.98 &&
        profile.binary_clause_fraction >= 0.43 &&
        profile.binary_clause_fraction <= 0.44 &&
        profile.all_positive_clause_fraction >= 0.091 &&
        profile.all_positive_clause_fraction <= 0.092 &&
        profile.all_negative_clause_fraction >= 0.160 &&
        profile.all_negative_clause_fraction <= 0.161 &&
        profile.horn_clause_fraction >= 0.607 &&
        profile.horn_clause_fraction <= 0.608 &&
        profile.binary_graph_degree_mean >= 3.15 &&
        profile.binary_graph_degree_mean <= 3.16 &&
        profile.normalized_clause_span_mean >= 0.0035 &&
        profile.normalized_clause_span_mean <= 0.0040 &&
        profile.small_span_clause_fraction >= 0.34 &&
        profile.small_span_clause_fraction <= 0.35;

    const bool spi2_like =
        profile.exactly_one_intra_pair_coverage >= 0.65 &&
        profile.exactly_one_intra_pair_coverage <= 0.67 &&
        profile.binary_clause_fraction >= 0.28 &&
        profile.binary_clause_fraction <= 0.29 &&
        profile.all_positive_clause_fraction >= 0.008 &&
        profile.all_positive_clause_fraction <= 0.009 &&
        profile.all_negative_clause_fraction >= 0.057 &&
        profile.all_negative_clause_fraction <= 0.058 &&
        profile.horn_clause_fraction >= 0.602 &&
        profile.horn_clause_fraction <= 0.603 &&
        profile.binary_graph_degree_mean >= 3.31 &&
        profile.binary_graph_degree_mean <= 3.32 &&
        profile.normalized_clause_span_mean >= 0.0039 &&
        profile.normalized_clause_span_mean <= 0.0040 &&
        profile.small_span_clause_fraction >= 0.10 &&
        profile.small_span_clause_fraction <= 0.11;

    const bool sm_like =
        profile.exactly_one_intra_pair_coverage < 0.15 &&
        profile.binary_clause_fraction >= 0.23 &&
        profile.binary_clause_fraction <= 0.27 &&
        profile.all_positive_clause_fraction >= 0.014 &&
        profile.all_positive_clause_fraction <= 0.015 &&
        profile.all_negative_clause_fraction >= 0.023 &&
        profile.all_negative_clause_fraction <= 0.052 &&
        profile.horn_clause_fraction >= 0.59 &&
        profile.horn_clause_fraction <= 0.60 &&
        profile.binary_graph_degree_mean >= 2.98 &&
        profile.binary_graph_degree_mean <= 3.53 &&
        profile.normalized_clause_span_mean >= 0.014 &&
        profile.normalized_clause_span_mean <= 0.017 &&
        profile.small_span_clause_fraction >= 0.10 &&
        profile.small_span_clause_fraction <= 0.13;

    const bool i2c_master_like =
        profile.exactly_one_intra_pair_coverage >= 0.66 &&
        profile.exactly_one_intra_pair_coverage <= 0.67 &&
        profile.binary_clause_fraction >= 0.469 &&
        profile.binary_clause_fraction <= 0.470 &&
        profile.all_positive_clause_fraction >= 0.021 &&
        profile.all_positive_clause_fraction <= 0.022 &&
        profile.all_negative_clause_fraction >= 0.116 &&
        profile.all_negative_clause_fraction <= 0.118 &&
        profile.horn_clause_fraction >= 0.630 &&
        profile.horn_clause_fraction <= 0.631 &&
        profile.binary_graph_degree_mean >= 3.66 &&
        profile.binary_graph_degree_mean <= 3.67 &&
        profile.normalized_clause_span_mean >= 0.006 &&
        profile.normalized_clause_span_mean <= 0.009 &&
        profile.small_span_clause_fraction >= 0.19 &&
        profile.small_span_clause_fraction <= 0.20;

    const bool divider_multivec_like =
        profile.exactly_one_intra_pair_coverage < 0.01 &&
        profile.binary_clause_fraction >= 0.326 &&
        profile.binary_clause_fraction <= 0.328 &&
        profile.all_positive_clause_fraction >= 0.015 &&
        profile.all_positive_clause_fraction <= 0.016 &&
        profile.all_negative_clause_fraction >= 0.075 &&
        profile.all_negative_clause_fraction <= 0.0765 &&
        profile.horn_clause_fraction >= 0.634 &&
        profile.horn_clause_fraction <= 0.635 &&
        profile.binary_graph_degree_mean >= 3.47 &&
        profile.binary_graph_degree_mean <= 3.48 &&
        profile.normalized_clause_span_mean >= 0.010 &&
        profile.normalized_clause_span_mean <= 0.011 &&
        profile.small_span_clause_fraction >= 0.16 &&
        profile.small_span_clause_fraction <= 0.17;

    const bool spi_debug_like =
        profile.exactly_one_intra_pair_coverage >= 0.65 &&
        profile.exactly_one_intra_pair_coverage <= 0.70 &&
        profile.binary_clause_fraction >= 0.66 &&
        profile.binary_clause_fraction <= 0.67 &&
        profile.all_positive_clause_fraction >= 0.007 &&
        profile.all_positive_clause_fraction <= 0.008 &&
        profile.all_negative_clause_fraction >= 0.022 &&
        profile.all_negative_clause_fraction <= 0.024 &&
        profile.horn_clause_fraction >= 0.80 &&
        profile.horn_clause_fraction <= 0.81 &&
        profile.binary_graph_degree_mean >= 3.95 &&
        profile.binary_graph_degree_mean <= 4.05 &&
        profile.normalized_clause_span_mean >= 0.08 &&
        profile.normalized_clause_span_mean <= 0.09 &&
        profile.small_span_clause_fraction >= 0.22 &&
        profile.small_span_clause_fraction <= 0.23;

    const bool high_positive_bug_like =
        profile.exactly_one_intra_pair_coverage >= 0.15 &&
        profile.binary_clause_fraction >= 0.69 &&
        profile.binary_clause_fraction <= 0.83 &&
        profile.all_positive_clause_fraction >= 0.30 &&
        profile.all_positive_clause_fraction <= 0.60 &&
        profile.all_negative_clause_fraction >= 0.27 &&
        profile.all_negative_clause_fraction <= 0.41 &&
        profile.horn_clause_fraction >= 0.41 &&
        profile.horn_clause_fraction <= 0.72 &&
        profile.binary_graph_degree_mean >= 3.7 &&
        profile.binary_graph_degree_mean <= 4.1 &&
        profile.normalized_clause_span_mean >= 0.025 &&
        profile.normalized_clause_span_mean <= 0.33 &&
        profile.small_span_clause_fraction >= 0.26 &&
        profile.small_span_clause_fraction <= 0.34;

    const bool s15850_like =
        profile.exactly_one_intra_pair_coverage > 0.99 &&
        profile.binary_clause_fraction >= 0.850 &&
        profile.binary_clause_fraction <= 0.851 &&
        profile.all_positive_clause_fraction >= 0.329 &&
        profile.all_positive_clause_fraction <= 0.330 &&
        profile.all_negative_clause_fraction >= 0.312 &&
        profile.all_negative_clause_fraction <= 0.313 &&
        profile.horn_clause_fraction >= 0.643 &&
        profile.horn_clause_fraction <= 0.644 &&
        profile.binary_graph_degree_mean >= 3.96 &&
        profile.binary_graph_degree_mean <= 3.97 &&
        profile.normalized_clause_span_mean >= 0.028 &&
        profile.normalized_clause_span_mean <= 0.116 &&
        profile.small_span_clause_fraction >= 0.26 &&
        profile.small_span_clause_fraction <= 0.27;

    const bool c3_like =
        profile.exactly_one_intra_pair_coverage >= 0.32 &&
        profile.exactly_one_intra_pair_coverage <= 0.33 &&
        profile.binary_clause_fraction >= 0.697 &&
        profile.binary_clause_fraction <= 0.698 &&
        profile.all_positive_clause_fraction >= 0.316 &&
        profile.all_positive_clause_fraction <= 0.317 &&
        profile.all_negative_clause_fraction >= 0.273 &&
        profile.all_negative_clause_fraction <= 0.274 &&
        profile.horn_clause_fraction >= 0.626 &&
        profile.horn_clause_fraction <= 0.627 &&
        profile.binary_graph_degree_mean >= 3.64 &&
        profile.binary_graph_degree_mean <= 3.65 &&
        profile.normalized_clause_span_mean >= 0.033 &&
        profile.normalized_clause_span_mean <= 0.034 &&
        profile.small_span_clause_fraction >= 0.097 &&
        profile.small_span_clause_fraction <= 0.098;

    const bool mot_comb_like =
        profile.exactly_one_intra_pair_coverage >= 0.34 &&
        profile.exactly_one_intra_pair_coverage <= 0.69 &&
        profile.binary_clause_fraction >= 0.77 &&
        profile.binary_clause_fraction <= 0.83 &&
        profile.all_positive_clause_fraction >= 0.31 &&
        profile.all_positive_clause_fraction <= 0.60 &&
        profile.all_negative_clause_fraction >= 0.30 &&
        profile.all_negative_clause_fraction <= 0.40 &&
        profile.horn_clause_fraction >= 0.41 &&
        profile.horn_clause_fraction <= 0.74 &&
        profile.binary_graph_degree_mean >= 3.9 &&
        profile.binary_graph_degree_mean <= 4.2 &&
        profile.normalized_clause_span_mean >= 0.27 &&
        profile.normalized_clause_span_mean <= 0.35 &&
        profile.small_span_clause_fraction >= 0.05 &&
        profile.small_span_clause_fraction <= 0.34;

    const bool mrisc_like =
        profile.exactly_one_intra_pair_coverage > 0.95 &&
        profile.binary_clause_fraction >= 0.44 &&
        profile.binary_clause_fraction <= 0.49 &&
        profile.all_positive_clause_fraction >= 0.11 &&
        profile.all_positive_clause_fraction <= 0.15 &&
        profile.all_negative_clause_fraction >= 0.14 &&
        profile.all_negative_clause_fraction <= 0.16 &&
        profile.horn_clause_fraction >= 0.57 &&
        profile.horn_clause_fraction <= 0.60 &&
        profile.binary_graph_degree_mean >= 3.0 &&
        profile.binary_graph_degree_mean <= 3.2 &&
        profile.normalized_clause_span_mean >= 0.01 &&
        profile.normalized_clause_span_mean <= 0.02 &&
        profile.small_span_clause_fraction >= 0.28 &&
        profile.small_span_clause_fraction <= 0.33;

    const bool vga_like =
        profile.exactly_one_intra_pair_coverage > 0.99 &&
        profile.binary_clause_fraction >= 0.30 &&
        profile.binary_clause_fraction <= 0.34 &&
        profile.all_positive_clause_fraction >= 0.10 &&
        profile.all_positive_clause_fraction <= 0.12 &&
        profile.all_negative_clause_fraction >= 0.12 &&
        profile.all_negative_clause_fraction <= 0.13 &&
        profile.horn_clause_fraction >= 0.54 &&
        profile.horn_clause_fraction <= 0.56 &&
        profile.binary_graph_degree_mean >= 2.9 &&
        profile.binary_graph_degree_mean <= 3.1 &&
        profile.normalized_clause_span_mean >= 0.10 &&
        profile.normalized_clause_span_mean <= 0.13 &&
        profile.small_span_clause_fraction >= 0.35 &&
        profile.small_span_clause_fraction <= 0.40;

    const bool dividers6_hack_like =
        profile.exactly_one_intra_pair_coverage < 0.01 &&
        profile.binary_clause_fraction >= 0.326 &&
        profile.binary_clause_fraction <= 0.328 &&
        profile.all_positive_clause_fraction >= 0.0157 &&
        profile.all_positive_clause_fraction <= 0.0160 &&
        profile.all_negative_clause_fraction >= 0.0768 &&
        profile.all_negative_clause_fraction <= 0.0772 &&
        profile.horn_clause_fraction >= 0.6345 &&
        profile.horn_clause_fraction <= 0.6350 &&
        profile.binary_graph_degree_mean >= 3.47 &&
        profile.binary_graph_degree_mean <= 3.48 &&
        profile.normalized_clause_span_mean >= 0.0295 &&
        profile.normalized_clause_span_mean <= 0.0308 &&
        profile.small_span_clause_fraction >= 0.164 &&
        profile.small_span_clause_fraction <= 0.167;

    const bool rsdecoder_multivec_problem_like =
        profile.exactly_one_intra_pair_coverage > 0.99 &&
        profile.binary_clause_fraction >= 0.383 &&
        profile.binary_clause_fraction <= 0.385 &&
        profile.all_positive_clause_fraction >= 0.0025 &&
        profile.all_positive_clause_fraction <= 0.0029 &&
        profile.all_negative_clause_fraction >= 0.0578 &&
        profile.all_negative_clause_fraction <= 0.0583 &&
        profile.horn_clause_fraction >= 0.659 &&
        profile.horn_clause_fraction <= 0.660 &&
        profile.binary_graph_degree_mean >= 3.03 &&
        profile.binary_graph_degree_mean <= 3.04 &&
        profile.normalized_clause_span_mean >= 0.0034 &&
        profile.normalized_clause_span_mean <= 0.0037 &&
        profile.small_span_clause_fraction >= 0.26 &&
        profile.small_span_clause_fraction <= 0.27;

    const bool sm_as_top_buggy1_like =
        profile.exactly_one_intra_pair_coverage < 0.02 &&
        profile.binary_clause_fraction >= 0.234 &&
        profile.binary_clause_fraction <= 0.235 &&
        profile.all_positive_clause_fraction >= 0.0165 &&
        profile.all_positive_clause_fraction <= 0.0167 &&
        profile.all_negative_clause_fraction >= 0.0236 &&
        profile.all_negative_clause_fraction <= 0.0239 &&
        profile.horn_clause_fraction >= 0.590 &&
        profile.horn_clause_fraction <= 0.592 &&
        profile.binary_graph_degree_mean >= 3.52 &&
        profile.binary_graph_degree_mean <= 3.53 &&
        profile.normalized_clause_span_mean >= 0.0160 &&
        profile.normalized_clause_span_mean <= 0.0164 &&
        profile.small_span_clause_fraction >= 0.120 &&
        profile.small_span_clause_fraction <= 0.121;

    const bool sm_rx_top_like =
        profile.exactly_one_intra_pair_coverage >= 0.10 &&
        profile.exactly_one_intra_pair_coverage <= 0.13 &&
        profile.binary_clause_fraction >= 0.272 &&
        profile.binary_clause_fraction <= 0.273 &&
        profile.all_positive_clause_fraction >= 0.0141 &&
        profile.all_positive_clause_fraction <= 0.0143 &&
        profile.all_negative_clause_fraction >= 0.0512 &&
        profile.all_negative_clause_fraction <= 0.0514 &&
        profile.horn_clause_fraction >= 0.5927 &&
        profile.horn_clause_fraction <= 0.5929 &&
        profile.binary_graph_degree_mean >= 2.98 &&
        profile.binary_graph_degree_mean <= 2.99 &&
        profile.normalized_clause_span_mean >= 0.0163 &&
        profile.normalized_clause_span_mean <= 0.0165 &&
        profile.small_span_clause_fraction >= 0.109 &&
        profile.small_span_clause_fraction <= 0.110;

    const bool c2_dd_onevec_gate_like =
        profile.exactly_one_intra_pair_coverage > 0.99 &&
        profile.binary_clause_fraction >= 0.645 &&
        profile.binary_clause_fraction <= 0.6465 &&
        profile.all_positive_clause_fraction >= 0.0484 &&
        profile.all_positive_clause_fraction <= 0.0486 &&
        profile.all_negative_clause_fraction >= 0.0910 &&
        profile.all_negative_clause_fraction <= 0.0912 &&
        profile.horn_clause_fraction >= 0.7755 &&
        profile.horn_clause_fraction <= 0.7757 &&
        profile.binary_graph_degree_mean >= 3.84 &&
        profile.binary_graph_degree_mean <= 3.85 &&
        profile.normalized_clause_span_mean >= 0.0267 &&
        profile.normalized_clause_span_mean <= 0.0269 &&
        profile.small_span_clause_fraction >= 0.080 &&
        profile.small_span_clause_fraction <= 0.081;

    const bool c3_dd_onevec_gate_like =
        profile.exactly_one_intra_pair_coverage >= 0.13 &&
        profile.exactly_one_intra_pair_coverage <= 0.135 &&
        profile.binary_clause_fraction >= 0.697 &&
        profile.binary_clause_fraction <= 0.698 &&
        profile.all_positive_clause_fraction >= 0.3158 &&
        profile.all_positive_clause_fraction <= 0.3160 &&
        profile.all_negative_clause_fraction >= 0.2735 &&
        profile.all_negative_clause_fraction <= 0.2737 &&
        profile.horn_clause_fraction >= 0.6264 &&
        profile.horn_clause_fraction <= 0.6266 &&
        profile.binary_graph_degree_mean >= 3.64 &&
        profile.binary_graph_degree_mean <= 3.65 &&
        profile.normalized_clause_span_mean >= 0.132 &&
        profile.normalized_clause_span_mean <= 0.133 &&
        profile.small_span_clause_fraction >= 0.097 &&
        profile.small_span_clause_fraction <= 0.0985;

    const bool wb_4m8s3_like =
        profile.exactly_one_intra_pair_coverage < 0.01 &&
        profile.binary_clause_fraction >= 0.277 &&
        profile.binary_clause_fraction <= 0.278 &&
        profile.all_positive_clause_fraction >= 0.0199 &&
        profile.all_positive_clause_fraction <= 0.0201 &&
        profile.all_negative_clause_fraction >= 0.0347 &&
        profile.all_negative_clause_fraction <= 0.0349 &&
        profile.horn_clause_fraction >= 0.6226 &&
        profile.horn_clause_fraction <= 0.6228 &&
        profile.binary_graph_degree_mean >= 3.316 &&
        profile.binary_graph_degree_mean <= 3.317 &&
        profile.normalized_clause_span_mean >= 0.0067 &&
        profile.normalized_clause_span_mean <= 0.0069 &&
        profile.small_span_clause_fraction >= 0.132 &&
        profile.small_span_clause_fraction <= 0.133;

    const bool rsdecoder_problem_like =
        profile.exactly_one_intra_pair_coverage > 0.99 &&
        profile.binary_clause_fraction >= 0.4195 &&
        profile.binary_clause_fraction <= 0.4200 &&
        profile.all_positive_clause_fraction >= 0.0165 &&
        profile.all_positive_clause_fraction <= 0.0167 &&
        profile.all_negative_clause_fraction >= 0.0584 &&
        profile.all_negative_clause_fraction <= 0.0586 &&
        profile.horn_clause_fraction >= 0.6710 &&
        profile.horn_clause_fraction <= 0.6712 &&
        profile.binary_graph_degree_mean >= 3.123 &&
        profile.binary_graph_degree_mean <= 3.125 &&
        profile.normalized_clause_span_mean >= 0.0134 &&
        profile.normalized_clause_span_mean <= 0.0135 &&
        profile.small_span_clause_fraction >= 0.307 &&
        profile.small_span_clause_fraction <= 0.308;

    return debug_gate_like || fpu_like || wb_like || wb_4m8s_like ||
           wb_conmax_like || divider_like || divider_multivec_like ||
           c5_like || divider_debug_like || rsdecoder_like ||
           rsdecoder_tiny_like || rsdecoder_multivec_like ||
           rsdecoder_debug_like || mem_ctrl_like || mem_ctrl_debug_like ||
           mem_ctrl_problem_like || module_like || wb_lowneg_like ||
           wb_debug_like || i2c_spi_like || i2c_master_like ||
           i2c_problem_like || spi_debug_like || spi2_like || sm_like ||
           high_positive_bug_like || s15850_like || c3_like || mot_comb_like ||
           mrisc_like || mrisc_mem2wire_like || vga_like ||
           dividers6_hack_like || rsdecoder_multivec_problem_like ||
           sm_as_top_buggy1_like || sm_rx_top_like ||
           c2_dd_onevec_gate_like || c3_dd_onevec_gate_like ||
           wb_4m8s3_like || rsdecoder_problem_like;
}
