gitextract_74kaprsg/ ├── .config/ │ └── nextest.toml ├── .gitattributes ├── .github/ │ ├── actions/ │ │ ├── init-testing-instance/ │ │ │ └── action.yml │ │ ├── init-testing-instance-gpu/ │ │ │ └── action.yml │ │ └── patch-openvm-reth-benchmark/ │ │ └── action.yml │ ├── runner/ │ │ └── Dockerfile │ └── workflows/ │ ├── build-cache.yml │ ├── dead-links.yml │ ├── nightly-analyze.yml │ ├── nightly-tests.yml │ ├── post-merge-tests.yml │ ├── pr-tests-with-secrets.yml │ └── pr-tests.yml ├── .gitignore ├── CLAUDE.md ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── autoprecompile-analyzer/ │ ├── Claude.md │ └── index.html ├── autoprecompiles/ │ ├── Cargo.toml │ ├── benches/ │ │ └── optimizer_benchmark.rs │ ├── scripts/ │ │ ├── plot_effectiveness.py │ │ ├── rank_apc_candidates.py │ │ ├── readme.md │ │ └── requirements.txt │ ├── src/ │ │ ├── adapter.rs │ │ ├── blocks/ │ │ │ ├── detection.rs │ │ │ └── mod.rs │ │ ├── bus_map.rs │ │ ├── constraint_optimizer.rs │ │ ├── empirical_constraints.rs │ │ ├── equivalence_classes.rs │ │ ├── evaluation.rs │ │ ├── execution/ │ │ │ ├── ast.rs │ │ │ ├── candidates.rs │ │ │ ├── evaluator.rs │ │ │ └── mod.rs │ │ ├── execution_profile.rs │ │ ├── export.rs │ │ ├── expression.rs │ │ ├── expression_conversion.rs │ │ ├── lib.rs │ │ ├── low_degree_bus_interaction_optimizer.rs │ │ ├── memory_optimizer.rs │ │ ├── optimistic/ │ │ │ ├── algebraic_references.rs │ │ │ ├── config.rs │ │ │ ├── execution_constraint_generator.rs │ │ │ ├── execution_literals.rs │ │ │ └── mod.rs │ │ ├── optimizer.rs │ │ ├── optimizer_documentation.md │ │ ├── pgo/ │ │ │ ├── cell/ │ │ │ │ ├── mod.rs │ │ │ │ └── selection.rs │ │ │ ├── instruction.rs │ │ │ ├── mod.rs │ │ │ └── none.rs │ │ ├── powdr.rs │ │ ├── range_constraint_optimizer.rs │ │ ├── stats_logger.rs │ │ ├── symbolic_machine.rs │ │ ├── symbolic_machine_generator.rs │ │ └── trace_handler.rs │ └── tests/ │ └── optimizer.rs ├── cli-openvm-riscv/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ └── main.rs ├── constraint-solver/ │ ├── Cargo.toml │ ├── src/ │ │ ├── algebraic_constraint/ │ │ │ ├── mod.rs │ │ │ └── solve.rs │ │ ├── bus_interaction_handler.rs │ │ ├── constraint_system.rs │ │ ├── effect.rs │ │ ├── grouped_expression.rs │ │ ├── indexed_constraint_system.rs │ │ ├── inliner.rs │ │ ├── lib.rs │ │ ├── range_constraint.rs │ │ ├── reachability.rs │ │ ├── rule_based_optimizer/ │ │ │ ├── driver.rs │ │ │ ├── environment.rs │ │ │ ├── item_db.rs │ │ │ ├── mod.rs │ │ │ ├── new_var_generator.rs │ │ │ ├── rules.rs │ │ │ ├── tests.rs │ │ │ └── types.rs │ │ ├── runtime_constant.rs │ │ ├── solver/ │ │ │ ├── base.rs │ │ │ ├── boolean_extractor.rs │ │ │ ├── constraint_splitter.rs │ │ │ ├── exhaustive_search.rs │ │ │ ├── linearizer.rs │ │ │ └── var_transformation.rs │ │ ├── solver.rs │ │ ├── symbolic_expression.rs │ │ ├── system_splitter.rs │ │ ├── test_utils.rs │ │ ├── utils.rs │ │ └── variable_update.rs │ └── tests/ │ └── solver.rs ├── expression/ │ ├── Cargo.toml │ └── src/ │ ├── display.rs │ ├── lib.rs │ └── visitors.rs ├── isa-utils/ │ ├── Cargo.toml │ └── src/ │ └── lib.rs ├── number/ │ ├── Cargo.toml │ └── src/ │ ├── baby_bear.rs │ ├── bn254.rs │ ├── expression_convertible.rs │ ├── goldilocks.rs │ ├── koala_bear.rs │ ├── lib.rs │ ├── macros.rs │ ├── mersenne31.rs │ ├── plonky3_macros.rs │ ├── serialize.rs │ └── traits.rs ├── openvm/ │ ├── Cargo.toml │ ├── build.rs │ ├── cuda/ │ │ └── src/ │ │ ├── apc_apply_bus.cu │ │ ├── apc_tracegen.cu │ │ └── expr_eval.cuh │ ├── metrics-viewer/ │ │ ├── CLAUDE.md │ │ ├── index.html │ │ └── spec.py │ └── src/ │ ├── air_builder.rs │ ├── cuda_abi.rs │ ├── customize_exe.rs │ ├── empirical_constraints.rs │ ├── extraction_utils.rs │ ├── isa.rs │ ├── lib.rs │ ├── powdr_extension/ │ │ ├── chip.rs │ │ ├── executor/ │ │ │ └── mod.rs │ │ ├── mod.rs │ │ ├── opcode.rs │ │ ├── trace_generator/ │ │ │ ├── common.rs │ │ │ ├── cpu/ │ │ │ │ ├── inventory.rs │ │ │ │ ├── mod.rs │ │ │ │ └── periphery.rs │ │ │ ├── cuda/ │ │ │ │ ├── inventory.rs │ │ │ │ ├── mod.rs │ │ │ │ └── periphery.rs │ │ │ └── mod.rs │ │ └── vm.rs │ ├── program.rs │ ├── test_utils.rs │ ├── trace_generation.rs │ └── utils.rs ├── openvm-bus-interaction-handler/ │ ├── Cargo.toml │ └── src/ │ ├── bitwise_lookup.rs │ ├── bus_map.rs │ ├── lib.rs │ ├── memory.rs │ ├── memory_bus_interaction.rs │ ├── tuple_range_checker.rs │ └── variable_range_checker.rs ├── openvm-riscv/ │ ├── .gitignore │ ├── Cargo.toml │ ├── extensions/ │ │ ├── hints-circuit/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── executors.rs │ │ │ ├── field10x26_k256.rs │ │ │ └── lib.rs │ │ ├── hints-guest/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── hints-transpiler/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── guest/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-ecc-manual/ │ │ ├── Cargo.toml │ │ ├── openvm.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-ecc-powdr-affine-hint/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-ecc-projective/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-ecrecover/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-ecrecover-manual/ │ │ ├── Cargo.toml │ │ ├── openvm.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-hints-test/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-keccak/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-keccak-manual-precompile/ │ │ ├── Cargo.toml │ │ ├── openvm.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-matmul/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-pairing/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-pairing-manual-precompile/ │ │ ├── Cargo.toml │ │ ├── openvm.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-sha256/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-sha256-manual-precompile/ │ │ ├── Cargo.toml │ │ ├── openvm.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-u256/ │ │ ├── Cargo.toml │ │ ├── openvm.toml │ │ └── src/ │ │ └── main.rs │ ├── guest-u256-manual-precompile/ │ │ ├── Cargo.toml │ │ ├── openvm.toml │ │ └── src/ │ │ └── main.rs │ ├── scripts/ │ │ ├── basic_metrics.py │ │ ├── generate_bench_results_readme.py │ │ ├── metrics_utils.py │ │ ├── plot_trace_cells.py │ │ ├── readme.md │ │ ├── requirements.txt │ │ └── run_guest_benches.sh │ ├── src/ │ │ ├── isa/ │ │ │ ├── instruction_formatter.rs │ │ │ ├── mod.rs │ │ │ ├── opcode.rs │ │ │ ├── symbolic_instruction_builder.rs │ │ │ └── trace_generator/ │ │ │ ├── common.rs │ │ │ ├── cpu.rs │ │ │ ├── cuda.rs │ │ │ └── mod.rs │ │ └── lib.rs │ └── tests/ │ ├── apc_builder_complex.rs │ ├── apc_builder_pseudo_instructions.rs │ ├── apc_builder_single_instructions.rs │ ├── apc_builder_superblocks.rs │ ├── apc_reth_op_bug.cbor │ ├── apc_snapshots/ │ │ ├── complex/ │ │ │ ├── aligned_memcpy.txt │ │ │ ├── copy_byte.txt │ │ │ ├── guest_top_block.txt │ │ │ ├── load_two_bytes_compare.txt │ │ │ ├── load_two_bytes_compare_unsigned.txt │ │ │ ├── many_stores_relative_to_same_register.txt │ │ │ ├── memcpy_block.txt │ │ │ ├── rotate.txt │ │ │ ├── stack_accesses.txt │ │ │ ├── store_to_same_memory_address.txt │ │ │ └── unaligned_memcpy.txt │ │ ├── pseudo_instructions/ │ │ │ ├── beqz.txt │ │ │ ├── bgez.txt │ │ │ ├── bgtz.txt │ │ │ ├── blez.txt │ │ │ ├── bltz.txt │ │ │ ├── bnez.txt │ │ │ ├── j.txt │ │ │ ├── jr.txt │ │ │ ├── load_immediate.txt │ │ │ ├── mv.txt │ │ │ ├── neg.txt │ │ │ ├── not.txt │ │ │ ├── ret.txt │ │ │ ├── seqz.txt │ │ │ ├── sgtz.txt │ │ │ ├── sltz.txt │ │ │ └── snez.txt │ │ ├── single_instructions/ │ │ │ ├── single_add_1.txt │ │ │ ├── single_and_0.txt │ │ │ ├── single_beq.txt │ │ │ ├── single_bge.txt │ │ │ ├── single_bgeu.txt │ │ │ ├── single_blt.txt │ │ │ ├── single_bltu.txt │ │ │ ├── single_bne.txt │ │ │ ├── single_div.txt │ │ │ ├── single_divu.txt │ │ │ ├── single_loadb.txt │ │ │ ├── single_loadb_imm0.txt │ │ │ ├── single_loadb_x0.txt │ │ │ ├── single_loadbu.txt │ │ │ ├── single_loadh.txt │ │ │ ├── single_loadhu.txt │ │ │ ├── single_loadw.txt │ │ │ ├── single_mul.txt │ │ │ ├── single_rem.txt │ │ │ ├── single_remu.txt │ │ │ ├── single_sll.txt │ │ │ ├── single_sll_by_8.txt │ │ │ ├── single_sra.txt │ │ │ ├── single_srl.txt │ │ │ ├── single_storeb.txt │ │ │ ├── single_storeh.txt │ │ │ ├── single_storew.txt │ │ │ ├── single_sub.txt │ │ │ └── single_xor.txt │ │ └── superblocks/ │ │ ├── beq0_fallthrough.txt │ │ ├── beq0_jump.txt │ │ ├── beq_fallthrough.txt │ │ ├── beq_jump.txt │ │ └── many_blocks.txt │ ├── common/ │ │ └── mod.rs │ ├── keccak_apc_pre_opt.cbor │ ├── machine_extraction.rs │ └── openvm_constraints.txt ├── riscv-elf/ │ ├── Cargo.toml │ └── src/ │ ├── bin/ │ │ └── elf-labels.rs │ ├── debug_info.rs │ ├── lib.rs │ └── rv64.rs ├── riscv-types/ │ ├── Cargo.toml │ └── src/ │ └── lib.rs ├── rust-toolchain.toml ├── scripts/ │ ├── analyze_nightly.py │ └── update-dep.sh └── syscalls/ ├── Cargo.toml └── src/ └── lib.rs