Program Analysis of Probabilistic Programs
summary
Builds a blockless Stan called SlickStan and gives the first formal deterministic semantics for Stan, then uses an information-flow typing pass to automatically slice programs into the original Stan blocks and optimize execution order. Adds a conditional-independence analysis that compiles marginalization into variable elimination, turning exponential nested-sum marginalization into much smaller loop nests (e.g., HMMs drop from n nested loops to O(n^2) work). Targets Stan/HMC: discrete parameters get marginalized away so HMC runs on continuous parameters and discrete ones are ancestral-sampled.
AI-written summary · about
