{
  "assisted_by": [
    "Claude (Anthropic)"
  ],
  "canonical_sha256": "943a14ddf3945bc4bea101573c12ca613ba971f028bf386573d39ed612207310",
  "checker": {
    "canon_script_sha256": "bbd11227d45dc1365f27597fd45c565fe721ba2648450588fc4fd983d00b367b",
    "extractor_sha256": "4930696021c588c75dc890034c534c95560ad9a28a4955b87d1f8d68b5edbc0c",
    "files": {
      "check.py": "e708084f72f955b0ae1aaabe469dba3eacc5a91484a1ed81bcc073b60f3c0b6d",
      "check/Comparator.lean": "3145eb578ca71e452eff05a398e8ad04673e6c72ca5343b234cb22e2cefe65a6",
      "check/SvEval.lean": "fb51d72510b515460866c2798aad3c6f55295536e627b92854c3580af215bb91",
      "check/clocked_rules.py": "73856a45905724544247ad29042bdc2f1778271ec07b15cdb3a5f214685165c1",
      "check/envelope.py": "076db01a9791bcc25ee84e9b0033604a4b675f00b212eab0c864078e6a4748b7",
      "check/postsynth.py": "4e1ee2110c63f24e033dd689c929ea686ddf10f4db23b9057c6fb711394c7558",
      "lakefile.toml": "f35a88404367d22906effc14d644aac9a9cad47dfd3b704ea8fec88acfaf9c4d",
      "lean-toolchain": "62c2d9c0fc1ec4c67e151c11eff41ca004ef38e179cf9476c230406e6defedef",
      "score/banlist.py": "f18c14c23a14d55db63e202f42cc424dc84c1dd1c337f132ad60859dc9d5d33a",
      "score/canon.ys": "bbd11227d45dc1365f27597fd45c565fe721ba2648450588fc4fd983d00b367b",
      "score/fourstate.py": "95332451ae3754226fb87b46027385b46a91121e7eb9ae25b302bce756d90475",
      "score/ge.json": "6a29196a3f4b58241f4c9af650c9141e4632b737214d563a11ba142a725c4bea",
      "score/ge_seq.json": "54b93ca63888009d0671c8978e8ab7bf4fb8ce303bc78d3b4e1f83d946cc3201",
      "score/ppa.py": "912031912c3e3f6790725161753e95415df34846bd8c27dde3eb707747ddbcbe",
      "score/ppa_mapped.ys": "93547b343dbac135737e98516b1004a780e1cf2f579e1bd7fed82c908c6d4125",
      "score/ppa_mapped_pins.json": "4b8688ba3f4d67681658e5944afe878592adf588cd416a8b47597ebe06deb045",
      "score/ppa_pins.json": "d66a6086a37a97f5985266057051979fb6a8a3c557d3ef9c42acc1b5e41502d8",
      "score/score.py": "71d2e3b82f8813ec64a58f0a46909ca23dfab377db44eda6f294b713f45ae781",
      "score/srcgate.py": "11952f61058051c9e8de91a801b672d07e66a29308e978156c04ffd9f0dbef45",
      "score/svgolf.ys": "ea58219d8ef14c3bad265218ee266ccdb709ac9d4dc5258edc34d51ee83a0445",
      "score/svgolf_seq.ys": "c3874dbfc85921a87df6eacdfc6b2c9a0e2b34edd5738951e0d8bdb51f4558b2"
    },
    "ge_table_sha256": "6a29196a3f4b58241f4c9af650c9141e4632b737214d563a11ba142a725c4bea",
    "lean_surfaces_revision": "d1f3cae6f01a088007a57b31ff8baa6b839d6f74",
    "lean_toolchain": "leanprover/lean4:v4.33.0-rc1",
    "script_sha256": "ea58219d8ef14c3bad265218ee266ccdb709ac9d4dc5258edc34d51ee83a0445",
    "statement": {
      "SvGolf/Task.lean": "b3f184fea55550ad95a76f0af490899f2d69f39dc5205d7408c69e1cf6de4e75",
      "tasks/clmul/Spec.lean": "7f8461a613cd16fd7c5ae0c41380539232f195d809bcd1ee37fbe50a28ee7b44"
    },
    "svgolf_revision": "d1f3cae6f01a088007a57b31ff8baa6b839d6f74",
    "verilator": "Verilator 5.042 2025-11-02 rev UNKNOWN.REV",
    "yosys": "Yosys 0.53 (git sha1 53c22ab7c0ced80861c7536c5dae682c30fb5834, clang++ 17.0.0 -fPIC -O3)"
  },
  "files": {
    "lean": {
      "name": "clmul_n.lean",
      "sha256": "c54a36897565a7eaf366dd21850757f7c32bba7ece34ffdac930df05dae88bf4"
    },
    "sv": {
      "name": "clmul_n.sv",
      "sha256": "4637e72ba5368a35cf427b948aeab0ba3ce8aa6c2f249d2ab90f1ef44372f1ad"
    }
  },
  "notes": "reference solution",
  "player": "svgolf-reference",
  "postsynth": {
    "full_vectors": 630,
    "mismatches": 0,
    "mode": "full",
    "point": "N=16",
    "salted": false,
    "seed": "3af21d27c8f0cf7df60eb1a206b0feb72244e5e46139a179b6e03331eb6b06ac",
    "vectors": 630
  },
  "ppa": {
    "area_e4um2_sky130": 34295392,
    "area_um2_sky130": 3429.5392,
    "available": true,
    "cell_hist_sky130": {
      "and2_1": 199,
      "nand2_1": 57,
      "xnor2_1": 225
    },
    "cells_sky130": 481,
    "constants": false,
    "critical": {
      "cells": 6,
      "edge": "r",
      "output": "p[15]"
    },
    "delay_ps_sky130": 1114,
    "legality": {
      "cells_outside_tables": 0,
      "over_max_capacitance": 0,
      "over_max_transition": 0,
      "table_reads_outside": 0,
      "worst_load_ratio": 0.144,
      "worst_transition_ratio": 0.178
    },
    "liberty_file": "sky130_fd_sc_hd__tt_025C_1v80.lib",
    "liberty_sha256": "ef34f999d582044cad9c1f4d5422504ae99702ad42baa432d75215476e5d23d5",
    "mapped": {
      "abc_version": "UC Berkeley, ABC 1.01 (compiled May  6 2025 05:45:16)",
      "area_e4um2_sky130_mapped_v1": 29415712,
      "area_um2_sky130_mapped_v1": 2941.5712,
      "available": true,
      "constants": false,
      "critical": {
        "cells": 5,
        "edge": "f",
        "output": "p[15]"
      },
      "equivalence": {
        "seed": "svgolf-ppa-mapped/1",
        "vectors": 2048
      },
      "liberty_file": "sky130_fd_sc_hd__tt_025C_1v80.lib",
      "liberty_sha256": "ef34f999d582044cad9c1f4d5422504ae99702ad42baa432d75215476e5d23d5",
      "mapped_buffers_sky130_v1": 0,
      "mapped_cell_hist_sky130_v1": {
        "and2_0": 2,
        "nand2_1": 254,
        "xnor2_1": 169,
        "xnor3_1": 1,
        "xor2_1": 54
      },
      "mapped_cells_sky130_v1": 480,
      "mapped_delay_sky130_v1": 957,
      "mapped_inverters_sky130_v1": 0,
      "mapped_levels_sky130_v1": 5,
      "netlist_sha256": "1bb8092e418a21a36bc32dea1cad6a72616fe9e297cccaaa71bffb3e4c9c78d4",
      "ppa_mapped_pins_sha256": "4b8688ba3f4d67681658e5944afe878592adf588cd416a8b47597ebe06deb045",
      "ppa_mapped_script_sha256": "93547b343dbac135737e98516b1004a780e1cf2f579e1bd7fed82c908c6d4125",
      "ppa_mapped_version": "sky130_a1_v1",
      "ppa_pins_sha256": "d66a6086a37a97f5985266057051979fb6a8a3c557d3ef9c42acc1b5e41502d8",
      "ppa_script_sha256": "912031912c3e3f6790725161753e95415df34846bd8c27dde3eb707747ddbcbe",
      "rtlil_sha256": "308149de643dedabab540218ac8e9dc7d31c45ce69c49626cab6c267e2c57c74",
      "setup": {
        "pi_slew_ps": 50,
        "po_load_ff": 10,
        "wires": "none"
      },
      "yosys_version": "Yosys 0.53 (git sha1 53c22ab7c0ced80861c7536c5dae682c30fb5834, clang++ 17.0.0 -fPIC -O3)"
    },
    "netlist_sha256": "53ab6ddd5ef519de7f4338e18b7fd5f7df17d163840a02d6cddc1ff8e60a29c0",
    "ppa_pins_sha256": "d66a6086a37a97f5985266057051979fb6a8a3c557d3ef9c42acc1b5e41502d8",
    "ppa_script_sha256": "912031912c3e3f6790725161753e95415df34846bd8c27dde3eb707747ddbcbe",
    "ppa_version": "sky130_a0_v3",
    "repair": {
      "buffers": 0,
      "cells_before": 481,
      "method": "buffer_trees_v1",
      "netlist_sha256": "dc11ba038ed78876109233ff0982e8286f3f5d17a6afbcd2f80747fc9b677caa",
      "nets_buffered": 0,
      "rounds": 1,
      "tie_cells": 0
    },
    "setup": {
      "input_drive": "sky130_fd_sc_hd__buf_8",
      "pi_slew_ps": 50,
      "po_load_ff": 10,
      "tables": "no extrapolation",
      "wires": "none"
    },
    "unit_depth": 6
  },
  "proof": {
    "axioms": [
      "Classical.choice",
      "Quot.sound",
      "propext"
    ],
    "build_seconds": 16.64,
    "imports": [
      "Submission.Design",
      "tasks.clmul.Spec",
      "SvGolf.Comb",
      "LeanModels.Sv.CombEqTactic",
      "LeanModels.Sv.CombLib"
    ],
    "lines": 238,
    "tactics": [
      "decide",
      "induction",
      "omega",
      "simp",
      "sv_cover",
      "sv_equations",
      "sv_interface",
      "sv_rowmajor",
      "sv_structure"
    ],
    "uses_comb_eq": true,
    "uses_comb_view": false
  },
  "record_hash": "bfb3c58778b624c3de1cbe0d46c15560a9534ddc13da8f512b8931457989f745",
  "schema": "svgolf-leaderboard-record/1",
  "score": {
    "area_ge": 772.267,
    "area_mge": 772267,
    "depth": 6,
    "gates": {
      "AND": 199,
      "NAND": 57,
      "XNOR": 225
    },
    "num_gates": 481,
    "rtlil_sha256": "308149de643dedabab540218ac8e9dc7d31c45ce69c49626cab6c267e2c57c74",
    "scoring_point": {
      "N": 16
    },
    "top": "clmul_n"
  },
  "submitted_at": "2026-11-07",
  "task": "clmul"
}
