sz\M      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL MNOPQRSTU MNOPQRSTU MNOPQRSTUVWXYSource of randomness #Width of initial sampling interval  variable %Log likelyhood, in terms of varibale 9New value for variable, together with its log-likelihood ZSource of randomness #Width of initial sampling interval  variable %Log likelyhood, in terms of varibale 9New value for variable, together with its log-likelihood [Source of randomness #Width of initial sampling interval  variable %Log likelyhood, in terms of varibale 9New value for variable, together with its log-likelihood \Source of randomness #Width of initial sampling interval  variable %Log likelyhood, in terms of varibale  left bound  right bound 9New value for variable, together with its log-likelihood ]VWXYZ[\]VWXYZ[\]^_`abcddd efghijklmnofklmnofklmnoPretty printing pqrstuvw A node index xyz{|}K~pqrstuvwxyz{|}psrqqrstvuuvwxyz{|} $$$  +A term in a stochastic context Nodes hanging off of a term Returns & for terms that are not applications.      +     +       C "Information about an array (vecotr/!matrix) of stochastic variables.  !"#Support of a distribution $%&'(+The description of an atomic distribution. )*+,-.CInformation about the prior distribution of a stochastic variable. /01234#The name of a stochastic variable. 5&Standalone variable, with a user-name 6!This sto var belongs to an array 7Anonymous stand-alone variable A Stochastic variable. <Maps terms that mention the variable to their coefficients, 8 which do not depend on the variable. The term for the = distribution is the sum of the products of the map elements  (see  stoPostLL). 8A Bayesian Network is a collection of stochastic nodes. ; Stochastic nodes may be (optionally) grouped into arrays. 89:;<=>?@ACreate a 1D vector Bounds for the vector indexes #Initializer (should return a node) Create a 2D matrix #Bounds for 1st and 2nd dimensions.  Initializer Create an >= 3D array Bounds for each dimension.  Initializer BCDEC  !"#$%&'()*+,-./01234567 89:;<=>?@ABCDEC  !" !"#'&%$$%&'()*+,-)*+,-./0123/01234765567   89:;<=>?@ABCDE FGHIJKL6Compute the log-likelihood for a stochastic variable. MNO FGHIJKLMNO FHGGHIJKLMNO"PQRSTUVWXYZ[\]^_`abc@Set the random seed for a thread. This function may be calledd 7 multiple times to set the seeds for multiple threads. M The seeds are used in order: first call is for thread 0, next for thread 1,  etc. !"=When using a specialized slizer, we generate a custom slicer K for each stochastic variable. The benefit of this is that, in principle, K this may result in more efficient code, at the cost of longer compilation G time, and larger binary. The alternative is to use a generic slicing D function which is parameterized by the log-likelihood function for  a variable. #7Generate a separate file for each stochastic variable. B The benefit of this flag is that it makes it possible to compile F multiple files in parallel. The drawback is that some optimizations E may be lost because the files are compiled separately. Also, there 1 is some overhead for processing multiple files. $%&d'"PQRSTUVWXYZ[\]^_`abc !"#$%&d'"PPQRSTUVWXYZ[\]^_RSTUVWXYZ[\]^_`abc !"#$%&d'Refghijklmnopqrstuvwxyz{| Name supply }~ Includes, # define, etc. Variable declarations #included templtes "Function declarations: decl, body Refghijklmnopqrstuvwxyz{|}~Re fghijklmnopqfghijklmnopqrstuvstuvwxyz{|xyz{|}~~()*+,2A normal distribution with mean 0 and precision 1 -1A normal distribution, with a mean and precision ./012EA categorical distribution with given support size and probabilities > | Probabilities are assumed to add to one (not checked here) 3%A Bernoulli distribution with a mean 4PA binomial distribution with given number of samples and probability of success , | Number of samples is assumed to be fixed 5677A beta distribution with the given prior sample sizes. 88A gamma distribution with the given prior sample sizes. 9>An improper uniform distribution; has no impact on likelihood :An improper scale ()*+,-./0123456789:()*+,-./0123456789:()*+,-./0123456789: ;1A normal distribution, with a mean and precision <=>%A Bernoulli distribution with a mean ?7A beta distribution with the given prior sample sizes. @8A gamma distribution with the given prior sample sizes. A=A chi-square distribution with the given degrees of freedom. B@An exponential distribution with the given rate (inverse scale) C A Student'0s T distribution, given the degrees of freedom. DE>An improper uniform distribution; has no impact on likelihood F ;<=>?@ABCDEF ;<=>?@ABCDEF ;<=>?@ABCDEF GHALike monitor, but adds the indexes in the label of the variable. IJKL;  !"#$%&';<=>?@ABCDEFGHIJKL.  G LK !$"#%&'HIJGHIJKL                 ! " # $ % & ' ()*+,-./0123456789:;<=>?@ABCDEFGH;<=AEFIJKLGHMNOPQRSTUVWXYZ[TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}|}       z                                                          ! " " # $ % & ' ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F GHIIJKLMNOPQRSTUVWXYZ[\\]^_`ab54[cdeefghiijklmnnopqrsstuvvwxyz{|}~@ passage-0.1Language.PassageLanguage.Passage.DistributionLanguage.Passage.UILanguage.Passage.SliceSampleMWCLanguage.Passage.SliceSampleLanguage.Passage.GraphColor Paths_passageLanguage.Passage.UtilsLanguage.Passage.Lang.CLanguage.Passage.Lang.LaTeXLanguage.Passage.TermLanguage.Passage.ASTLanguage.Passage.GraphLanguage.Passage.SimulatorConfLanguage.Passage.Graph2CPPppPrecppLaTeXlatextcasetconstlogGamma NodeArrayMatrixVectorBayesianNetworkStoVar stoVarName stoVarPrior stoPostDistLL BayesianGraphstoNodes stoArryasusingvectormatrix nodeArray//buildBayesianGraphBayesianSimulatorsetWarmupCountsetSampleCountsetIterationsPerSample setRandomSeed setThreadNumuseMersenneTwisteruseSpecialSlicers splitFilesenableProfilingmodelobservemonitorlogitlogBetalogFactlogComb stdNormalnormalstandardUniformuniformdiscreteUniform geometric categorical bernoullibinomial negBinomialpoissonbetadgammaimproperUniform improperScale chiSquaredexpstudentT symDirichletNode monitorVec monitorVecsrunLatex genSimulatorsimulateSlicergenAllgenTestgenPts sliceUnitslicePosslice genericSlice pickRandomColoringColorchooseaddNodecolorG colorGroups groupByColorcatchIOversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileNamePosnNoneToRightToLeftFixityInfixPrefixNodeIdxtbdcommaSepppFracfloatdoublerationalpretty-1.1.0.0Text.PrettyPrint.HughesPJ fullRenderrender renderStylefcatfsepcatsep<+><>$+$$$nest zeroWidthText sizedTextptexttextcharisEmptyempty punctuatehangvcathsephcatbracesbracketsparens doubleQuotesquotesintegerintrbracelbracerbracklbrackrparenlparenequalsspacecommacolonsemistyleribbonsPerLine lineLengthmodeStylePageMode ZigZagModeLeftMode OneLineModeModeDocChrStrPStr TextDetailsCIdentCFunDeclCDeclCTypeCStmtCExpridentcallcastarr_ixvar double_litint_lit unsigned_lit string_litaddr_of main_namevoidunsigned unsigned_long array_declexternstatic static_funfun_declvar_declassigncreturnswitchcbreakcallSblock declBlockpragmacmdfracpowlgliteral knownVarsmathenvsimrowhlinemathcalmathrmexponArrVarsTermTAppTConstTArrTVarOpTLitTIxTCaseTExp TLogGammaTPowTDivTSubTMulTAddTNegTLog leavesOfTerm isSimpleTermghc-prim GHC.TypesTruetvartarrisConstunbintermOptIx splitArray precedence wrapLatexppTerm liftTerm1 liftTerm2tbd1tbd2sAddwalkAddsummands factorVarArrayMapVAASTStatecurIdxdeclaredArraysgeneratedNodes ArrayInfo arrayNamearrayDimensions arrayVars DistSupportIntervalPosRealDiscreteReal DistributiondistName distParams distSupportdistLL PriorInfopriName priParams priSupportpriLL StoVarNameNamedInArrayUnnamedExpr exprToVar fvsSupportfvsArray latexDist updateState updateState_getStatetoStoVarextractNetwork lkpArrayMapnewArray longError lkpArrayNamePPVarPPArrPPName stoPostLLemptyBayesianGraph addToStoLL computeLL nameToPPNamevarName namedTermBSimState cfgSampleNumcfgItsPerSample cfgWarmup cfgMersenne cfgProfile cfgMonitor cfgObserve cfgInitialize cfgRandomSeed cfgNetwork cfgThreadNumcfgSpecialSlicers cfgSplitFiles initSimStateupdgetFieldrunSim initialize SamplerConfgraph sampleNum itsPerSamplewarmup thread_numseedspecial_slicers split_files StoVarCodetuneCode sliceCodelocalitySmain_modcur_mod helper_modscnamesCModule cpp_stuff var_declscpp_funs fun_declsRconfigsamplingMcnameVar simpleCNamevariabletermgetArrDimensionsblankMod mergeCModules noHelpersgetGraph lookupArray lookupArrayMb lookupVarMb lookupVar nowSampling isSampling isSampled isObserved isInitialized newDetVar newHelper updHelperupdMain newFunDeclnewDeclcppnewLocalFunDecl newLocalDeclcppFuncppFun'runM renderMod renderState call_slicercall_generic_slicercall_special_slicer initOrder init_codeinit_code_initialized ll_summandsto_var declareArrarrName genParGroupschunks genThreadgen_c withTempDirrunCmdcreateSimProjectgenRcreateSimulator