SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2607.03574 · 2026

Differentiate the Evaluator, Not the Program: An Efficient Runtime Representation for Neuro-Symbolic Learning

Lucas Sheneman

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 15 functions out of this paper's own repositories and ran 14 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
sheneman/ndvm canonical 14 of 15
FunctionStatusWhere it lives
build_obs_matrix Ran sheneman/ndvm/ndvm/profiling/perlane_sweep.py
code served (permissive licence) · get_code("447169e61f9816ff")
extract Ran sheneman/ndvm/ndvm/profiling/cosearch_propose.py
code served (permissive licence) · get_code("3780cc81a37c42dd")
gen_candidates Ran sheneman/ndvm/ndvm/profiling/cosearch_cached_staging.py
code served (permissive licence) · get_code("ae6099fe7e8b4144")
kalman_src Ran sheneman/ndvm/ndvm/profiling/perlane_sweep.py
code served (permissive licence) · get_code("8e73eecea3c9504f")
leaf_list Ran sheneman/ndvm/ndvm/profiling/bytecode_vm_e2e.py
code served (permissive licence) · get_code("a0de5e44e10b04d6")
make_mats Ran sheneman/ndvm/ndvm/profiling/alloc_counters.py
code served (permissive licence) · get_code("6d21b06c77371c5c")
make_obs Ran sheneman/ndvm/ndvm/profiling/cosearch_budget.py
code served (permissive licence) · get_code("353ead5dbed47585")
make_task Ran sheneman/ndvm/ndvm/profiling/cosearch_e2e.py
code served (permissive licence) · get_code("17102751a2d4873c")
one Ran sheneman/ndvm/ndvm/profiling/cosearch_propose.py
code served (permissive licence) · get_code("f71d85a81f058340")
one Ran sheneman/ndvm/ndvm/profiling/cosearch_rec_propose.py
code served (permissive licence) · get_code("a0ba6a06dd81d2f6")
params_used Ran sheneman/ndvm/ndvm/profiling/cosearch_e2e.py
code served (permissive licence) · get_code("f3c66f815c78ccaa")
skeleton Ran sheneman/ndvm/ndvm/profiling/cosearch_e2e.py
code served (permissive licence) · get_code("9fb61c6b4d55945f")
target Ran sheneman/ndvm/ndvm/profiling/cosearch_gradcheck.py
code served (permissive licence) · get_code("e82dcaee1e843df5")
w_params Ran sheneman/ndvm/ndvm/profiling/bytecode_vm_e2e.py
code served (permissive licence) · get_code("9556ab92d190dfdc")
time_one_B Not yet run sheneman/ndvm/ndvm/profiling/perlane_sweep.py
code served (permissive licence) · get_code("14dd2e31402021fc")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

AI systems are beginning to propose executable scientific models whose value depends not only on their symbolic or mechanistic structure, but also on the continuous parameters that must be calibrated against observations. This creates a central bottleneck for scientific co-search: an outer loop can generate thousands of candidate model programs, but each candidate may require an expensive inner optimization before its scientific promise can be assessed. The challenge is especially acute for models that combine interpretable mechanistic structure with rich quantitative parameterization, where both the form of the model and its fitted constants matter. Existing implementation strategies force an undesirable tradeoff. Staging each candidate program into its own differentiable graph can make individual models fast, but sacrifices the program-asdata property needed for fluid search over many structurally distinct candidates. Interpreter-based approaches preserve programs as runtime data, but the cost of representing and walking the interpreter can dominate the actual numerical work. As a result, parameter calibration becomes the limiting factor in co-search rather than model generation or scientific evaluation. We present the Native Differentiable Virtual Machine (NDVM), an efficient runtime representation for differentiating executable programs without compiling each candidate into a separate graph. NDVM separates symbolic structure from differentiable numeric state: tags, symbols, environments, and control remain native runtime data, while numeric payloads live in dense batched buffers with exact reverse-mode gradients recorded along the realized execution trace. This allows one evaluator walk to be amortized across large populations of parameter vectors, enabling efficient gradient-based calibration while preserving programs as first-class search objects. A locked cost model of a real differentiable self-hosted Scheme interpreter motivates the design, showing that execution is dominated by interpreter representation and traversal rather than arithmetic. We realize NDVM as a native runtime and demonstrate forward and gradient equivalence to the baseline backend across a diverse program suite, including matrix-valued Kalman filter models. NDVM reduces per-lane calibration cost by approximately 60× through batch amortization, scales nearlinearly across CPU cores, and generalizes across multiple front ends, including both a differentiable Scheme interpreter and a differentiable stack-bytecode virtual machine. In fixed-budget co-search experiments over LLM-proposed programs, NDVM reaches high-quality solutions approximately 24× sooner in wall-clock time and enables substantially deeper exploration of candidate model space. These results suggest that efficient runtime differentiation can make parameter calibration fast enough to keep pace with AI-generated model proposals, providing a practical systems foundation for scientific discovery workflows that jointly search over mechanistic structure and quantitative parameterization.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2607.03574")
get_code_for_paper("2607.03574")
have("2607.03574")

Connect an agent — have() is free.