{
  "c7_block_size": 1,
  "c7_mode": "coordinate",
  "keygen_time_s": 0.0035390689999985625,
  "note": "Pure-Python validation prototype. Do not compare wall-clock directly against optimized FHE libraries.",
  "operations": [
    "add",
    "sub",
    "neg",
    "scalar_mul",
    "add_const",
    "mul",
    "square",
    "affine",
    "dot4",
    "poly2",
    "product4",
    "quadratic_form",
    "and",
    "or",
    "xor",
    "not",
    "nand",
    "nor",
    "xnor",
    "implies"
  ],
  "preset": "c4_projective_toy_clean",
  "summary_by_operation": {
    "add": {
      "build_eval_time_s": {
        "max": 0.0004091119999429793,
        "mean": 0.00036555333326759865,
        "median": 0.0003666289999273431,
        "min": 0.0003209189999324735
      },
      "compact_decrypt_time_s": {
        "max": 0.0009135310001511243,
        "mean": 0.0008253446667367825,
        "median": 0.0008544580000489077,
        "min": 0.0007080450000103156
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 4,
      "max_row_support_seen": 4,
      "max_total_output_nnz_seen": 137,
      "mean_c7_compaction_terms": {
        "max": 4.0,
        "mean": 3.6666666666666665,
        "median": 3.6666666666666665,
        "min": 3.3333333333333335
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0013226430000941036,
        "mean": 0.0011908980000043812,
        "median": 0.0012210869999762508,
        "min": 0.001028963999942789
      },
      "trials": 3
    },
    "add_const": {
      "build_eval_time_s": {
        "max": 0.00023837399976400775,
        "mean": 0.00022892266648947648,
        "median": 0.00023406799982694793,
        "min": 0.0002143259998774738
      },
      "compact_decrypt_time_s": {
        "max": 0.0006165230001897726,
        "mean": 0.0005768053335183746,
        "median": 0.00060258600024099,
        "min": 0.0005113070001243614
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 3,
      "max_row_support_seen": 4,
      "max_total_output_nnz_seen": 134,
      "mean_c7_compaction_terms": {
        "max": 2.6666666666666665,
        "mean": 2.444444444444444,
        "median": 2.6666666666666665,
        "min": 2.0
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0008548969999537803,
        "mean": 0.0008057280000078512,
        "median": 0.0008366540000679379,
        "min": 0.0007256330000018352
      },
      "trials": 3
    },
    "affine": {
      "build_eval_time_s": {
        "max": 0.0005219959998612467,
        "mean": 0.0005205076666546423,
        "median": 0.0005200800001148309,
        "min": 0.0005194469999878493
      },
      "compact_decrypt_time_s": {
        "max": 0.0008641379999971832,
        "mean": 0.0008133423333068398,
        "median": 0.0008218339999075397,
        "min": 0.0007540550000157964
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 4,
      "max_row_support_seen": 5,
      "max_total_output_nnz_seen": 170,
      "mean_c7_compaction_terms": {
        "max": 4.0,
        "mean": 3.888888888888889,
        "median": 4.0,
        "min": 3.6666666666666665
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0013835849999850325,
        "mean": 0.0013338499999614821,
        "median": 0.0013419140000223706,
        "min": 0.001276050999877043
      },
      "trials": 3
    },
    "and": {
      "build_eval_time_s": {
        "max": 0.0004922029997942445,
        "mean": 0.00047614933328077313,
        "median": 0.00047044999973877566,
        "min": 0.0004657950003092992
      },
      "compact_decrypt_time_s": {
        "max": 0.001138683000135643,
        "mean": 0.000980239000000438,
        "median": 0.0010228539999843633,
        "min": 0.0007791799998813076
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 7,
      "max_row_support_seen": 7,
      "max_total_output_nnz_seen": 208,
      "mean_c7_compaction_terms": {
        "max": 6.0,
        "mean": 5.0,
        "median": 5.333333333333333,
        "min": 3.6666666666666665
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0016091329998744186,
        "mean": 0.001456388333281211,
        "median": 0.0015150569997786079,
        "min": 0.0012449750001906068
      },
      "trials": 3
    },
    "dot4": {
      "build_eval_time_s": {
        "max": 0.0012865940002484422,
        "mean": 0.001093029333484689,
        "median": 0.0010164059999624442,
        "min": 0.0009760880002431804
      },
      "compact_decrypt_time_s": {
        "max": 0.0010650310000528407,
        "mean": 0.0009738543332484065,
        "median": 0.000992719999885594,
        "min": 0.000863811999806785
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 6,
      "max_row_support_seen": 7,
      "max_total_output_nnz_seen": 198,
      "mean_c7_compaction_terms": {
        "max": 5.0,
        "mean": 4.666666666666667,
        "median": 4.666666666666667,
        "min": 4.333333333333333
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.002279314000134036,
        "mean": 0.0020668836667330956,
        "median": 0.002041119000296021,
        "min": 0.0018802179997692292
      },
      "trials": 3
    },
    "implies": {
      "build_eval_time_s": {
        "max": 0.0006437319998440216,
        "mean": 0.0005973246667660229,
        "median": 0.0005858010003976233,
        "min": 0.0005624410000564239
      },
      "compact_decrypt_time_s": {
        "max": 0.001204911000058928,
        "mean": 0.0010947499998413452,
        "median": 0.0010710339997785923,
        "min": 0.0010083049996865157
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 8,
      "max_row_support_seen": 8,
      "max_total_output_nnz_seen": 252,
      "mean_c7_compaction_terms": {
        "max": 6.666666666666667,
        "mean": 5.888888888888889,
        "median": 5.666666666666667,
        "min": 5.333333333333333
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0018486429999029497,
        "mean": 0.0016920746666073683,
        "median": 0.0016334749998350162,
        "min": 0.001594106000084139
      },
      "trials": 3
    },
    "mul": {
      "build_eval_time_s": {
        "max": 0.0004705169999397185,
        "mean": 0.00045289100004689925,
        "median": 0.0004488270001274941,
        "min": 0.0004393290000734851
      },
      "compact_decrypt_time_s": {
        "max": 0.001162174999990384,
        "mean": 0.0009982056665952161,
        "median": 0.0009833049998633214,
        "min": 0.0008491369999319431
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 7,
      "max_row_support_seen": 7,
      "max_total_output_nnz_seen": 201,
      "mean_c7_compaction_terms": {
        "max": 6.333333333333333,
        "mean": 5.222222222222222,
        "median": 5.0,
        "min": 4.333333333333333
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0016326919999301026,
        "mean": 0.0014510966666421155,
        "median": 0.0014226339999368065,
        "min": 0.0012979640000594372
      },
      "trials": 3
    },
    "nand": {
      "build_eval_time_s": {
        "max": 0.0005485500000759203,
        "mean": 0.000532881666610289,
        "median": 0.00054237699987425,
        "min": 0.0005077179998806969
      },
      "compact_decrypt_time_s": {
        "max": 0.001311893000092823,
        "mean": 0.0009887253333242068,
        "median": 0.0008435519998784002,
        "min": 0.0008107310000013968
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 7,
      "max_row_support_seen": 8,
      "max_total_output_nnz_seen": 207,
      "mean_c7_compaction_terms": {
        "max": 5.333333333333333,
        "mean": 4.555555555555555,
        "median": 4.333333333333333,
        "min": 4.0
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.001854269999967073,
        "mean": 0.0015216069999344957,
        "median": 0.0013921019999543205,
        "min": 0.0013184489998820936
      },
      "trials": 3
    },
    "neg": {
      "build_eval_time_s": {
        "max": 0.00030765099972995813,
        "mean": 0.00024179766660381574,
        "median": 0.00021688700007871375,
        "min": 0.00020085500000277534
      },
      "compact_decrypt_time_s": {
        "max": 0.000668193000365136,
        "mean": 0.0006583013335633344,
        "median": 0.0006578350003110245,
        "min": 0.0006488760000138427
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 3,
      "max_row_support_seen": 3,
      "max_total_output_nnz_seen": 110,
      "mean_c7_compaction_terms": {
        "max": 3.0,
        "mean": 2.888888888888889,
        "median": 3.0,
        "min": 2.6666666666666665
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0009654860000409826,
        "mean": 0.0009000990001671502,
        "median": 0.0008690480003679113,
        "min": 0.0008657630000925565
      },
      "trials": 3
    },
    "nor": {
      "build_eval_time_s": {
        "max": 0.001240402999883372,
        "mean": 0.0009268773334648964,
        "median": 0.0007816390002517437,
        "min": 0.0007585900002595736
      },
      "compact_decrypt_time_s": {
        "max": 0.0013990150000608992,
        "mean": 0.0012501656666851584,
        "median": 0.0012484170001698658,
        "min": 0.00110306499982471
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 7,
      "max_row_support_seen": 9,
      "max_total_output_nnz_seen": 248,
      "mean_c7_compaction_terms": {
        "max": 6.0,
        "mean": 5.888888888888889,
        "median": 6.0,
        "min": 5.666666666666667
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.002488820000053238,
        "mean": 0.002177043000150055,
        "median": 0.0021576050003204728,
        "min": 0.0018847040000764537
      },
      "trials": 3
    },
    "not": {
      "build_eval_time_s": {
        "max": 0.0002589000000625674,
        "mean": 0.00023801700005302942,
        "median": 0.00023620000001756125,
        "min": 0.00021895100007895962
      },
      "compact_decrypt_time_s": {
        "max": 0.0006147639996925136,
        "mean": 0.0005902046665748154,
        "median": 0.0005967929996586463,
        "min": 0.0005590570003732864
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 3,
      "max_row_support_seen": 4,
      "max_total_output_nnz_seen": 131,
      "mean_c7_compaction_terms": {
        "max": 2.6666666666666665,
        "mean": 2.5555555555555554,
        "median": 2.6666666666666665,
        "min": 2.3333333333333335
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0008556929997212137,
        "mean": 0.0008282216666278449,
        "median": 0.0008337149997714732,
        "min": 0.0007952570003908477
      },
      "trials": 3
    },
    "or": {
      "build_eval_time_s": {
        "max": 0.0006291519998740114,
        "mean": 0.0006025769998814212,
        "median": 0.0006279770000219287,
        "min": 0.0005506019997483236
      },
      "compact_decrypt_time_s": {
        "max": 0.0011664680000649241,
        "mean": 0.0010916146667720266,
        "median": 0.0010851900001398462,
        "min": 0.0010231860001113091
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 6,
      "max_row_support_seen": 9,
      "max_total_output_nnz_seen": 237,
      "mean_c7_compaction_terms": {
        "max": 5.666666666666667,
        "mean": 5.555555555555555,
        "median": 5.666666666666667,
        "min": 5.333333333333333
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0017944450000868528,
        "mean": 0.0016941916666534478,
        "median": 0.0017143420000138576,
        "min": 0.0015737879998596327
      },
      "trials": 3
    },
    "poly2": {
      "build_eval_time_s": {
        "max": 0.0007327210000767082,
        "mean": 0.0007067936667226604,
        "median": 0.0007207080002444854,
        "min": 0.0006669519998467877
      },
      "compact_decrypt_time_s": {
        "max": 0.0011613869996836002,
        "mean": 0.0010987506666424451,
        "median": 0.0010746640000434127,
        "min": 0.0010602010002003226
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 7,
      "max_row_support_seen": 9,
      "max_total_output_nnz_seen": 235,
      "mean_c7_compaction_terms": {
        "max": 5.333333333333333,
        "mean": 5.0,
        "median": 5.0,
        "min": 4.666666666666667
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0018820949999280856,
        "mean": 0.0018055443333651056,
        "median": 0.0017929220002770307,
        "min": 0.0017416159998902003
      },
      "trials": 3
    },
    "product4": {
      "build_eval_time_s": {
        "max": 0.001567182999679062,
        "mean": 0.0014459449998867058,
        "median": 0.0015046299999994517,
        "min": 0.0012660219999816036
      },
      "compact_decrypt_time_s": {
        "max": 0.0016662809998706507,
        "mean": 0.0014485019999786648,
        "median": 0.0015642289999959758,
        "min": 0.0011149960000693682
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 11,
      "max_row_support_seen": 12,
      "max_total_output_nnz_seen": 379,
      "mean_c7_compaction_terms": {
        "max": 9.0,
        "mean": 8.0,
        "median": 9.0,
        "min": 6.0
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0031709109998701024,
        "mean": 0.002894446999865371,
        "median": 0.003131411999675038,
        "min": 0.0023810180000509718
      },
      "trials": 3
    },
    "quadratic_form": {
      "build_eval_time_s": {
        "max": 0.0012643949999073811,
        "mean": 0.0011136253333461354,
        "median": 0.0010729440000432078,
        "min": 0.0010035370000878174
      },
      "compact_decrypt_time_s": {
        "max": 0.0015915600001790153,
        "mean": 0.0014611050000894465,
        "median": 0.0015409950001412653,
        "min": 0.001250759999948059
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 10,
      "max_row_support_seen": 10,
      "max_total_output_nnz_seen": 291,
      "mean_c7_compaction_terms": {
        "max": 8.666666666666666,
        "mean": 7.333333333333333,
        "median": 7.0,
        "min": 6.333333333333333
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0028559550000863965,
        "mean": 0.002574730333435582,
        "median": 0.002613939000184473,
        "min": 0.0022542970000358764
      },
      "trials": 3
    },
    "scalar_mul": {
      "build_eval_time_s": {
        "max": 0.00020717400002467912,
        "mean": 0.00019782800003061615,
        "median": 0.00020705899987660814,
        "min": 0.00017925100019056117
      },
      "compact_decrypt_time_s": {
        "max": 0.0008960509999269561,
        "mean": 0.0007499616666185224,
        "median": 0.0007602810001117177,
        "min": 0.0005935529998168931
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 3,
      "max_row_support_seen": 3,
      "max_total_output_nnz_seen": 107,
      "mean_c7_compaction_terms": {
        "max": 3.0,
        "mean": 2.888888888888889,
        "median": 3.0,
        "min": 2.6666666666666665
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0011032249999516353,
        "mean": 0.0009477896666491384,
        "median": 0.0009673399999883259,
        "min": 0.0007728040000074543
      },
      "trials": 3
    },
    "square": {
      "build_eval_time_s": {
        "max": 0.00032984900008159457,
        "mean": 0.00030965800002983695,
        "median": 0.00032267100004901295,
        "min": 0.0002764539999589033
      },
      "compact_decrypt_time_s": {
        "max": 0.0010439769998811244,
        "mean": 0.0008540720000382862,
        "median": 0.0008112270002129662,
        "min": 0.000707012000020768
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 7,
      "max_row_support_seen": 7,
      "max_total_output_nnz_seen": 214,
      "mean_c7_compaction_terms": {
        "max": 5.666666666666667,
        "mean": 4.333333333333334,
        "median": 4.0,
        "min": 3.3333333333333335
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.001373825999962719,
        "mean": 0.0011637300000681232,
        "median": 0.0011338980002619792,
        "min": 0.0009834659999796713
      },
      "trials": 3
    },
    "sub": {
      "build_eval_time_s": {
        "max": 0.00035925099973610486,
        "mean": 0.00034071633323643863,
        "median": 0.0003318859999126289,
        "min": 0.00033101200006058207
      },
      "compact_decrypt_time_s": {
        "max": 0.0008124790001602378,
        "mean": 0.0007133990000814568,
        "median": 0.0007113830001799215,
        "min": 0.0006163349999042111
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 4,
      "max_row_support_seen": 4,
      "max_total_output_nnz_seen": 140,
      "mean_c7_compaction_terms": {
        "max": 4.0,
        "mean": 3.3333333333333335,
        "median": 3.3333333333333335,
        "min": 2.6666666666666665
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.0011443650000728667,
        "mean": 0.0010541153333178954,
        "median": 0.0010423950002405036,
        "min": 0.000975585999640316
      },
      "trials": 3
    },
    "xnor": {
      "build_eval_time_s": {
        "max": 0.0008702950003680598,
        "mean": 0.0008393906667455061,
        "median": 0.0008565169996472832,
        "min": 0.0007913600002211751
      },
      "compact_decrypt_time_s": {
        "max": 0.0013141110002834466,
        "mean": 0.0012938629999249922,
        "median": 0.0013077439998596674,
        "min": 0.0012597339996318624
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 8,
      "max_row_support_seen": 10,
      "max_total_output_nnz_seen": 260,
      "mean_c7_compaction_terms": {
        "max": 6.333333333333333,
        "mean": 6.222222222222222,
        "median": 6.333333333333333,
        "min": 6.0
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.00217062799993073,
        "mean": 0.002133253666670498,
        "median": 0.0021300289999999222,
        "min": 0.0020991040000808425
      },
      "trials": 3
    },
    "xor": {
      "build_eval_time_s": {
        "max": 0.0006803129999752855,
        "mean": 0.0006534480000179125,
        "median": 0.0006660640001427964,
        "min": 0.0006139669999356556
      },
      "compact_decrypt_time_s": {
        "max": 0.0012726720001410285,
        "mean": 0.001114529000157442,
        "median": 0.0011526600001161569,
        "min": 0.0009182550002151402
      },
      "failures": 0,
      "max_c7_compaction_terms_seen": 7,
      "max_row_support_seen": 9,
      "max_total_output_nnz_seen": 249,
      "mean_c7_compaction_terms": {
        "max": 7.0,
        "mean": 5.888888888888889,
        "median": 6.0,
        "min": 4.666666666666667
      },
      "successes": 3,
      "total_time_s": {
        "max": 0.001938736000283825,
        "mean": 0.0017679770001753543,
        "median": 0.0018329730000914424,
        "min": 0.0015322220001507958
      },
      "trials": 3
    }
  }
}
