{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2018:D2AXZXDOPR6RVW2FQTAH76E3G2","short_pith_number":"pith:D2AXZXDO","schema_version":"1.0","canonical_sha256":"1e817cdc6e7c7d1adb4584c07ff89b36a184bdd009fc2c8cd7bbe179fd48a3ac","source":{"kind":"arxiv","id":"1810.07951","version":4},"attestation_state":"computed","paper":{"title":"Don't Unroll Adjoint: Differentiating SSA-Form Programs","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"Michael Innes","submitted_at":"2018-10-18T08:48:12Z","abstract_excerpt":"This paper presents reverse-mode algorithmic differentiation (AD) based on source code transformation, in particular of the Static Single Assignment (SSA) form used by modern compilers. The approach can support control flow, nesting, mutation, recursion, data structures, higher-order functions, and other language constructs, and the output is given to an existing compiler to produce highly efficient differentiated code. Our implementation is a new AD tool for the Julia language, called Zygote, which presents high-level dynamic semantics while transparently compiling adjoint code under the hood"},"verification_status":{"content_addressed":true,"pith_receipt":true,"author_attested":false,"weak_author_claims":0,"strong_author_claims":0,"externally_anchored":false,"storage_verified":false,"citation_signatures":0,"replication_records":0,"graph_snapshot":true,"references_resolved":false,"formal_links_present":false},"canonical_record":{"source":{"id":"1810.07951","kind":"arxiv","version":4},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2018-10-18T08:48:12Z","cross_cats_sorted":[],"title_canon_sha256":"693476a771b0cbfe4e7a988a001fbe1ec2f42dbddb739b5d77e20c84c9911535","abstract_canon_sha256":"17e60c0048483f978241b7165f44a699570c49b9ed4e5511cb689def4e9b55ca"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-17T23:51:43.783450Z","signature_b64":"75r8nWzYK6oRzkfx7m49SGaBY5fzbatVkG1K3Euj7xNEjIBaImAGVsi1gxLaYcbLqiEAANd3rlyxLN161hdqBw==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"1e817cdc6e7c7d1adb4584c07ff89b36a184bdd009fc2c8cd7bbe179fd48a3ac","last_reissued_at":"2026-05-17T23:51:43.782936Z","signature_status":"signed_v1","first_computed_at":"2026-05-17T23:51:43.782936Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"Don't Unroll Adjoint: Differentiating SSA-Form Programs","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"Michael Innes","submitted_at":"2018-10-18T08:48:12Z","abstract_excerpt":"This paper presents reverse-mode algorithmic differentiation (AD) based on source code transformation, in particular of the Static Single Assignment (SSA) form used by modern compilers. The approach can support control flow, nesting, mutation, recursion, data structures, higher-order functions, and other language constructs, and the output is given to an existing compiler to produce highly efficient differentiated code. Our implementation is a new AD tool for the Julia language, called Zygote, which presents high-level dynamic semantics while transparently compiling adjoint code under the hood"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1810.07951","kind":"arxiv","version":4},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"aliases":[{"alias_kind":"arxiv","alias_value":"1810.07951","created_at":"2026-05-17T23:51:43.783033+00:00"},{"alias_kind":"arxiv_version","alias_value":"1810.07951v4","created_at":"2026-05-17T23:51:43.783033+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1810.07951","created_at":"2026-05-17T23:51:43.783033+00:00"},{"alias_kind":"pith_short_12","alias_value":"D2AXZXDOPR6R","created_at":"2026-05-18T12:32:19.392346+00:00"},{"alias_kind":"pith_short_16","alias_value":"D2AXZXDOPR6RVW2F","created_at":"2026-05-18T12:32:19.392346+00:00"},{"alias_kind":"pith_short_8","alias_value":"D2AXZXDO","created_at":"2026-05-18T12:32:19.392346+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":7,"internal_anchor_count":2,"sample":[{"citing_arxiv_id":"2605.16318","citing_title":"Investigating Action Encodings in Recurrent Neural Networks in Reinforcement Learning","ref_index":7,"is_internal_anchor":true},{"citing_arxiv_id":"2605.19960","citing_title":"PEPSKit.jl: A Julia package for projected entangled-pair state simulations","ref_index":130,"is_internal_anchor":true},{"citing_arxiv_id":"2305.01582","citing_title":"Interpretable Machine Learning for Science with PySR and SymbolicRegression.jl","ref_index":102,"is_internal_anchor":false},{"citing_arxiv_id":"2605.10573","citing_title":"A Riemannian quasi-Newton algorithm for optimization with Euclidean bounds","ref_index":42,"is_internal_anchor":false},{"citing_arxiv_id":"2604.19621","citing_title":"Efficient optimisation of multi-parameter quantum control protocols for strongly-coupled systems","ref_index":19,"is_internal_anchor":false},{"citing_arxiv_id":"2604.10588","citing_title":"Distributionally Robust PAC-Bayesian Control","ref_index":23,"is_internal_anchor":false},{"citing_arxiv_id":"2604.20969","citing_title":"Engineering molecular potential energy surfaces using magnetic cavity quantum electrodynamics","ref_index":57,"is_internal_anchor":false}]},"formal_canon":{"evidence_count":0,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/D2AXZXDOPR6RVW2FQTAH76E3G2","json":"https://pith.science/pith/D2AXZXDOPR6RVW2FQTAH76E3G2.json","graph_json":"https://pith.science/api/pith-number/D2AXZXDOPR6RVW2FQTAH76E3G2/graph.json","events_json":"https://pith.science/api/pith-number/D2AXZXDOPR6RVW2FQTAH76E3G2/events.json","paper":"https://pith.science/paper/D2AXZXDO"},"agent_actions":{"view_html":"https://pith.science/pith/D2AXZXDOPR6RVW2FQTAH76E3G2","download_json":"https://pith.science/pith/D2AXZXDOPR6RVW2FQTAH76E3G2.json","view_paper":"https://pith.science/paper/D2AXZXDO","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=1810.07951&json=true","fetch_graph":"https://pith.science/api/pith-number/D2AXZXDOPR6RVW2FQTAH76E3G2/graph.json","fetch_events":"https://pith.science/api/pith-number/D2AXZXDOPR6RVW2FQTAH76E3G2/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/D2AXZXDOPR6RVW2FQTAH76E3G2/action/timestamp_anchor","attest_storage":"https://pith.science/pith/D2AXZXDOPR6RVW2FQTAH76E3G2/action/storage_attestation","attest_author":"https://pith.science/pith/D2AXZXDOPR6RVW2FQTAH76E3G2/action/author_attestation","sign_citation":"https://pith.science/pith/D2AXZXDOPR6RVW2FQTAH76E3G2/action/citation_signature","submit_replication":"https://pith.science/pith/D2AXZXDOPR6RVW2FQTAH76E3G2/action/replication_record"}},"created_at":"2026-05-17T23:51:43.783033+00:00","updated_at":"2026-05-17T23:51:43.783033+00:00"}