diff --git a/.gitignore b/.gitignore index 17dd0ce1d9..8a001e944a 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,6 @@ test/*.log # Mac OS X hidden files *.DS_Store + +# .hpp files in test folder +test/**/*.hpp \ No newline at end of file diff --git a/src/analysis_and_optimization/Mir_utils.ml b/src/analysis_and_optimization/Mir_utils.ml index a4272a7eaf..0678e35557 100644 --- a/src/analysis_and_optimization/Mir_utils.ml +++ b/src/analysis_and_optimization/Mir_utils.ml @@ -40,7 +40,8 @@ type bound_values = { lower: [`None | `Nonlit | `Lit of float] ; upper: [`None | `Nonlit | `Lit of float] } -let trans_bounds_values (trans : Expr.Typed.t transformation) : bound_values = +let trans_bounds_values (trans : Expr.Typed.t Transformation.t) : bound_values + = let bound_value e = match num_expr_value e with None -> `Nonlit | Some (f, _) -> `Lit f in @@ -132,8 +133,7 @@ let map_rec_expr_state f state e = let rec map_rec_stmt_loc f stmt = let recurse = map_rec_stmt_loc f in - Stmt.Fixed. - {stmt with pattern= f (Pattern.map (fun x -> x) recurse stmt.pattern)} + Stmt.Fixed.{stmt with pattern= f (Pattern.map Fn.id recurse stmt.pattern)} let rec top_down_map_rec_stmt_loc f stmt = let recurse = top_down_map_rec_stmt_loc f in @@ -250,7 +250,7 @@ let rec expr_var_set Expr.Fixed.({pattern; meta}) = match pattern with | Var s -> Set.Poly.singleton (VVar s, meta) | Lit _ -> Set.Poly.empty - | FunApp (_, exprs) -> union_recur exprs + | FunApp (kind, exprs) -> union_recur (exprs @ Fun_kind.collect_exprs kind) | TernaryIf (expr1, expr2, expr3) -> union_recur [expr1; expr2; expr3] | Indexed (expr, ix) -> Set.Poly.union_list (expr_var_set expr :: List.map ix ~f:index_var_set) @@ -268,7 +268,8 @@ and index_var_set ix = let stmt_rhs stmt = match stmt with | Stmt.Fixed.Pattern.For vars -> Set.Poly.of_list [vars.lower; vars.upper] - | NRFunApp (_, exprs) -> Set.Poly.of_list exprs + | NRFunApp (kind, exprs) -> + Set.Poly.of_list (exprs @ Fun_kind.collect_exprs kind) | IfElse (rhs, _, _) |While (rhs, _) |Assignment (_, rhs) @@ -354,7 +355,8 @@ let expr_subst_stmt m = map_rec_stmt_loc (expr_subst_stmt_base m) let rec expr_depth Expr.Fixed.({pattern; _}) = match pattern with | Var _ | Lit (_, _) -> 0 - | FunApp (_, l) -> + | FunApp (kind, args) -> + let l = args @ Fun_kind.collect_exprs kind in 1 + Option.value ~default:0 (List.max_elt ~compare:compare_int (List.map ~f:expr_depth l)) @@ -393,8 +395,11 @@ let rec update_expr_ad_levels autodiffable_variables else {e with meta= {e.meta with adlevel= DataOnly}} | Lit (_, _) -> {e with meta= {e.meta with adlevel= DataOnly}} | FunApp (kind, l) -> + let kind' = + Fun_kind.map (update_expr_ad_levels autodiffable_variables) kind + in let l = List.map ~f:(update_expr_ad_levels autodiffable_variables) l in - {pattern= FunApp (kind, l); meta= {e.meta with adlevel= ad_level_sup l}} + {pattern= FunApp (kind', l); meta= {e.meta with adlevel= ad_level_sup l}} | TernaryIf (e1, e2, e3) -> let e1 = update_expr_ad_levels autodiffable_variables e1 in let e2 = update_expr_ad_levels autodiffable_variables e2 in diff --git a/src/analysis_and_optimization/Mir_utils.mli b/src/analysis_and_optimization/Mir_utils.mli index 44a7f97485..1a8a8a1ccf 100644 --- a/src/analysis_and_optimization/Mir_utils.mli +++ b/src/analysis_and_optimization/Mir_utils.mli @@ -9,7 +9,7 @@ type bound_values = { lower: [`None | `Nonlit | `Lit of float] ; upper: [`None | `Nonlit | `Lit of float] } -val trans_bounds_values : Expr.Typed.t Program.transformation -> bound_values +val trans_bounds_values : Expr.Typed.t Transformation.t -> bound_values val chop_dist_name : string -> string Option.t val top_var_declarations : Stmt.Located.t -> string Set.Poly.t @@ -22,7 +22,7 @@ val data_set : val parameter_set : ?include_transformed:bool -> Program.Typed.t - -> (string * Expr.Typed.t Program.transformation) Set.Poly.t + -> (string * Expr.Typed.t Transformation.t) Set.Poly.t val parameter_names_set : ?include_transformed:bool -> Program.Typed.t -> string Set.Poly.t diff --git a/src/analysis_and_optimization/Monotone_framework.ml b/src/analysis_and_optimization/Monotone_framework.ml index 6d622ebb87..6d1c99dfb7 100644 --- a/src/analysis_and_optimization/Monotone_framework.ml +++ b/src/analysis_and_optimization/Monotone_framework.ml @@ -45,7 +45,9 @@ and free_vars_idx (i : Expr.Typed.t Index.t) = | Between (e1, e2) -> Set.Poly.union (free_vars_expr e1) (free_vars_expr e2) and free_vars_fnapp kind l = - let arg_vars = List.map ~f:free_vars_expr l in + let arg_vars = + List.map ~f:free_vars_expr (l @ Fun_kind.collect_exprs kind) + in match kind with | Fun_kind.UserDefined (f, _) -> Set.Poly.union_list (Set.Poly.singleton f :: List.map ~f:free_vars_expr l) @@ -547,8 +549,9 @@ let rec used_subexpressions_expr (e : Expr.Typed.t) = (Expr.Typed.Set.singleton e) ( match e.pattern with | Var _ | Lit (_, _) -> Expr.Typed.Set.empty - | FunApp (_, l) -> - Expr.Typed.Set.union_list (List.map ~f:used_subexpressions_expr l) + | FunApp (k, l) -> + Expr.Typed.Set.union_list + (List.map ~f:used_subexpressions_expr (l @ Fun_kind.collect_exprs k)) | TernaryIf (e1, e2, e3) -> Expr.Typed.Set.union_list [ used_subexpressions_expr e1 @@ -585,7 +588,8 @@ let rec used_expressions_stmt_help f [ f e ; used_expressions_stmt_help f b1.pattern ; used_expressions_stmt_help f b2.pattern ] - | NRFunApp (_, l) -> Expr.Typed.Set.union_list (List.map ~f l) + | NRFunApp (k, l) -> + Expr.Typed.Set.union_list (List.map ~f (l @ Fun_kind.collect_exprs k)) | Decl _ | Return None | Break | Continue | Skip -> Expr.Typed.Set.empty | IfElse (e, b, None) | While (e, b) -> Expr.Typed.Set.union (f e) (used_expressions_stmt_help f b.pattern) @@ -619,7 +623,8 @@ let top_used_expressions_stmt_help f (Expr.Typed.Set.union_list (List.map ~f:(used_expressions_idx_help f) l)) | While (e, _) | IfElse (e, _, _) -> f e - | NRFunApp (_, l) -> Expr.Typed.Set.union_list (List.map ~f l) + | NRFunApp (k, l) -> + Expr.Typed.Set.union_list (List.map ~f (l @ Fun_kind.collect_exprs k)) | Profile _ | Block _ | SList _ | Decl _ |Return None |Break | Continue | Skip -> diff --git a/src/analysis_and_optimization/Optimize.ml b/src/analysis_and_optimization/Optimize.ml index 79ba5178a9..99d5ce0da3 100644 --- a/src/analysis_and_optimization/Optimize.ml +++ b/src/analysis_and_optimization/Optimize.ml @@ -690,13 +690,8 @@ and accum_any pred b e = b || expr_any pred e let can_side_effect_top_expr (e : Expr.Typed.t) = match e.pattern with | FunApp ((UserDefined (_, FnTarget) | StanLib (_, FnTarget)), _) -> true - | FunApp - ( CompilerInternal - ( FnReadParam _ | FnReadData | FnWriteParam | FnConstrain _ - | FnValidateSize | FnValidateSizeSimplex | FnValidateSizeUnitVector - | FnUnconstrain _ ) - , _ ) -> - true + | FunApp (CompilerInternal internal_fn, _) -> + Internal_fun.can_side_effect internal_fn | _ -> false let cannot_duplicate_expr (e : Expr.Typed.t) = diff --git a/src/analysis_and_optimization/Pedantic_analysis.ml b/src/analysis_and_optimization/Pedantic_analysis.ml index 794ae9d3da..8a096acb07 100644 --- a/src/analysis_and_optimization/Pedantic_analysis.ml +++ b/src/analysis_and_optimization/Pedantic_analysis.ml @@ -238,7 +238,7 @@ let list_non_one_priors (fg : factor_graph) (mir : Program.Typed.t) : (* Collect useful information about an expression that's available at compile-time into a convenient form. *) let compiletime_value_of_expr - (params : (string * Expr.Typed.t Program.transformation) Set.Poly.t) + (params : (string * Expr.Typed.t Transformation.t) Set.Poly.t) (data : string Set.Poly.t) (expr : Expr.Typed.t) : compiletime_val * Expr.Typed.Meta.t = let v = diff --git a/src/analysis_and_optimization/Pedantic_dist_warnings.ml b/src/analysis_and_optimization/Pedantic_dist_warnings.ml index 0b5de8cad0..6b4ce81da5 100644 --- a/src/analysis_and_optimization/Pedantic_dist_warnings.ml +++ b/src/analysis_and_optimization/Pedantic_dist_warnings.ml @@ -10,7 +10,7 @@ open Mir_utils type compiletime_val = | Opaque | Number of (float * string) - | Param of (string * Expr.Typed.t Program.transformation) + | Param of (string * Expr.Typed.t Transformation.t) | Data of string (* Info about a distribution occurrences that's useful for checking that @@ -79,18 +79,17 @@ let bounds_out_of_range (range : range) (bounds : bound_values) : bool = (* Check for inconsistency between a distribution argument's constraint and the constraint transformation of a variable *) let transform_mismatch_constraint (constr : var_constraint) - (trans : Expr.Typed.t Program.transformation) : bool = + (trans : Expr.Typed.t Transformation.t) : bool = match constr with | Range range -> bounds_out_of_range range (trans_bounds_values trans) - | Ordered -> trans <> Program.Ordered - | PositiveOrdered -> trans <> Program.PositiveOrdered - | Simplex -> trans <> Program.Simplex - | UnitVector -> trans <> Program.UnitVector - | CholeskyCorr -> trans <> Program.CholeskyCorr - | CholeskyCov -> - trans <> Program.CholeskyCov && trans <> Program.CholeskyCorr - | Correlation -> trans <> Program.Correlation - | Covariance -> trans <> Program.Covariance && trans <> Program.Correlation + | Ordered -> trans <> Transformation.Ordered + | PositiveOrdered -> trans <> PositiveOrdered + | Simplex -> trans <> Simplex + | UnitVector -> trans <> UnitVector + | CholeskyCorr -> trans <> CholeskyCorr + | CholeskyCov -> trans <> CholeskyCov && trans <> CholeskyCorr + | Correlation -> trans <> Correlation + | Covariance -> trans <> Covariance && trans <> Correlation (* Check for inconsistency between a distribution argument's range and a literal value *) diff --git a/src/frontend/Ast.ml b/src/frontend/Ast.ml index ea493169ab..3a9c47abe8 100644 --- a/src/frontend/Ast.ml +++ b/src/frontend/Ast.ml @@ -150,7 +150,7 @@ type ('e, 's, 'l, 'f) statement = | Block of 's list | VarDecl of { decl_type: 'e Middle.Type.t - ; transformation: 'e Middle.Program.transformation + ; transformation: 'e Transformation.t ; identifier: identifier ; initial_value: 'e option ; is_global: bool } diff --git a/src/frontend/Ast_to_Mir.ml b/src/frontend/Ast_to_Mir.ml index 2f2331e65c..3f88806574 100644 --- a/src/frontend/Ast_to_Mir.ml +++ b/src/frontend/Ast_to_Mir.ml @@ -176,66 +176,28 @@ let unquote s = String.drop_suffix (String.drop_prefix s 1) 1 else s -(* hack(sean): strings aren't real - XXX add UString to MIR and maybe AST. -*) -let mkstring loc s = - Expr. - { Fixed.pattern= Lit (Str, s) - ; meta= Typed.Meta.create ~type_:UReal ~loc ~adlevel:DataOnly () } - let trans_printables mloc (ps : Ast.typed_expression Ast.printable list) = List.map ~f:(function - | Ast.PString s -> mkstring mloc (unquote s) + | Ast.PString s -> + { (Expr.Helpers.str (unquote s)) with + meta= + Expr.Typed.Meta.create ~type_:UReal ~loc:mloc ~adlevel:DataOnly + () } | Ast.PExpr e -> trans_expr e) ps (* These types signal the context for a declaration during statement translation. They are only interpreted by trans_decl.*) -type constrainaction = Check | Constrain | Unconstrain [@@deriving sexp] +type transform_action = Check | Constrain | Unconstrain | IgnoreTransform +[@@deriving sexp] type decl_context = - {dconstrain: constrainaction option; dadlevel: UnsizedType.autodifftype} - -let check_constraint_to_string t (c : constrainaction) = - match t with - | Program.Ordered -> Some "ordered" - | PositiveOrdered -> Some "positive_ordered" - | Simplex -> Some "simplex" - | UnitVector -> Some "unit_vector" - | CholeskyCorr -> Some "cholesky_factor_corr" - | CholeskyCov -> Some "cholesky_factor" - | Correlation -> Some "corr_matrix" - | Covariance -> Some "cov_matrix" - | Lower _ -> ( - match c with - | Check -> Some "greater_or_equal" - | Constrain | Unconstrain -> Some "lb" ) - | Upper _ -> ( - match c with - | Check -> Some "less_or_equal" - | Constrain | Unconstrain -> Some "ub" ) - | LowerUpper _ -> ( - match c with - | Check -> - raise_s - [%message "LowerUpper is really two other checks tied together"] - | Constrain | Unconstrain -> Some "lub" ) - | Offset _ | Multiplier _ | OffsetMultiplier _ -> ( - match c with - | Check -> None - | Constrain | Unconstrain -> Some "offset_multiplier" ) - | Identity -> None - -let constrain_constraint_to_string t (c : constrainaction) = - match t with - | Program.CholeskyCorr -> Some "cholesky_corr" - | _ -> check_constraint_to_string t c + {transform_action: transform_action; dadlevel: UnsizedType.autodifftype} let constraint_forl = function - | Program.Identity | Offset _ | Multiplier _ | OffsetMultiplier _ | Lower _ - |Upper _ | LowerUpper _ -> + | Transformation.Identity | Offset _ | Multiplier _ | OffsetMultiplier _ + |Lower _ | Upper _ | LowerUpper _ -> Stmt.Helpers.for_scalar | Ordered | PositiveOrdered | Simplex | UnitVector | CholeskyCorr |CholeskyCov | Correlation | Covariance -> @@ -253,7 +215,7 @@ let same_shape decl_id decl_var id var meta = ; meta } ] let check_transform_shape decl_id decl_var meta = function - | Program.Offset e -> same_shape decl_id decl_var "offset" e meta + | Transformation.Offset e -> same_shape decl_id decl_var "offset" e meta | Multiplier e -> same_shape decl_id decl_var "multiplier" e meta | Lower e -> same_shape decl_id decl_var "lower" e meta | Upper e -> same_shape decl_id decl_var "upper" e meta @@ -282,7 +244,7 @@ let copy_indices indexed (var : Expr.Typed.t) = } let extract_transform_args var = function - | Program.Lower a | Upper a -> [copy_indices var a] + | Transformation.Lower a | Upper a -> [copy_indices var a] | Offset a -> [copy_indices var a; {a with Expr.Fixed.pattern= Lit (Int, "1")}] | Multiplier a -> [{a with pattern= Lit (Int, "0")}; copy_indices var a] @@ -292,15 +254,6 @@ let extract_transform_args var = function |PositiveOrdered | Simplex | UnitVector | Identity -> [] -let extra_constraint_args st = function - | Program.Lower _ | Upper _ | Offset _ | Multiplier _ | LowerUpper _ - |OffsetMultiplier _ | Ordered | PositiveOrdered | Simplex | UnitVector - |Identity -> - [] - | Covariance | Correlation | CholeskyCorr -> - [List.hd_exn (SizedType.dims_of st)] - | CholeskyCov -> SizedType.dims_of st - let param_size transform sizedtype = let rec shrink_eigen f st = match st with @@ -323,7 +276,7 @@ let param_size transform sizedtype = Expr.Helpers.(binop (binop k Times (binop k Minus (int 1))) Divide (int 2)) in match transform with - | Program.Identity | Lower _ | Upper _ + | Transformation.Identity | Lower _ | Upper _ |LowerUpper (_, _) |Offset _ | Multiplier _ |OffsetMultiplier (_, _) @@ -355,66 +308,22 @@ let remove_possibly_exn pst action loc = [%message "Error extracting sizedtype" ~action ~loc:(loc : Location_span.t)] -let constrain_decl st dconstrain t decl_id decl_var smeta = - match Option.bind ~f:(constrain_constraint_to_string t) dconstrain with - | None -> [] - | Some constraint_str -> - let dc = Option.value_exn dconstrain in - let extra_args = - match dconstrain with - | Some Constrain -> extra_constraint_args st t - | _ -> [] - in - let args var = (var :: extract_transform_args var t) @ extra_args in - let internal_fun = - match dc with - | Check -> Internal_fun.FnCheck constraint_str - | Constrain -> FnConstrain constraint_str - | Unconstrain -> FnUnconstrain constraint_str - in - let constrainvar var = - { var with - Expr.Fixed.pattern= FunApp (CompilerInternal internal_fun, args var) - } - in - let unconstrained_decls, decl_id, ut = - let ut = SizedType.to_unsized (param_size t st) in - match dconstrain with - | Some Unconstrain when t <> Identity -> - ( [ Stmt.Fixed. - { pattern= - Decl - { decl_adtype= DataOnly - ; decl_id= decl_id ^ "_free__" - ; decl_type= Sized (param_size t st) } - ; meta= smeta } ] - , decl_id ^ "_free__" - , ut ) - | _ -> ([], decl_id, SizedType.to_unsized st) - in - unconstrained_decls - @ [ (constraint_forl t) st - (Stmt.Helpers.assign_indexed ut decl_id smeta constrainvar) - decl_var smeta ] - let rec check_decl var decl_type' decl_id decl_trans smeta adlevel = let decl_type = remove_possibly_exn decl_type' "check" smeta in match decl_trans with - | Program.Identity | Offset _ | Multiplier _ | OffsetMultiplier (_, _) -> [] - | LowerUpper (lb, ub) -> + | Transformation.LowerUpper (lb, ub) -> check_decl var decl_type' decl_id (Lower lb) smeta adlevel @ check_decl var decl_type' decl_id (Upper ub) smeta adlevel - | _ -> ( - match check_constraint_to_string decl_trans Check with - | Some fn -> - let check_id id = - let id_str = Expr.Helpers.str (Fmt.strf "%a" Expr.Typed.pp id) in - let args = extract_transform_args id decl_trans in - Stmt.Helpers.internal_nrfunapp (FnCheck fn) (id_str :: id :: args) - smeta - in - [(constraint_forl decl_trans) decl_type check_id var smeta] - | None -> [] ) + | _ when Transformation.has_check decl_trans -> + let check_id id = + let var_name = Fmt.strf "%a" Expr.Typed.pp id in + let args = extract_transform_args id decl_trans in + Stmt.Helpers.internal_nrfunapp + (FnCheck {trans= decl_trans; var_name; var= id}) + args smeta + in + [(constraint_forl decl_trans) decl_type check_id var smeta] + | _ -> [] let check_sizedtype name = let check x = function @@ -448,8 +357,8 @@ let check_sizedtype name = (ll, Type.Sized st) | Unsized ut -> ([], Unsized ut) -let trans_decl {dconstrain; dadlevel} smeta decl_type transform identifier - initial_value = +let trans_decl {transform_action; dadlevel} smeta decl_type transform + identifier initial_value = let decl_id = identifier.Ast.name in let rhs = Option.map ~f:trans_expr initial_value in let size_checks, dt = check_sizedtype identifier.name decl_type in @@ -477,13 +386,13 @@ let trans_decl {dconstrain; dadlevel} smeta decl_type transform identifier in if Utils.is_user_ident decl_id then let constrain_checks = - match dconstrain with - | Some Constrain | Some Unconstrain -> + match transform_action with + | Constrain | Unconstrain -> raise_s [%message "This should never happen."] - | Some Check -> + | Check -> check_transform_shape decl_id decl_var smeta transform @ check_decl decl_var dt decl_id transform smeta dadlevel - | None -> [] + | IgnoreTransform -> [] in size_checks @ (decl :: rhs_assignment) @ constrain_checks else size_checks @ (decl :: rhs_assignment) @@ -497,7 +406,9 @@ let unwrap_block_or_skip = function let rec trans_stmt ud_dists (declc : decl_context) (ts : Ast.typed_statement) = let stmt_typed = ts.stmt and smeta = ts.smeta.loc in - let trans_stmt = trans_stmt ud_dists {declc with dconstrain= None} in + let trans_stmt = + trans_stmt ud_dists {declc with transform_action= IgnoreTransform} + in let trans_single_stmt s = match trans_stmt s with | [s] -> s @@ -640,7 +551,7 @@ let rec trans_stmt ud_dists (declc : decl_context) (ts : Ast.typed_statement) = | Ast.VarDecl {decl_type; transformation; identifier; initial_value; is_global= _} -> trans_decl declc smeta decl_type - (Program.map_transformation trans_expr transformation) + (Transformation.map trans_expr transformation) identifier initial_value | Ast.Block stmts -> Block (List.concat_map ~f:trans_stmt stmts) |> swrap | Ast.Profile (name, stmts) -> @@ -663,7 +574,7 @@ let trans_fun_def ud_dists (ts : Ast.typed_statement) = ; fdargs= List.map ~f:trans_arg arguments ; fdbody= trans_stmt ud_dists - {dconstrain= None; dadlevel= AutoDiffable} + {transform_action= IgnoreTransform; dadlevel= AutoDiffable} body |> unwrap_block_or_skip ; fdloc= ts.smeta.loc } ] @@ -717,10 +628,10 @@ let trans_sizedtype_decl declc tr name = | SizedType.(SInt | SReal) as t -> ([], t) | SVector s -> let fn = - match (declc.dconstrain, tr) with - | Some Constrain, Program.Simplex -> + match (declc.transform_action, tr) with + | Constrain, Transformation.Simplex -> Internal_fun.FnValidateSizeSimplex - | Some Constrain, UnitVector -> FnValidateSizeUnitVector + | Constrain, UnitVector -> FnValidateSizeUnitVector | _ -> FnValidateSize in let l, s = grab_size fn n s in @@ -732,8 +643,8 @@ let trans_sizedtype_decl declc tr name = let l1, r = grab_size FnValidateSize n r in let l2, c = grab_size FnValidateSize (n + 1) c in let cf_cov = - match (declc.dconstrain, tr) with - | Some Constrain, CholeskyCov -> + match (declc.transform_action, tr) with + | Constrain, CholeskyCov -> [ { Stmt.Fixed.pattern= NRFunApp ( StanLib ("check_greater_or_equal", FnPlain) @@ -765,7 +676,7 @@ let trans_block ud_dists declc block prog = ; is_global= true } ; smeta } -> let decl_id = identifier.Ast.name in - let transform = Program.map_transformation trans_expr transformation in + let transform = Transformation.map trans_expr transformation in let rhs = Option.map ~f:trans_expr initial_value in let size, type_ = trans_sizedtype_decl declc transform identifier.name type_ @@ -804,18 +715,14 @@ let trans_block ud_dists declc block prog = let stmts = if Utils.is_user_ident decl_id then let constrain_checks = - match declc.dconstrain with - | Some Constrain -> - check_transform_shape decl_id decl_var smeta.loc transform - | Some Unconstrain -> + match declc.transform_action with + | Constrain | Unconstrain -> check_transform_shape decl_id decl_var smeta.loc transform - @ constrain_decl type_ declc.dconstrain transform decl_id - decl_var smeta.loc - | Some Check -> + | Check -> check_transform_shape decl_id decl_var smeta.loc transform @ check_decl decl_var (Sized type_) decl_id transform smeta.loc declc.dadlevel - | None -> [] + | IgnoreTransform -> [] in (decl :: rhs_assignment) @ constrain_checks else decl :: rhs_assignment @@ -860,39 +767,40 @@ let trans_prog filename (p : Ast.typed_program) : Program.Typed.t = let input_vars = map get_name_size datablock |> List.map ~f:(fun (n, st, _) -> (n, st)) in - let declc = {dconstrain= None; dadlevel= DataOnly} in - let datab = map (trans_stmt {declc with dconstrain= Some Check}) datablock in + let declc = {transform_action= IgnoreTransform; dadlevel= DataOnly} in + let datab = + map (trans_stmt {declc with transform_action= Check}) datablock + in let _, _, param = trans_block ud_dists - {dconstrain= Some Constrain; dadlevel= AutoDiffable} + {transform_action= Constrain; dadlevel= AutoDiffable} Parameters p in - let _, _, transform_inits = - trans_block ud_dists {declc with dconstrain= Some Unconstrain} Parameters p - in + (* Backends will add to transform_inits as needed *) + let transform_inits = [] in let out_param, paramsizes, param_gq = - trans_block ud_dists {declc with dconstrain= Some Constrain} Parameters p + trans_block ud_dists {declc with transform_action= Constrain} Parameters p in let _, _, txparam = trans_block ud_dists - {dconstrain= Some Check; dadlevel= AutoDiffable} + {transform_action= Check; dadlevel= AutoDiffable} TransformedParameters p in let out_tparam, tparamsizes, txparam_gq = trans_block ud_dists - {declc with dconstrain= Some Check} + {declc with transform_action= Check} TransformedParameters p in let out_gq, gq_sizes, gq_stmts = trans_block ud_dists - {declc with dconstrain= Some Check} + {declc with transform_action= Check} GeneratedQuantities p in let output_vars = out_param @ out_tparam @ out_gq in let prepare_data = datab @ ( map - (trans_stmt {declc with dconstrain= Some Check}) + (trans_stmt {declc with transform_action= Check}) transformeddatablock |> migrate_checks_to_end_of_block ) @ paramsizes @ tparamsizes @ gq_sizes diff --git a/src/frontend/Canonicalize.ml b/src/frontend/Canonicalize.ml index d1bc820314..4ba4e42994 100644 --- a/src/frontend/Canonicalize.ml +++ b/src/frontend/Canonicalize.ml @@ -154,7 +154,7 @@ let rec parens_stmt {stmt; smeta} = ; is_global } -> VarDecl { decl_type= Middle.Type.map no_parens d - ; transformation= Middle.Program.map_transformation keep_parens t + ; transformation= Middle.Transformation.map keep_parens t ; identifier ; initial_value= Option.map ~f:no_parens init ; is_global } diff --git a/src/frontend/Debug_data_generation.ml b/src/frontend/Debug_data_generation.ml index 7431c90bcc..e9d2832f55 100644 --- a/src/frontend/Debug_data_generation.ml +++ b/src/frontend/Debug_data_generation.ml @@ -42,7 +42,7 @@ let gen_num_int m t = let def_low, diff = (2, 4) in let low, up = match t with - | Program.Lower e -> (unwrap_int_exn m e, unwrap_int_exn m e + diff) + | Transformation.Lower e -> (unwrap_int_exn m e, unwrap_int_exn m e + diff) | Upper e -> (unwrap_int_exn m e - diff, unwrap_int_exn m e) | LowerUpper (e1, e2) -> (unwrap_int_exn m e1, unwrap_int_exn m e2) | _ -> (def_low, def_low + diff) @@ -54,7 +54,7 @@ let gen_num_real m t = let def_low, diff = (2., 5.) in let low, up = match t with - | Program.Lower e -> (unwrap_num_exn m e, unwrap_num_exn m e +. diff) + | Transformation.Lower e -> (unwrap_num_exn m e, unwrap_num_exn m e +. diff) | Upper e -> (unwrap_num_exn m e -. diff, unwrap_num_exn m e) | LowerUpper (e1, e2) -> (unwrap_num_exn m e1, unwrap_num_exn m e2) | _ -> (def_low, def_low +. diff) @@ -108,7 +108,7 @@ let gen_row_vector m n t = let create_bounds l u = wrap_row_vector (List.map2_exn - ~f:(fun x y -> gen_real m (Program.LowerUpper (x, y))) + ~f:(fun x y -> gen_real m (Transformation.LowerUpper (x, y))) l u) in match (e1, e2) with @@ -143,14 +143,14 @@ let gen_row_vector m n t = (e2 : (typed_expr_meta, fun_kind) expr_with)] in match t with - | Program.Lower ({emeta= {type_= UVector | URowVector; _}; _} as e) -> - gen_bounded (fun x -> Program.Lower x) (extract_var e) - | Program.Upper ({emeta= {type_= UVector | URowVector; _}; _} as e) -> - gen_bounded (fun x -> Program.Upper x) (extract_var e) - | Program.LowerUpper + | Transformation.Lower ({emeta= {type_= UVector | URowVector; _}; _} as e) -> + gen_bounded (fun x -> Transformation.Lower x) (extract_var e) + | Transformation.Upper ({emeta= {type_= UVector | URowVector; _}; _} as e) -> + gen_bounded (fun x -> Transformation.Upper x) (extract_var e) + | Transformation.LowerUpper ( ({emeta= {type_= UVector | URowVector | UReal | UInt; _}; _} as e1) , ({emeta= {type_= UVector | URowVector; _}; _} as e2) ) - |Program.LowerUpper + |Transformation.LowerUpper ( ({emeta= {type_= UVector | URowVector; _}; _} as e1) , ({emeta= {type_= UReal | UInt; _}; _} as e2) ) -> gen_ul_bounded (extract_var e1) (extract_var e2) @@ -169,7 +169,7 @@ let gen_vector m n t = l in match t with - | Program.Simplex -> + | Transformation.Simplex -> let l = repeat_th n (fun _ -> Random.float 1.) in let sum = List.fold l ~init:0. ~f:(fun accum elt -> accum +. elt) in let l = List.map l ~f:(fun x -> x /. sum) in @@ -261,9 +261,8 @@ let gen_corr_matrix n = wrap_real_mat (matprod corr_chol (transpose corr_chol)) let gen_matrix mm m n t = - let open Program in match t with - | Covariance -> gen_cov_matrix m + | Transformation.Covariance -> gen_cov_matrix m | Correlation -> gen_corr_matrix m | CholeskyCov -> gen_cov_cholesky m n | CholeskyCorr -> gen_corr_cholesky m diff --git a/src/frontend/Pretty_printing.ml b/src/frontend/Pretty_printing.ml index 4c90dca99f..577a854ac7 100644 --- a/src/frontend/Pretty_printing.ml +++ b/src/frontend/Pretty_printing.ml @@ -172,7 +172,7 @@ and pp_sizedtype ppf = function | SArray _ -> raise (Middle.Errors.FatalError "This should never happen.") and pp_transformation ppf = function - | Middle.Program.Identity -> Fmt.pf ppf "" + | Middle.Transformation.Identity -> Fmt.pf ppf "" | Lower e -> Fmt.pf ppf "" pp_expression e | Upper e -> Fmt.pf ppf "" pp_expression e | LowerUpper (e1, e2) -> @@ -229,7 +229,7 @@ and pp_transformed_type ppf (pst, trans) = | _ -> Fmt.nop in match trans with - | Middle.Program.Identity -> + | Middle.Transformation.Identity -> Fmt.pf ppf "%a%a" unsizedtype_fmt () sizes_fmt () | Lower _ | Upper _ | LowerUpper _ | Offset _ | Multiplier _ |OffsetMultiplier _ -> diff --git a/src/frontend/Semantic_check.ml b/src/frontend/Semantic_check.ml index d1aa24888b..1c2ef559b8 100644 --- a/src/frontend/Semantic_check.ml +++ b/src/frontend/Semantic_check.ml @@ -865,42 +865,44 @@ let rec semantic_check_sizedtype cf = function (* -- Transformations ------------------------------------------------------- *) let semantic_check_transformation cf ut = function - | Program.Identity -> Validate.ok Program.Identity + | Transformation.Identity -> Validate.ok Transformation.Identity | Lower e -> semantic_check_expression_of_scalar_or_type cf ut e "Lower bound" - |> Validate.map ~f:(fun ue -> Program.Lower ue) + |> Validate.map ~f:(fun ue -> Transformation.Lower ue) | Upper e -> semantic_check_expression_of_scalar_or_type cf ut e "Upper bound" - |> Validate.map ~f:(fun ue -> Program.Upper ue) + |> Validate.map ~f:(fun ue -> Transformation.Upper ue) | LowerUpper (e1, e2) -> let ue1 = semantic_check_expression_of_scalar_or_type cf ut e1 "Lower bound" and ue2 = semantic_check_expression_of_scalar_or_type cf ut e2 "Upper bound" in - Validate.liftA2 (fun ue1 ue2 -> Program.LowerUpper (ue1, ue2)) ue1 ue2 + Validate.liftA2 + (fun ue1 ue2 -> Transformation.LowerUpper (ue1, ue2)) + ue1 ue2 | Offset e -> semantic_check_expression_of_scalar_or_type cf ut e "Offset" - |> Validate.map ~f:(fun ue -> Program.Offset ue) + |> Validate.map ~f:(fun ue -> Transformation.Offset ue) | Multiplier e -> semantic_check_expression_of_scalar_or_type cf ut e "Multiplier" - |> Validate.map ~f:(fun ue -> Program.Multiplier ue) + |> Validate.map ~f:(fun ue -> Transformation.Multiplier ue) | OffsetMultiplier (e1, e2) -> let ue1 = semantic_check_expression_of_scalar_or_type cf ut e1 "Offset" and ue2 = semantic_check_expression_of_scalar_or_type cf ut e2 "Multiplier" in Validate.liftA2 - (fun ue1 ue2 -> Program.OffsetMultiplier (ue1, ue2)) + (fun ue1 ue2 -> Transformation.OffsetMultiplier (ue1, ue2)) ue1 ue2 - | Ordered -> Validate.ok Program.Ordered - | PositiveOrdered -> Validate.ok Program.PositiveOrdered - | Simplex -> Validate.ok Program.Simplex - | UnitVector -> Validate.ok Program.UnitVector - | CholeskyCorr -> Validate.ok Program.CholeskyCorr - | CholeskyCov -> Validate.ok Program.CholeskyCov - | Correlation -> Validate.ok Program.Correlation - | Covariance -> Validate.ok Program.Covariance + | Ordered -> Validate.ok Transformation.Ordered + | PositiveOrdered -> Validate.ok Transformation.PositiveOrdered + | Simplex -> Validate.ok Transformation.Simplex + | UnitVector -> Validate.ok Transformation.UnitVector + | CholeskyCorr -> Validate.ok Transformation.CholeskyCorr + | CholeskyCov -> Validate.ok Transformation.CholeskyCov + | Correlation -> Validate.ok Transformation.Correlation + | Covariance -> Validate.ok Transformation.Covariance (* -- Printables ------------------------------------------------------------ *) @@ -1522,7 +1524,7 @@ and semantic_check_var_decl_bounds ~loc is_global sized_ty trans = let is_real {emeta; _} = emeta.type_ = UReal in let is_valid_transformation = match trans with - | Program.Lower e -> is_real e + | Transformation.Lower e -> is_real e | Upper e -> is_real e | LowerUpper (e1, e2) -> is_real e1 || is_real e2 | _ -> false diff --git a/src/frontend/parser.mly b/src/frontend/parser.mly index 6ad3ab33df..6048547831 100644 --- a/src/frontend/parser.mly +++ b/src/frontend/parser.mly @@ -436,14 +436,14 @@ type_constraint: range_constraint: | (* nothing *) - { grammar_logger "empty_constraint" ; Program.Identity } + { grammar_logger "empty_constraint" ; Transformation.Identity } | LABRACK r=range RABRACK { grammar_logger "range_constraint" ; r } range: | LOWER ASSIGN e1=constr_expression COMMA UPPER ASSIGN e2=constr_expression | UPPER ASSIGN e2=constr_expression COMMA LOWER ASSIGN e1=constr_expression - { grammar_logger "lower_upper_range" ; Program.LowerUpper (e1, e2) } + { grammar_logger "lower_upper_range" ; Transformation.LowerUpper (e1, e2) } | LOWER ASSIGN e=constr_expression { grammar_logger "lower_range" ; Lower e } | UPPER ASSIGN e=constr_expression @@ -452,7 +452,7 @@ range: offset_mult: | OFFSET ASSIGN e1=constr_expression COMMA MULTIPLIER ASSIGN e2=constr_expression | MULTIPLIER ASSIGN e2=constr_expression COMMA OFFSET ASSIGN e1=constr_expression - { grammar_logger "offset_mult" ; Program.OffsetMultiplier (e1, e2) } + { grammar_logger "offset_mult" ; Transformation.OffsetMultiplier (e1, e2) } | OFFSET ASSIGN e=constr_expression { grammar_logger "offset" ; Offset e } | MULTIPLIER ASSIGN e=constr_expression diff --git a/src/middle/Expr.ml b/src/middle/Expr.ml index a1bb8b90ff..6bc0ad5b57 100644 --- a/src/middle/Expr.ml +++ b/src/middle/Expr.ml @@ -10,7 +10,7 @@ module Fixed = struct type 'a t = | Var of string | Lit of litType * string - | FunApp of Fun_kind.t * 'a list + | FunApp of 'a Fun_kind.t * 'a list | TernaryIf of 'a * 'a * 'a | EAnd of 'a * 'a | EOr of 'a * 'a @@ -27,7 +27,7 @@ module Fixed = struct (Option.value_exn (Operator.of_string_opt name)) pp_e rhs | FunApp (fun_kind, args) -> - Fmt.pf ppf "%a(%a)" Fun_kind.pp fun_kind + Fmt.pf ppf "%a(%a)" (Fun_kind.pp pp_e) fun_kind Fmt.(list pp_e ~sep:Fmt.comma) args | TernaryIf (pred, texpr, fexpr) -> @@ -159,6 +159,7 @@ module Helpers = struct {Fixed.meta= Typed.Meta.empty; pattern= Lit (Real, string_of_float i)} let str i = {Fixed.meta= Typed.Meta.empty; pattern= Lit (Str, i)} + let variable v = {Fixed.meta= Typed.Meta.empty; pattern= Var v} let zero = int 0 let one = int 1 @@ -166,6 +167,12 @@ module Helpers = struct { Fixed.meta= Typed.Meta.empty ; pattern= FunApp (StanLib (Operator.to_string op, FnPlain), [e1; e2]) } + let binop_list es op ~default = + match es with + | [] -> default + | head :: rest -> + List.fold ~init:head ~f:(fun accum next -> binop accum op next) rest + let loop_bottom = one let internal_funapp fn args meta = diff --git a/src/middle/Expr.mli b/src/middle/Expr.mli index 6035f20cc9..dd1e7f9e9c 100644 --- a/src/middle/Expr.mli +++ b/src/middle/Expr.mli @@ -8,7 +8,7 @@ module Fixed : sig type 'a t = | Var of string | Lit of litType * string - | FunApp of Fun_kind.t * 'a list + | FunApp of 'a Fun_kind.t * 'a list | TernaryIf of 'a * 'a * 'a | EAnd of 'a * 'a | EOr of 'a * 'a @@ -80,14 +80,18 @@ module Helpers : sig val int : int -> Typed.t val float : float -> Typed.t val str : string -> Typed.t + val variable : string -> Typed.t val zero : Typed.t val one : Typed.t val binop : Typed.t -> Operator.t -> Typed.t -> Typed.t + val binop_list : Typed.t list -> Operator.t -> default:Typed.t -> Typed.t val loop_bottom : Typed.t - val internal_funapp : Internal_fun.t -> 'a Fixed.t list -> 'a -> 'a Fixed.t + + val internal_funapp : + 'a Fixed.t Internal_fun.t -> 'a Fixed.t list -> 'a -> 'a Fixed.t val contains_fn_kind : - (Fun_kind.t -> bool) -> ?init:bool -> 'a Fixed.t -> bool + ('a Fixed.t Fun_kind.t -> bool) -> ?init:bool -> 'a Fixed.t -> bool val infer_type_of_indexed : UnsizedType.t -> 'a Index.t list -> UnsizedType.t val add_int_index : Typed.t -> Typed.t Index.t -> Typed.t diff --git a/src/middle/Fun_kind.ml b/src/middle/Fun_kind.ml index 3669636438..bfc792b17c 100644 --- a/src/middle/Fun_kind.ml +++ b/src/middle/Fun_kind.ml @@ -5,11 +5,11 @@ type 'propto suffix = FnPlain | FnRng | FnLpdf of 'propto | FnTarget let without_propto = map_suffix (function true | false -> ()) -type t = +type 'e t = | StanLib of string * bool suffix - | CompilerInternal of Internal_fun.t + | CompilerInternal of 'e Internal_fun.t | UserDefined of string * bool suffix -[@@deriving compare, sexp, hash] +[@@deriving compare, sexp, hash, map, fold] let suffix_from_name fname = let is_suffix suffix = Core_kernel.String.is_suffix ~suffix fname in @@ -26,9 +26,11 @@ let suffix_from_name fname = then FnLpdf false else FnPlain -let pp ppf = function +let pp pp_expr ppf = function | StanLib (s, FnLpdf true) | UserDefined (s, FnLpdf true) -> Fmt.string ppf (Utils.with_unnormalized_suffix s |> Option.value ~default:s) | StanLib (s, _) | UserDefined (s, _) -> Fmt.string ppf s - | CompilerInternal internal -> Internal_fun.pp ppf internal + | CompilerInternal internal -> Internal_fun.pp pp_expr ppf internal + +let collect_exprs fn = fold (fun accum e -> e :: accum) [] fn diff --git a/src/middle/Internal_fun.ml b/src/middle/Internal_fun.ml index 87998a2e56..609c1f787f 100644 --- a/src/middle/Internal_fun.ml +++ b/src/middle/Internal_fun.ml @@ -1,36 +1,57 @@ open Core_kernel -type t = +type 'expr t = | FnLength | FnMakeArray | FnMakeRowVec | FnNegInf (* In AST_to_MIR being used as StanLib *) | FnReadData + | FnReadDataSerializer (* XXX move these to a backend specific file?*) - | FnReadParam of string option - | FnWriteParam + | FnReadParam of {constrain: 'expr Transformation.t; dims: 'expr list} + | FnWriteParam of {unconstrain_opt: 'expr Transformation.t option; var: 'expr} | FnValidateSize | FnValidateSizeSimplex | FnValidateSizeUnitVector - | FnConstrain of string - | FnUnconstrain of string - | FnCheck of string + | FnCheck of {trans: 'expr Transformation.t; var_name: string; var: 'expr} | FnPrint | FnReject | FnResizeToMatch | FnNaN | FnDeepCopy | FnReadWriteEventsOpenCL of string -[@@deriving sexp, hash, compare] +[@@deriving sexp, hash, compare, map, fold] -let to_string x = Sexp.to_string (sexp_of_t x) ^ "__" -let pp ppf internal = Fmt.string ppf (to_string internal) +let to_string + ?(expr_to_string = + fun _ -> + raise + (Failure + "Should not be parsing expression from string in function renaming")) + x = + Sexp.to_string (sexp_of_t expr_to_string x) ^ "__" -let of_string_opt x = - try - String.chop_suffix_exn ~suffix:"__" x - |> Sexp.of_string |> t_of_sexp |> Some - with - | Sexplib.Conv.Of_sexp_error _ -> None - | Invalid_argument _ -> None +let pp (pp_expr : 'a Fmt.t) ppf internal = + Fmt.string ppf + (to_string + ~expr_to_string:(fun expr -> sexp_of_string (Fmt.strf "%a" pp_expr expr)) + internal) + +(* Does this function call change state? Can we call it twice with the same results? + + E.g., FnReadDataSerializer moves the serializer forward, so calling it again has + different results + + Useful for optimizations +*) +let can_side_effect = function + | FnReadParam _ | FnReadData | FnReadDataSerializer | FnWriteParam _ + |FnValidateSize | FnValidateSizeSimplex | FnValidateSizeUnitVector + |FnReadWriteEventsOpenCL _ -> + true + | FnLength | FnMakeArray | FnMakeRowVec | FnNegInf | FnPrint | FnReject + |FnResizeToMatch | FnNaN | FnDeepCopy | FnCheck _ -> + false + +let collect_exprs fn = fold (fun accum e -> e :: accum) [] fn diff --git a/src/middle/Middle.ml b/src/middle/Middle.ml index 5c8b94ede6..d156410830 100644 --- a/src/middle/Middle.ml +++ b/src/middle/Middle.ml @@ -17,3 +17,4 @@ module Program = Program module Stan_math_signatures = Stan_math_signatures module Utils = Utils module Warnings = Warnings +module Transformation = Transformation diff --git a/src/middle/Program.ml b/src/middle/Program.ml index 50fe6ba971..e032a1d30d 100644 --- a/src/middle/Program.ml +++ b/src/middle/Program.ml @@ -19,30 +19,11 @@ type 'a fun_def = type io_block = Parameters | TransformedParameters | GeneratedQuantities [@@deriving sexp, hash] -(** Transformations (constraints) for global variable declarations *) -type 'e transformation = - | Identity - | Lower of 'e - | Upper of 'e - | LowerUpper of 'e * 'e - | Offset of 'e - | Multiplier of 'e - | OffsetMultiplier of 'e * 'e - | Ordered - | PositiveOrdered - | Simplex - | UnitVector - | CholeskyCorr - | CholeskyCov - | Correlation - | Covariance -[@@deriving sexp, compare, map, hash, fold] - type 'e outvar = { out_unconstrained_st: 'e SizedType.t ; out_constrained_st: 'e SizedType.t ; out_block: io_block - ; out_trans: 'e transformation } + ; out_trans: 'e Transformation.t } [@@deriving sexp, map, hash, fold] type ('a, 'b) t = diff --git a/src/middle/SizedType.ml b/src/middle/SizedType.ml index 0fa7d59546..1204e2c4b0 100644 --- a/src/middle/SizedType.ml +++ b/src/middle/SizedType.ml @@ -66,6 +66,20 @@ let rec get_dims st = | SMatrix (dim1, dim2) -> [dim1; dim2] | SArray (t, dim) -> dim :: get_dims t +(* Return a type's array dimensions and the type inside the (possibly nested) array *) +let rec get_array_dims st = + match st with + | SInt | SReal -> (st, []) + | SVector d | SRowVector d -> (st, [d]) + | SMatrix (d1, d2) -> (st, [d1; d2]) + | SArray (st, dim) -> + let st', dims = get_array_dims st in + (st', dim :: dims) + +let num_elems_expr st = + Expr.Helpers.binop_list (get_dims st) Operator.Times + ~default:(Expr.Helpers.int 1) + let%expect_test "dims" = let open Fmt in strf "@[%a@]" (list ~sep:comma string) diff --git a/src/middle/Stmt.ml b/src/middle/Stmt.ml index f54fcc7728..0177ddaa46 100644 --- a/src/middle/Stmt.ml +++ b/src/middle/Stmt.ml @@ -10,7 +10,7 @@ module Fixed = struct type ('a, 'b) t = | Assignment of 'a lvalue * 'a | TargetPE of 'a - | NRFunApp of Fun_kind.t * 'a list + | NRFunApp of 'a Fun_kind.t * 'a list | Break | Continue | Return of 'a option @@ -37,7 +37,7 @@ module Fixed = struct | TargetPE expr -> Fmt.pf ppf {|@[%a +=@ %a;@]|} pp_keyword "target" pp_e expr | NRFunApp (kind, args) -> - Fmt.pf ppf {|@[%a%a;@]|} Fun_kind.pp kind + Fmt.pf ppf {|@[%a%a;@]|} (Fun_kind.pp pp_e) kind Fmt.(list pp_e ~sep:comma |> parens) args | Break -> pp_keyword ppf "break;" @@ -252,27 +252,44 @@ module Helpers = struct let internal_nrfunapp fn args meta = {Fixed.pattern= NRFunApp (CompilerInternal fn, args); meta} - (** [mkfor] returns a MIR For statement that iterates over the given expression - [iteratee]. *) - let mkfor upper bodyfn iteratee meta = - let idx s = - let meta = - Expr.Typed.Meta.create ~type_:UInt ~loc:meta ~adlevel:DataOnly () - in - let expr = Expr.Fixed.{meta; pattern= Var s} in - Index.Single expr - in + (** [mk_for] returns a MIR For statement from 0 to `upper` that calls the `bodyfn` with the loop + variable inside the loop. *) + let mk_for upper bodyfn meta = let loopvar, reset = Gensym.enter () in - let lower = Expr.Helpers.loop_bottom in - let stmt = - Fixed.Pattern.Block - [bodyfn (Expr.Helpers.add_int_index iteratee (idx loopvar))] + let loopvar_expr = + Expr.Fixed. + { meta= + Expr.Typed.Meta.create ~type_:UInt ~loc:meta ~adlevel:DataOnly () + ; pattern= Var loopvar } in + let lower = Expr.Helpers.loop_bottom in + let body = Fixed.{meta; pattern= Pattern.Block [bodyfn loopvar_expr]} in reset () ; - let body = Fixed.{meta; pattern= stmt} in let pattern = Fixed.Pattern.For {loopvar; lower; upper; body} in Fixed.{meta; pattern} + (** [mk_nested_for] returns nested MIR For statements with ranges from 0 to each element of + `uppers`, and calls the `bodyfn` in the innermost loop with the list of loop variables. *) + let rec mk_nested_for uppers bodyfn meta = + match uppers with + | [] -> bodyfn [] + | upper :: uppers' -> + mk_for upper + (fun loopvar -> + mk_nested_for uppers' + (fun loopvars -> bodyfn (loopvar :: loopvars)) + meta ) + meta + + (** [mk_for_iteratee] returns a MIR For statement that iterates over the given expression + [iteratee]. *) + let mk_for_iteratee upper iteratee_bodyfn iteratee meta = + let bodyfn loopvar = + iteratee_bodyfn + (Expr.Helpers.add_int_index iteratee (Index.Single loopvar)) + in + mk_for upper bodyfn meta + let rec for_each bodyfn iteratee smeta = let len (e : Expr.Typed.t) = let emeta = e.meta in @@ -281,7 +298,8 @@ module Helpers = struct in match Expr.Typed.type_of iteratee with | UInt | UReal -> bodyfn iteratee - | UVector | URowVector -> mkfor (len iteratee) bodyfn iteratee smeta + | UVector | URowVector -> + mk_for_iteratee (len iteratee) bodyfn iteratee smeta | UMatrix -> let emeta = iteratee.meta in let emeta' = {emeta with Expr.Typed.Meta.type_= UInt} in @@ -290,8 +308,8 @@ module Helpers = struct { meta= emeta' ; pattern= FunApp (StanLib ("rows", FnPlain), [iteratee]) } in - mkfor rows (fun e -> for_each bodyfn e smeta) iteratee smeta - | UArray _ -> mkfor (len iteratee) bodyfn iteratee smeta + mk_for_iteratee rows (fun e -> for_each bodyfn e smeta) iteratee smeta + | UArray _ -> mk_for_iteratee (len iteratee) bodyfn iteratee smeta | UMathLibraryFunction | UFun _ -> raise_s [%message "can't iterate over " (iteratee : Expr.Typed.t)] @@ -312,7 +330,7 @@ module Helpers = struct overarrays and running bodyfn on any eign types found within. We can call [bodyfn] directly on scalars and Eigen types; - for Arrays we call mkfor but insert a + for Arrays we call mk_for_iteratee but insert a recursive call into the [bodyfn] that will operate on the nested type. In this way we recursively create for loops that loop over the outermost layers first. @@ -321,13 +339,14 @@ module Helpers = struct match st with | SizedType.SInt | SReal | SVector _ | SRowVector _ | SMatrix _ -> bodyfn var - | SArray (t, d) -> mkfor d (fun e -> for_eigen t bodyfn e smeta) var smeta + | SArray (t, d) -> + mk_for_iteratee d (fun e -> for_eigen t bodyfn e smeta) var smeta (** [for_scalar unsizedtype...] generates a For statement that loops over the scalars in the underlying [unsizedtype]. We can call [bodyfn] directly on scalars, make a direct For loop - around Eigen types, or for Arrays we call mkfor but inserting a + around Eigen types, or for Arrays we call mk_for_iteratee but inserting a recursive call into the [bodyfn] that will operate on the nested type. In this way we recursively create for loops that loop over the outermost layers first. @@ -335,10 +354,13 @@ module Helpers = struct let rec for_scalar st bodyfn var smeta = match st with | SizedType.SInt | SReal -> bodyfn var - | SVector d | SRowVector d -> mkfor d bodyfn var smeta + | SVector d | SRowVector d -> mk_for_iteratee d bodyfn var smeta | SMatrix (d1, d2) -> - mkfor d1 (fun e -> for_scalar (SRowVector d2) bodyfn e smeta) var smeta - | SArray (t, d) -> mkfor d (fun e -> for_scalar t bodyfn e smeta) var smeta + mk_for_iteratee d1 + (fun e -> for_scalar (SRowVector d2) bodyfn e smeta) + var smeta + | SArray (t, d) -> + mk_for_iteratee d (fun e -> for_scalar t bodyfn e smeta) var smeta (** Exactly like for_scalar, but iterating through array dimensions in the inverted order.*) @@ -353,10 +375,10 @@ module Helpers = struct let rec go st bodyfn var smeta = match st with | SizedType.SArray (t, d) -> - let bodyfn' var = mkfor d bodyfn var smeta in + let bodyfn' var = mk_for_iteratee d bodyfn var smeta in go t bodyfn' var smeta | SMatrix (d1, d2) -> - let bodyfn' var = mkfor d1 bodyfn var smeta in + let bodyfn' var = mk_for_iteratee d1 bodyfn var smeta in go (SRowVector d2) bodyfn' var smeta | _ -> for_scalar st bodyfn var smeta in diff --git a/src/middle/Stmt.mli b/src/middle/Stmt.mli index 1344b797aa..dcb3311c84 100644 --- a/src/middle/Stmt.mli +++ b/src/middle/Stmt.mli @@ -7,7 +7,7 @@ module Fixed : sig type ('a, 'b) t = | Assignment of 'a lvalue * 'a | TargetPE of 'a - | NRFunApp of Fun_kind.t * 'a list + | NRFunApp of 'a Fun_kind.t * 'a list | Break | Continue | Return of 'a option @@ -120,12 +120,27 @@ module Helpers : sig (Expr.Typed.t -> 'a -> Located.t) -> Expr.Typed.t -> 'a -> Located.t val internal_nrfunapp : - Internal_fun.t -> 'a Fixed.First.t list -> 'b -> ('a, 'b) Fixed.t + 'a Fixed.First.t Internal_fun.t + -> 'a Fixed.First.t list + -> 'b + -> ('a, 'b) Fixed.t val contains_fn_kind : - (Fun_kind.t -> bool) -> ?init:bool -> ('a, 'b) Fixed.t -> bool + ('a Fixed.First.t Fun_kind.t -> bool) + -> ?init:bool + -> ('a, 'b) Fixed.t + -> bool - val mkfor : + val mk_for : + Expr.Typed.t -> (Expr.Typed.t -> Located.t) -> Location_span.t -> Located.t + + val mk_nested_for : + Expr.Typed.t list + -> (Expr.Typed.t list -> Located.t) + -> Location_span.t + -> Located.t + + val mk_for_iteratee : Expr.Typed.t -> (Expr.Typed.t -> Located.t) -> Expr.Typed.t diff --git a/src/middle/Transformation.ml b/src/middle/Transformation.ml new file mode 100644 index 0000000000..c35cbf5e95 --- /dev/null +++ b/src/middle/Transformation.ml @@ -0,0 +1,22 @@ +(** Transformations (constraints) for global variable declarations *) +type 'e t = + | Identity + | Lower of 'e + | Upper of 'e + | LowerUpper of 'e * 'e + | Offset of 'e + | Multiplier of 'e + | OffsetMultiplier of 'e * 'e + | Ordered + | PositiveOrdered + | Simplex + | UnitVector + | CholeskyCorr + | CholeskyCov + | Correlation + | Covariance +[@@deriving sexp, compare, map, hash, fold] + +let has_check = function + | Identity | Offset _ | Multiplier _ | OffsetMultiplier _ -> false + | _ -> true diff --git a/src/stan_math_backend/Expression_gen.ml b/src/stan_math_backend/Expression_gen.ml index 3e02d73177..953173e230 100644 --- a/src/stan_math_backend/Expression_gen.ml +++ b/src/stan_math_backend/Expression_gen.ml @@ -152,6 +152,40 @@ let functor_suffix_select hof = variadic_ode_functor_suffix | _ -> functor_suffix +let constraint_to_string = function + | Transformation.Ordered -> Some "ordered" + | PositiveOrdered -> Some "positive_ordered" + | Simplex -> Some "simplex" + | UnitVector -> Some "unit_vector" + | CholeskyCorr -> Some "cholesky_factor_corr" + | CholeskyCov -> Some "cholesky_factor_cov" + | Correlation -> Some "corr_matrix" + | Covariance -> Some "cov_matrix" + | Lower _ -> Some "lb" + | Upper _ -> Some "ub" + | LowerUpper _ -> Some "lub" + | Offset _ | Multiplier _ | OffsetMultiplier _ -> Some "offset_multiplier" + | Identity -> None + +let check_to_string = function + | Transformation.Lower _ -> Some "greater_or_equal" + | Upper _ -> Some "less_or_equal" + | CholeskyCov -> Some "cholesky_factor" + | LowerUpper _ -> + raise_s [%message "LowerUpper is really two other checks tied together"] + | Offset _ | Multiplier _ | OffsetMultiplier _ -> None + | t -> constraint_to_string t + +let default_multiplier = 1 +let default_offset = 0 + +let transform_args = function + | Transformation.Offset offset -> + [offset; Expr.Helpers.int default_multiplier] + | Multiplier multiplier -> [Expr.Helpers.int default_offset; multiplier] + | transform -> + Transformation.fold (fun args arg -> args @ [arg]) [] transform + let rec pp_index ppf = function | Index.All -> pf ppf "index_omni()" | Single e -> pf ppf "index_uni(%a)" pp_expr e @@ -430,22 +464,28 @@ and pp_compiler_internal_fn ad ut f ppf es = raise_s [%message "Unexpected type for row vector literal" (ut : UnsizedType.t)] ) - | FnConstrain flavor -> pp_constrain_funapp "constrain" flavor ppf es - | FnUnconstrain flavor -> pp_constrain_funapp "free" flavor ppf es | FnReadData -> read_data ut ppf es - | FnReadParam constraint_opt -> - let constraint_suffix_opt = - Option.map - ~f:(fun constraint_string -> "_constrain_" ^ constraint_string) - constraint_opt - in - let jacobian_param_opt = - Option.map ~f:(fun _ -> ", jacobian__") constraint_opt - in - pf ppf "@[in__.template read%a<%a%a>(@,%a)@]" - (Fmt.option Fmt.string) constraint_suffix_opt pp_unsizedtype_local - (UnsizedType.AutoDiffable, ut) - (Fmt.option Fmt.string) jacobian_param_opt (list ~sep:comma pp_expr) es + | FnReadDataSerializer -> + pf ppf "@[in__.read<%a>(@,)@]" pp_unsizedtype_local + (UnsizedType.AutoDiffable, UnsizedType.UReal) + | FnReadParam {constrain; dims} -> ( + let constrain_opt = constraint_to_string constrain in + match constrain_opt with + | None -> + pf ppf "@[in__.template read<%a>(@,%a)@]" pp_unsizedtype_local + (UnsizedType.AutoDiffable, ut) + (list ~sep:comma pp_expr) dims + | Some constraint_string -> + let constraint_args = transform_args constrain in + let lp = + Expr.Fixed.{pattern= Var "lp__"; meta= Expr.Typed.Meta.empty} + in + let args = constraint_args @ [lp] @ dims in + pf ppf + "@[in__.template read_constrain_%s<%a, jacobian__>(@,%a)@]" + constraint_string pp_unsizedtype_local + (UnsizedType.AutoDiffable, ut) + (list ~sep:comma pp_expr) args ) | FnDeepCopy -> gen_fun_app FnPlain ppf "stan::model::deep_copy" es | _ -> gen_fun_app FnPlain ppf (Internal_fun.to_string f) es diff --git a/src/stan_math_backend/Stan_math_code_gen.ml b/src/stan_math_backend/Stan_math_code_gen.ml index b43b425fd4..e4b3a90b61 100644 --- a/src/stan_math_backend/Stan_math_code_gen.ml +++ b/src/stan_math_backend/Stan_math_code_gen.ml @@ -539,8 +539,9 @@ let pp_write_array ppf {Program.prog_name; generate_quantities; _} = in let intro ppf () = pf ppf "%a@ %a@ %a" (list ~sep:cut string) - [ "using local_scalar_t__ = double;"; "vars__.resize(0);" + [ "using local_scalar_t__ = double;" ; "stan::io::deserializer in__(params_r__, params_i__);" + ; "stan::io::serializer out__(vars__);" ; "static constexpr bool propto__ = true;"; "(void) propto__;" ; "double lp__ = 0.0;" ; "(void) lp__; // dummy to suppress unused var warning" @@ -671,20 +672,23 @@ let pp_unconstrained_param_names ppf {Program.output_vars; _} = ~cv_attr (** Print the `transform_inits` method of the model class *) -let pp_transform_inits ppf {Program.transform_inits; _} = +let pp_transform_inits_impl ppf {Program.transform_inits; _} = pf ppf "template * = nullptr, @ \ stan::require_vector_like_vt* = nullptr> @ " ; let params = - [ "const stan::io::var_context& context__"; "VecI& params_i__" - ; "VecVar& vars__"; "std::ostream* pstream__ = nullptr" ] + [ "VecVar& params_r__"; "VecI& params_i__"; "VecVar& vars__" + ; "std::ostream* pstream__ = nullptr" ] in let intro ppf () = - pf ppf - "using local_scalar_t__ = \ - double;@,vars__.clear();@,vars__.reserve(num_params_r__);@ int \ - current_statement__ = 0; " + pf ppf "%a" (list ~sep:cut string) + [ "using local_scalar_t__ = double;" + ; "stan::io::deserializer in__(params_r__, params_i__);" + ; "stan::io::serializer out__(vars__);" + ; "int current_statement__ = 0;" + ; "local_scalar_t__ \ + DUMMY_VAR__(std::numeric_limits::quiet_NaN());" ] in let cv_attr = ["const"] in pp_method_b ppf "void" "transform_inits_impl" params intro transform_inits @@ -746,7 +750,25 @@ let pp_constrained_types ppf {Program.output_vars; _} = pp_outvar_metadata ppf ("get_constrained_sizedtypes", outvars) (** Print the generic method overloads needed in the model class. *) -let pp_overloads ppf () = +let pp_overloads ppf {Program.output_vars; _} = + (* An expression for the number of individual parameters in a list of output variables *) + let num_outvars (outvars : Expr.Typed.t Program.outvar list) = + Expr.Helpers.binop_list + (List.map + ~f:(fun outvar -> + SizedType.num_elems_expr outvar.Program.out_constrained_st ) + outvars) + Operator.Plus ~default:(Expr.Helpers.int 0) + in + (* The list of output variables that came from a particular block *) + let block_outvars (block : Program.io_block) = + List.filter_map output_vars + ~f:(fun ((_ : string), (outvar : Expr.Typed.t Program.outvar)) -> + if outvar.out_block = block then Some outvar else None ) + in + let num_gen_quantities = num_outvars (block_outvars GeneratedQuantities) in + let num_params = num_outvars (block_outvars Parameters) in + let num_transformed = num_outvars (block_outvars TransformedParameters) in pf ppf {| // Begin method overload boilerplate @@ -757,8 +779,12 @@ let pp_overloads ppf () = const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = %a; + const size_t num_transformed = %a; + const size_t num_gen_quantities = %a; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -773,8 +799,13 @@ let pp_overloads ppf () = bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = %a; + const size_t num_transformed = %a; + const size_t num_gen_quantities = %a; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -795,27 +826,54 @@ let pp_overloads ppf () = inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } |} + pp_expr num_params pp_expr num_transformed pp_expr num_gen_quantities + pp_expr num_params pp_expr num_transformed pp_expr num_gen_quantities + +(** Print the `get_constrained_sizedtypes` method of the model class *) +let pp_transform_inits ppf {Program.output_vars; _} = + let params = + [ "const stan::io::var_context& context"; "std::vector& params_i" + ; "std::vector& vars"; "std::ostream* pstream__ = nullptr" ] + in + let list_len = List.length output_vars in + let get_names ppf () = + let add_param = fmt "%S" in + pf ppf + "@[const std::array names__ = \ + std::array{%a};@]@," + list_len list_len + (list ~sep:comma add_param) + (List.map ~f:fst output_vars) + in + let pp_body ppf = + pf ppf "%a" (list ~sep:cut string) + [ " std::vector params_r_flat__;" + ; " for (auto&& param_name__ : names__) {" + ; " const auto param_vec__ = context.vals_r(param_name__);" + ; " params_r_flat__.reserve(params_r_flat__.size() + \ + param_vec__.size());"; " for (auto&& param_val__ : param_vec__) {" + ; " params_r_flat__.push_back(param_val__);"; " }"; " }" + ; "vars.resize(params_r_flat__.size());" + ; "transform_inits_impl(params_r_flat__, params_i, vars, pstream__);" ] + in + let cv_attr = ["const"] in + pp_method ppf "void" "transform_inits" params get_names + (fun ppf -> pp_body ppf) + ~cv_attr (** Print the public parts of the model class *) let pp_model_public ppf p = pf ppf "@ %a" pp_ctor p ; pf ppf "@ %a" pp_log_prob p ; pf ppf "@ %a" pp_write_array p ; - pf ppf "@ %a" pp_transform_inits p ; + pf ppf "@ %a" pp_transform_inits_impl p ; (* Begin metadata methods *) pf ppf "@ %a" pp_get_param_names p ; (* Post-data metadata methods *) @@ -825,7 +883,8 @@ let pp_model_public ppf p = pf ppf "@ %a" pp_constrained_types p ; pf ppf "@ %a" pp_unconstrained_types p ; (* Boilerplate *) - pf ppf "@ %a" pp_overloads () + pf ppf "@ %a" pp_overloads p ; + pf ppf "@ %a" pp_transform_inits p let model_prefix = "model_" diff --git a/src/stan_math_backend/Statement_gen.ml b/src/stan_math_backend/Statement_gen.ml index d10380fdb1..e5f82940e4 100644 --- a/src/stan_math_backend/Statement_gen.ml +++ b/src/stan_math_backend/Statement_gen.ml @@ -227,10 +227,9 @@ let math_fn_translations = function | FnReadWriteEventsOpenCL x -> Some (x ^ ".wait_for_read_write_events", []) | _ -> None -let trans_math_fn fname = +let trans_math_fn f = Option.( - value ~default:(fname, []) - (bind (Internal_fun.of_string_opt fname) ~f:math_fn_translations)) + value ~default:(Internal_fun.to_string f, []) (math_fn_translations f)) let pp_bool_expr ppf expr = match Expr.Typed.type_of expr with @@ -277,11 +276,7 @@ let rec pp_statement (ppf : Format.formatter) Stmt.Fixed.({pattern; meta}) = Expr.Fixed.pattern= FunApp (CompilerInternal FnDeepCopy, [e]) } | _ -> recurse e in - let rhs = - match rhs.pattern with - | FunApp (CompilerInternal (FnConstrain _ | FnUnconstrain _), _) -> rhs - | _ -> maybe_deep_copy rhs - in + let rhs = maybe_deep_copy rhs in pf ppf "@[assign(@,%s,@ %a,@ %S%s%a@]);" assignee pp_expr rhs (strf "assigning variable %s" assignee) (if List.length idcs = 0 then "" else ", ") @@ -297,17 +292,27 @@ let rec pp_statement (ppf : Format.formatter) Stmt.Fixed.({pattern; meta}) = pf ppf "std::stringstream %s;@," err_strm ; pf ppf "%a@," (list ~sep:cut add_to_string) args ; pf ppf "throw std::domain_error(%s.str());" err_strm - | NRFunApp (CompilerInternal (FnCheck check_name), args) -> - let function_arg = - {Expr.Fixed.pattern= Var "function__"; meta= Expr.Typed.Meta.empty} - in - pf ppf "%s(@[%a@]);" ("check_" ^ check_name) - (list ~sep:comma pp_expr) (function_arg :: args) - | NRFunApp (CompilerInternal FnWriteParam, [var]) -> - pf ppf "@[vars__.emplace_back(@,%a);@]" pp_expr var + | NRFunApp (CompilerInternal (FnCheck {trans; var_name; var}), args) -> + Option.iter (check_to_string trans) ~f:(fun check_name -> + let function_arg = Expr.Helpers.variable "function__" in + pf ppf "%s(@[%a@]);" ("check_" ^ check_name) + (list ~sep:comma pp_expr) + (function_arg :: Expr.Helpers.str var_name :: var :: args) ) + | NRFunApp (CompilerInternal (FnWriteParam {unconstrain_opt; var}), _) -> ( + match + (unconstrain_opt, Option.bind ~f:constraint_to_string unconstrain_opt) + with + (* When the current block or this transformation doesn't require unconstraining, + use vanilla write *) + | None, _ | _, None -> pf ppf "@[out__.write(@,%a);@]" pp_expr var + (* Otherwise, use stan::io::serializer's write_free functions *) + | Some trans, Some unconstrain_string -> + let unconstrain_args = transform_args trans in + pf ppf "@[out__.write_free_%s(@,%a);@]" unconstrain_string + (list ~sep:comma pp_expr) + (unconstrain_args @ [var]) ) | NRFunApp (CompilerInternal f, args) -> - let fname = Internal_fun.to_string f in - let fname, extra_args = trans_math_fn fname in + let fname, extra_args = trans_math_fn f in pf ppf "%s(@[%a@]);" fname (list ~sep:comma pp_expr) (extra_args @ args) | NRFunApp (StanLib (fname, _), args) -> diff --git a/src/stan_math_backend/Transform_Mir.ml b/src/stan_math_backend/Transform_Mir.ml index 53c08942e8..f02df0e385 100644 --- a/src/stan_math_backend/Transform_Mir.ml +++ b/src/stan_math_backend/Transform_Mir.ml @@ -157,87 +157,51 @@ let data_read smeta (decl_id, st) = ; Stmt.Helpers.for_scalar_inv st bodyfn decl_var smeta ] |> swrap ] -type constrainaction = Check | Constrain | Unconstrain [@@deriving sexp] +(* + Get the dimension expressions that are expected by constrain/unconstrain + functions for a sized type. -let constraint_to_string t (c : constrainaction) = - match t with - | Program.Ordered -> Some "ordered" - | PositiveOrdered -> Some "positive_ordered" - | Simplex -> Some "simplex" - | UnitVector -> Some "unit_vector" - | CholeskyCorr -> Some "cholesky_factor_corr" - | CholeskyCov -> Some "cholesky_factor_cov" - | Correlation -> Some "corr_matrix" - | Covariance -> Some "cov_matrix" - | Lower _ -> ( - match c with - | Check -> Some "greater_or_equal" - | Constrain | Unconstrain -> Some "lb" ) - | Upper _ -> ( - match c with - | Check -> Some "less_or_equal" - | Constrain | Unconstrain -> Some "ub" ) - | LowerUpper _ -> ( - match c with - | Check -> - raise_s - [%message "LowerUpper is really two other checks tied together"] - | Constrain | Unconstrain -> Some "lub" ) - | Offset _ | Multiplier _ | OffsetMultiplier _ -> ( - match c with - | Check -> None - | Constrain | Unconstrain -> Some "offset_multiplier" ) - | Identity -> None - -let default_multiplier = 1 -let default_offset = 0 - -let transform_args = function - | Program.Offset offset -> [offset; Expr.Helpers.int default_multiplier] - | Multiplier multiplier -> [Expr.Helpers.int default_offset; multiplier] - | transform -> - Program.fold_transformation (fun args arg -> args @ [arg]) [] transform + For constrains that return square / lower triangular matrices the C++ + only wants one of the matrix dimensions. +*) +let read_constrain_dims constrain_transform st = + let rec constrain_get_dims st = + match st with + | SizedType.SInt | SReal -> [] + | SVector d | SRowVector d -> [d] + | SMatrix (_, dim2) -> [dim2] + | SArray (t, dim) -> dim :: constrain_get_dims t + in + match constrain_transform with + | Transformation.CholeskyCorr | Correlation | Covariance -> + constrain_get_dims st + | _ -> SizedType.get_dims st + +let data_serializer_read loc out_constrained_st = + let ut = SizedType.to_unsized out_constrained_st in + let dims = SizedType.get_dims out_constrained_st in + let emeta = Expr.Typed.Meta.create ~loc ~type_:ut ~adlevel:AutoDiffable () in + Expr.( + Helpers.( + internal_funapp FnReadDataSerializer dims + Typed.Meta.{emeta with type_= ut})) let param_read smeta (decl_id, Program.({out_constrained_st= cst; out_block; out_trans; _})) = if not (out_block = Parameters) then [] else let ut = SizedType.to_unsized cst in - let decl_var = - Expr.Fixed. - { pattern= Var decl_id - ; meta= - Expr.Typed.Meta.create ~loc:smeta ~type_:ut ~adlevel:AutoDiffable - () } - in - let transform_args = transform_args out_trans in - (* - For constrains that return square / lower triangular matrices the C++ - only wants one of the matrix dimensions. - *) - let rec constrain_get_dims st = - match st with - | SizedType.SInt | SReal -> [] - | SVector d | SRowVector d -> [d] - | SMatrix (_, dim2) -> [dim2] - | SArray (t, dim) -> dim :: constrain_get_dims t - in - let read_constrain_dims constrain_transform st = - match constrain_transform with - | Program.CholeskyCorr | Correlation | Covariance -> - constrain_get_dims st - | _ -> SizedType.get_dims st + let emeta = + Expr.Typed.Meta.create ~loc:smeta ~type_:ut ~adlevel:AutoDiffable () in + let dims = read_constrain_dims out_trans cst in let read = Expr.( Helpers.( internal_funapp - (FnReadParam (constraint_to_string out_trans Constrain)) - ( transform_args - @ ( if out_trans = Identity then [] - else [{decl_var with pattern= Var "lp__"}] ) - @ read_constrain_dims out_trans cst )) - Typed.Meta.{decl_var.meta with type_= ut}) + (FnReadParam {constrain= out_trans; dims}) + [] + Typed.Meta.{emeta with type_= ut})) in [ Stmt.Fixed. {pattern= Pattern.Assignment ((decl_id, ut, []), read); meta= smeta} ] @@ -247,37 +211,9 @@ let escape_name str = |> String.substr_replace_all ~pattern:"." ~with_:"_" |> String.substr_replace_all ~pattern:"-" ~with_:"_" -let rec add_jacobians Stmt.Fixed.({meta= smeta; pattern}) = - match pattern with - | Assignment - ( lhs - , { pattern= FunApp (CompilerInternal (FnConstrain trans), args) - ; meta= emeta } ) -> - let var n = Expr.{Fixed.pattern= Var n; meta= Typed.Meta.empty} in - let assign rhs = - Stmt.{Fixed.pattern= Assignment (lhs, rhs); meta= smeta} - in - { Stmt.Fixed.pattern= - IfElse - ( var "jacobian__" - , assign - { Expr.Fixed.pattern= - FunApp - ( CompilerInternal (FnConstrain trans) - , args @ [var "lp__"] ) - ; meta= emeta } - , Some - (assign - { Expr.Fixed.pattern= - FunApp (CompilerInternal (FnConstrain trans), args) - ; meta= emeta }) ) - ; meta= smeta } - | ptn -> - Stmt.Fixed.{pattern= Pattern.map Fn.id add_jacobians ptn; meta= smeta} - (* Make sure that all if-while-and-for bodies are safely wrapped in a block in such a way that we can insert a location update before. The blocks make sure that the program with the inserted location update is still well-formed C++ though. - *) +*) let rec ensure_body_in_block (Stmt.Fixed.({pattern; _}) as stmt) = let in_block stmt = let pattern = @@ -360,36 +296,46 @@ let add_reads vars mkread stmts = in List.concat_map ~f:add_read_to_decl stmts -let gen_write (decl_id, sizedtype) = - let bodyfn var = - Stmt.Helpers.internal_nrfunapp FnWriteParam [var] Location_span.empty - in - let meta = - {Expr.Typed.Meta.empty with type_= SizedType.to_unsized sizedtype} - in - let expr = Expr.Fixed.{meta; pattern= Var decl_id} in - Stmt.Helpers.for_scalar_inv sizedtype bodyfn expr Location_span.empty - -let gen_write_unconstrained (decl_id, sizedtype) = - let bodyfn var = - let var = - match var.Expr.Fixed.pattern with - | Indexed ({pattern= Indexed (expr, idcs1); _}, idcs2) -> - {var with pattern= Indexed (expr, idcs1 @ idcs2)} - | _ -> var - in - Stmt.Helpers.internal_nrfunapp FnWriteParam [var] Location_span.empty - in - let meta = - {Expr.Typed.Meta.empty with type_= SizedType.to_unsized sizedtype} - in - let expr = Expr.Fixed.{meta; pattern= Var decl_id} in - let writefn var = - Stmt.Helpers.for_scalar_inv - (SizedType.inner_type sizedtype) - bodyfn var Location_span.empty - in - Stmt.Helpers.for_eigen sizedtype writefn expr Location_span.empty +let gen_write ?(unconstrain = false) + (decl_id, Program.({out_constrained_st; out_trans; _})) = + let decl_var = + { Expr.Fixed.pattern= Var decl_id + ; meta= + Expr.Typed.Meta. + { loc= Location_span.empty + ; type_= SizedType.to_unsized out_constrained_st + ; adlevel= DataOnly } } + in + Stmt.Helpers.internal_nrfunapp + (FnWriteParam + {unconstrain_opt= Option.some_if unconstrain out_trans; var= decl_var}) + [] Location_span.empty + +(* Statements to read, unconstrain and assign a parameter then write it back *) +let data_unconstrain_transform smeta (decl_id, outvar) = + [ Stmt.Fixed. + { pattern= + Decl + { decl_adtype= UnsizedType.AutoDiffable + ; decl_id + ; decl_type= Type.Sized outvar.Program.out_constrained_st } + ; meta= smeta } + ; (let nonarray_st, array_dims = + SizedType.get_array_dims outvar.Program.out_constrained_st + in + Stmt.Helpers.mk_nested_for (List.rev array_dims) + (fun loopvars -> + Stmt.Fixed. + { meta= smeta + ; pattern= + Assignment + ( ( decl_id + , SizedType.to_unsized nonarray_st + , List.map ~f:(fun e -> Index.Single e) (List.rev loopvars) + ) + , data_serializer_read smeta nonarray_st ) } ) + smeta) + ; gen_write ~unconstrain:true (decl_id, outvar) ] let rec contains_var_expr is_vident accum Expr.Fixed.({pattern; _}) = accum @@ -399,52 +345,6 @@ let rec contains_var_expr is_vident accum Expr.Fixed.({pattern; _}) = | pattern -> Expr.Fixed.Pattern.fold (contains_var_expr is_vident) false pattern -(* When a parameter's unconstrained type and its constrained type are different, - we generate a new variable "_in__" and read into that. We now need - to change the FnConstrain calls to constrain that variable and assign to the - actual var. -*) -let constrain_in_params outvars stmts = - let is_target_var = function - | ( name - , { Program.out_unconstrained_st - ; out_constrained_st - ; out_block= Parameters; _ } ) - when not (out_unconstrained_st = out_constrained_st) -> - Some name - | _ -> None - in - let target_vars = - List.filter_map outvars ~f:is_target_var |> String.Set.of_list - in - let rec change_constrain_target (Stmt.Fixed.({pattern; _}) as s) = - match pattern with - | Assignment - ( lval - , { pattern= - FunApp ((CompilerInternal (FnConstrain _) as kind), var :: args) - ; meta } ) - when contains_var_expr (Set.mem target_vars) false var -> - let rec change_var_expr (Expr.Fixed.({pattern; _}) as e) = - match pattern with - | Var vident when Set.mem target_vars vident -> - {e with pattern= Var (vident ^ "_in__")} - | pattern -> - {e with pattern= Expr.Fixed.Pattern.map change_var_expr pattern} - in - Stmt.Fixed. - { s with - pattern= - Assignment - ( lval - , {pattern= FunApp (kind, change_var_expr var :: args); meta} - ) } - | pattern -> - Stmt.Fixed. - {s with pattern= Pattern.map Fn.id change_constrain_target pattern} - in - List.map ~f:change_constrain_target stmts - let fn_name_map = String.Map.of_alist_exn [("integrate_ode", "integrate_ode_rk45")] @@ -525,27 +425,9 @@ let trans_prog (p : Program.Typed.t) = |> List.map ~f:(fun pattern -> Stmt.Fixed.{pattern; meta= Location_span.empty} ) in - let get_pname_cst = function - | name, {Program.out_block= Parameters; out_constrained_st; _} -> - Some (name, out_constrained_st) - | _ -> None - in - let get_pname_ust = function - | ( name - , { Program.out_block= Parameters - ; out_unconstrained_st - ; out_trans= Identity; _ } ) -> - Some (name, out_unconstrained_st) - | name, {Program.out_block= Parameters; out_unconstrained_st; _} -> - Some (name ^ "_free__", out_unconstrained_st) - | _ -> None - in - let constrained_params = List.filter_map ~f:get_pname_cst p.output_vars in - let free_params = List.filter_map ~f:get_pname_ust p.output_vars in let param_writes, tparam_writes, gq_writes = - List.map p.output_vars - ~f:(fun (name, {out_constrained_st= st; out_block; _}) -> - (out_block, gen_write (name, st)) ) + List.map p.output_vars ~f:(fun (name, outvar) -> + (outvar.Program.out_block, gen_write (name, outvar)) ) |> List.partition3_map ~f:(fun (b, x) -> match b with | Parameters -> `Fst x @@ -609,16 +491,12 @@ let trans_prog (p : Program.Typed.t) = ( p.generate_quantities |> add_reads p.output_vars param_read |> translate_to_open_cl - |> constrain_in_params p.output_vars |> insert_before tparam_start param_writes |> insert_before gq_start tparam_writes_cond ) @ gq_writes in let log_prob = - p.log_prob |> List.map ~f:add_jacobians - |> add_reads p.output_vars param_read - |> constrain_in_params p.output_vars - |> translate_to_open_cl + p.log_prob |> add_reads p.output_vars param_read |> translate_to_open_cl in let opencl_vars = String.Set.union_list @@ -672,8 +550,11 @@ let trans_prog (p : Program.Typed.t) = @ to_matrix_cl_stmts ; transform_inits= init_pos - @ (p.transform_inits |> add_reads constrained_params data_read) - @ List.map ~f:gen_write_unconstrained free_params + @ List.concat_map + ~f:(data_unconstrain_transform Location_span.empty) + (List.filter + ~f:(fun (_, ov) -> ov.Program.out_block = Parameters) + p.output_vars) ; generate_quantities } in Program.( diff --git a/src/tfp_backend/Code_gen.ml b/src/tfp_backend/Code_gen.ml index f1533c0743..be1f404de2 100644 --- a/src/tfp_backend/Code_gen.ml +++ b/src/tfp_backend/Code_gen.ml @@ -213,7 +213,7 @@ let pp_bijector ppf trans = let pp_call_expr ppf (name, args) = pp_call ppf (name, pp_expr, args) in let components = match trans with - | Program.Identity -> [] + | Transformation.Identity -> [] | Lower lb -> [("Exp", []); ("Shift", [lb])] | Upper ub -> [("Exp", []); ("Scale", [Expr.Helpers.float (-1.)]); ("Shift", [ub])] @@ -225,8 +225,7 @@ let pp_bijector ppf trans = | Correlation -> [("CorrelationCholesky", []); ("CholeskyOuterProduct", [])] | _ -> raise_s - [%message - "Unsupported " (trans : Expr.Typed.t Program.transformation)] + [%message "Unsupported " (trans : Expr.Typed.t Transformation.t)] in match components with | [] -> pf ppf "tfb__.Identity()" diff --git a/src/tfp_backend/Transform_mir.ml b/src/tfp_backend/Transform_mir.ml index 88778cdfbc..80da1e16cf 100644 --- a/src/tfp_backend/Transform_mir.ml +++ b/src/tfp_backend/Transform_mir.ml @@ -103,12 +103,6 @@ let%expect_test "nested dist prefixes translated" = let rec remove_unused_stmts s = let pattern = match s.Stmt.Fixed.pattern with - | Assignment - ( _ - , { Expr.Fixed.pattern= - FunApp (CompilerInternal (FnConstrain _ | FnUnconstrain _), _); _ - } ) -> - Stmt.Fixed.Pattern.Skip | Decl _ -> Stmt.Fixed.Pattern.Skip | NRFunApp ( CompilerInternal diff --git a/test/integration/cli-args/filename_good.expected b/test/integration/cli-args/filename_good.expected index fa91bba2f1..394aa9b22d 100644 --- a/test/integration/cli-args/filename_good.expected +++ b/test/integration/cli-args/filename_good.expected @@ -114,8 +114,8 @@ class filename_good_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -146,13 +146,14 @@ class filename_good_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; @@ -233,8 +234,12 @@ class filename_good_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -249,8 +254,13 @@ class filename_good_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -271,20 +281,31 @@ class filename_good_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = filename_good_model_namespace::filename_good_model; diff --git a/test/integration/good/code-gen/cl.expected b/test/integration/good/code-gen/cl.expected index bdc9ab4e8e..16ccce4c1f 100644 --- a/test/integration/good/code-gen/cl.expected +++ b/test/integration/good/code-gen/cl.expected @@ -1278,8 +1278,8 @@ class optimize_glm_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -1346,33 +1346,15 @@ class optimize_glm_model final : public model_base_crtp { current_statement__ = 9; X_rv_p = in__.template read>(n); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(alpha_v[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(beta[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(cuts[(sym1__ - 1)]); - } - vars__.emplace_back(sigma); - vars__.emplace_back(alpha); - vars__.emplace_back(phi); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - vars__.emplace_back( - rvalue(X_p, "X_p", index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - vars__.emplace_back( - rvalue(beta_m, "beta_m", index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - vars__.emplace_back(X_rv_p[(sym1__ - 1)]); - } + out__.write(alpha_v); + out__.write(beta); + out__.write(cuts); + out__.write(sigma); + out__.write(alpha); + out__.write(phi); + out__.write(X_p); + out__.write(beta_m); + out__.write(X_rv_p); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -1390,187 +1372,93 @@ class optimize_glm_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - Eigen::Matrix alpha_v; - alpha_v = Eigen::Matrix(k); - stan::math::fill(alpha_v, std::numeric_limits::quiet_NaN()); + Eigen::Matrix alpha_v; + alpha_v = Eigen::Matrix(k); + stan::math::fill(alpha_v, DUMMY_VAR__); - { - std::vector alpha_v_flat__; - current_statement__ = 1; - alpha_v_flat__ = context__.vals_r("alpha_v"); - current_statement__ = 1; - pos__ = 1; - current_statement__ = 1; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 1; - assign(alpha_v, alpha_v_flat__[(pos__ - 1)], - "assigning variable alpha_v", index_uni(sym1__)); - current_statement__ = 1; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + assign(alpha_v, in__.read(), + "assigning variable alpha_v", index_uni(sym1__)); } - Eigen::Matrix beta; - beta = Eigen::Matrix(k); - stan::math::fill(beta, std::numeric_limits::quiet_NaN()); + out__.write(alpha_v); + Eigen::Matrix beta; + beta = Eigen::Matrix(k); + stan::math::fill(beta, DUMMY_VAR__); - { - std::vector beta_flat__; - current_statement__ = 2; - beta_flat__ = context__.vals_r("beta"); - current_statement__ = 2; - pos__ = 1; - current_statement__ = 2; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 2; - assign(beta, beta_flat__[(pos__ - 1)], - "assigning variable beta", index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + assign(beta, in__.read(), + "assigning variable beta", index_uni(sym1__)); } - Eigen::Matrix cuts; - cuts = Eigen::Matrix(k); - stan::math::fill(cuts, std::numeric_limits::quiet_NaN()); + out__.write(beta); + Eigen::Matrix cuts; + cuts = Eigen::Matrix(k); + stan::math::fill(cuts, DUMMY_VAR__); - { - std::vector cuts_flat__; - current_statement__ = 3; - cuts_flat__ = context__.vals_r("cuts"); - current_statement__ = 3; - pos__ = 1; - current_statement__ = 3; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 3; - assign(cuts, cuts_flat__[(pos__ - 1)], - "assigning variable cuts", index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + assign(cuts, in__.read(), + "assigning variable cuts", index_uni(sym1__)); } - double sigma; - sigma = std::numeric_limits::quiet_NaN(); - - current_statement__ = 4; - sigma = context__.vals_r("sigma")[(1 - 1)]; - double sigma_free__; - sigma_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 4; - sigma_free__ = stan::math::lb_free(sigma, 0); - double alpha; - alpha = std::numeric_limits::quiet_NaN(); - - current_statement__ = 5; - alpha = context__.vals_r("alpha")[(1 - 1)]; - double phi; - phi = std::numeric_limits::quiet_NaN(); + out__.write(cuts); + local_scalar_t__ sigma; + sigma = DUMMY_VAR__; - current_statement__ = 6; - phi = context__.vals_r("phi")[(1 - 1)]; - Eigen::Matrix X_p; - X_p = Eigen::Matrix(n, k); - stan::math::fill(X_p, std::numeric_limits::quiet_NaN()); + sigma = in__.read(); + out__.write_free_lb(0, sigma); + local_scalar_t__ alpha; + alpha = DUMMY_VAR__; - { - std::vector X_p_flat__; - current_statement__ = 7; - X_p_flat__ = context__.vals_r("X_p"); - current_statement__ = 7; - pos__ = 1; - current_statement__ = 7; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 7; - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - current_statement__ = 7; - assign(X_p, X_p_flat__[(pos__ - 1)], - "assigning variable X_p", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 7; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix beta_m; - beta_m = Eigen::Matrix(n, k); - stan::math::fill(beta_m, std::numeric_limits::quiet_NaN()); + alpha = in__.read(); + out__.write(alpha); + local_scalar_t__ phi; + phi = DUMMY_VAR__; - { - std::vector beta_m_flat__; - current_statement__ = 8; - beta_m_flat__ = context__.vals_r("beta_m"); - current_statement__ = 8; - pos__ = 1; - current_statement__ = 8; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 8; - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - current_statement__ = 8; - assign(beta_m, beta_m_flat__[(pos__ - 1)], - "assigning variable beta_m", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 8; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix X_rv_p; - X_rv_p = Eigen::Matrix(n); - stan::math::fill(X_rv_p, std::numeric_limits::quiet_NaN()); + phi = in__.read(); + out__.write(phi); + Eigen::Matrix X_p; + X_p = Eigen::Matrix(n, k); + stan::math::fill(X_p, DUMMY_VAR__); - { - std::vector X_rv_p_flat__; - current_statement__ = 9; - X_rv_p_flat__ = context__.vals_r("X_rv_p"); - current_statement__ = 9; - pos__ = 1; - current_statement__ = 9; - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 9; - assign(X_rv_p, X_rv_p_flat__[(pos__ - 1)], - "assigning variable X_rv_p", index_uni(sym1__)); - current_statement__ = 9; - pos__ = (pos__ + 1); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(alpha_v[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(beta[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(cuts[(sym1__ - 1)]); - } - vars__.emplace_back(sigma_free__); - vars__.emplace_back(alpha); - vars__.emplace_back(phi); for (int sym1__ = 1; sym1__ <= k; ++sym1__) { for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - vars__.emplace_back( - rvalue(X_p, "X_p", index_uni(sym2__), index_uni(sym1__))); + assign(X_p, in__.read(), + "assigning variable X_p", index_uni(sym2__), index_uni(sym1__)); } } + out__.write(X_p); + Eigen::Matrix beta_m; + beta_m = Eigen::Matrix(n, k); + stan::math::fill(beta_m, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - vars__.emplace_back( - rvalue(beta_m, "beta_m", index_uni(sym2__), index_uni(sym1__))); + assign(beta_m, in__.read(), + "assigning variable beta_m", index_uni(sym2__), index_uni(sym1__)); } } + out__.write(beta_m); + Eigen::Matrix X_rv_p; + X_rv_p = Eigen::Matrix(n); + stan::math::fill(X_rv_p, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - vars__.emplace_back(X_rv_p[(sym1__ - 1)]); + assign(X_rv_p, in__.read(), + "assigning variable X_rv_p", index_uni(sym1__)); } + out__.write(X_rv_p); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -1734,8 +1622,13 @@ class optimize_glm_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((((((((k + k) + k) + 1) + 1) + 1) + (n * k)) + (n * k)) + n); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -1750,8 +1643,14 @@ class optimize_glm_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((((((((k + k) + k) + 1) + 1) + 1) + (n * k)) + (n * k)) + n); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -1772,20 +1671,32 @@ class optimize_glm_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"alpha_v", + "beta", "cuts", "sigma", "alpha", "phi", "X_p", "beta_m", "X_rv_p"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = optimize_glm_model_namespace::optimize_glm_model; diff --git a/test/integration/good/code-gen/cpp.expected b/test/integration/good/code-gen/cpp.expected index cce7bd4c92..a66febe2ec 100644 --- a/test/integration/good/code-gen/cpp.expected +++ b/test/integration/good/code-gen/cpp.expected @@ -192,8 +192,8 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -229,11 +229,9 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> theta = Eigen::Matrix(J); stan::math::fill(theta, std::numeric_limits::quiet_NaN()); - vars__.emplace_back(mu); - vars__.emplace_back(tau); - for (int sym1__ = 1; sym1__ <= J; ++sym1__) { - vars__.emplace_back(theta_tilde[(sym1__ - 1)]); - } + out__.write(mu); + out__.write(tau); + out__.write(theta_tilde); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -242,9 +240,7 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> assign(theta, add(mu, multiply(tau, theta_tilde)), "assigning variable theta"); if (emit_transformed_parameters__) { - for (int sym1__ = 1; sym1__ <= J; ++sym1__) { - vars__.emplace_back(theta[(sym1__ - 1)]); - } + out__.write(theta); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -259,58 +255,39 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double mu; - mu = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mu = context__.vals_r("mu")[(1 - 1)]; - double tau; - tau = std::numeric_limits::quiet_NaN(); + local_scalar_t__ mu; + mu = DUMMY_VAR__; - current_statement__ = 2; - tau = context__.vals_r("tau")[(1 - 1)]; - double tau_free__; - tau_free__ = std::numeric_limits::quiet_NaN(); + mu = in__.read(); + out__.write(mu); + local_scalar_t__ tau; + tau = DUMMY_VAR__; - current_statement__ = 2; - tau_free__ = stan::math::lb_free(tau, 0); - Eigen::Matrix theta_tilde; - theta_tilde = Eigen::Matrix(J); - stan::math::fill(theta_tilde, std::numeric_limits::quiet_NaN()); + tau = in__.read(); + out__.write_free_lb(0, tau); + Eigen::Matrix theta_tilde; + theta_tilde = Eigen::Matrix(J); + stan::math::fill(theta_tilde, DUMMY_VAR__); - { - std::vector theta_tilde_flat__; - current_statement__ = 3; - theta_tilde_flat__ = context__.vals_r("theta_tilde"); - current_statement__ = 3; - pos__ = 1; - current_statement__ = 3; - for (int sym1__ = 1; sym1__ <= J; ++sym1__) { - current_statement__ = 3; - assign(theta_tilde, theta_tilde_flat__[(pos__ - 1)], - "assigning variable theta_tilde", index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - vars__.emplace_back(mu); - vars__.emplace_back(tau_free__); for (int sym1__ = 1; sym1__ <= J; ++sym1__) { - vars__.emplace_back(theta_tilde[(sym1__ - 1)]); + assign(theta_tilde, in__.read(), + "assigning variable theta_tilde", index_uni(sym1__)); } + out__.write(theta_tilde); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -407,8 +384,13 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((1 + 1) + J); + const size_t num_transformed = J; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -423,8 +405,14 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((1 + 1) + J); + const size_t num_transformed = J; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -445,20 +433,32 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mu", + "tau", "theta_tilde", "theta"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = _8_schools_ncp_model_namespace::_8_schools_ncp_model; @@ -600,8 +600,8 @@ class _8start_with_number_model final : public model_base_crtp<_8start_with_numb const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -620,7 +620,7 @@ class _8start_with_number_model final : public model_base_crtp<_8start_with_numb current_statement__ = 1; bar = in__.template read(); - vars__.emplace_back(bar); + out__.write(bar); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -638,25 +638,25 @@ class _8start_with_number_model final : public model_base_crtp<_8start_with_numb template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double bar; - bar = std::numeric_limits::quiet_NaN(); + local_scalar_t__ bar; + bar = DUMMY_VAR__; - current_statement__ = 1; - bar = context__.vals_r("bar")[(1 - 1)]; - vars__.emplace_back(bar); + bar = in__.read(); + out__.write(bar); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -731,8 +731,12 @@ class _8start_with_number_model final : public model_base_crtp<_8start_with_numb const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 1; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -747,8 +751,13 @@ class _8start_with_number_model final : public model_base_crtp<_8start_with_numb bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = 1; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -769,20 +778,31 @@ class _8start_with_number_model final : public model_base_crtp<_8start_with_numb inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"bar"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } @@ -1001,8 +1021,8 @@ class eight_schools_ncp_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -1038,11 +1058,9 @@ class eight_schools_ncp_model final : public model_base_crtp(J); stan::math::fill(theta, std::numeric_limits::quiet_NaN()); - vars__.emplace_back(mu); - vars__.emplace_back(tau); - for (int sym1__ = 1; sym1__ <= J; ++sym1__) { - vars__.emplace_back(theta_tilde[(sym1__ - 1)]); - } + out__.write(mu); + out__.write(tau); + out__.write(theta_tilde); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -1051,9 +1069,7 @@ class eight_schools_ncp_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double mu; - mu = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mu = context__.vals_r("mu")[(1 - 1)]; - double tau; - tau = std::numeric_limits::quiet_NaN(); + local_scalar_t__ mu; + mu = DUMMY_VAR__; - current_statement__ = 2; - tau = context__.vals_r("tau")[(1 - 1)]; - double tau_free__; - tau_free__ = std::numeric_limits::quiet_NaN(); + mu = in__.read(); + out__.write(mu); + local_scalar_t__ tau; + tau = DUMMY_VAR__; - current_statement__ = 2; - tau_free__ = stan::math::lb_free(tau, 0); - Eigen::Matrix theta_tilde; - theta_tilde = Eigen::Matrix(J); - stan::math::fill(theta_tilde, std::numeric_limits::quiet_NaN()); + tau = in__.read(); + out__.write_free_lb(0, tau); + Eigen::Matrix theta_tilde; + theta_tilde = Eigen::Matrix(J); + stan::math::fill(theta_tilde, DUMMY_VAR__); - { - std::vector theta_tilde_flat__; - current_statement__ = 3; - theta_tilde_flat__ = context__.vals_r("theta_tilde"); - current_statement__ = 3; - pos__ = 1; - current_statement__ = 3; - for (int sym1__ = 1; sym1__ <= J; ++sym1__) { - current_statement__ = 3; - assign(theta_tilde, theta_tilde_flat__[(pos__ - 1)], - "assigning variable theta_tilde", index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - vars__.emplace_back(mu); - vars__.emplace_back(tau_free__); for (int sym1__ = 1; sym1__ <= J; ++sym1__) { - vars__.emplace_back(theta_tilde[(sym1__ - 1)]); + assign(theta_tilde, in__.read(), + "assigning variable theta_tilde", index_uni(sym1__)); } + out__.write(theta_tilde); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -1216,8 +1213,13 @@ class eight_schools_ncp_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((1 + 1) + J); + const size_t num_transformed = J; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -1232,8 +1234,14 @@ class eight_schools_ncp_model final : public model_base_crtp @@ -1254,20 +1262,32 @@ class eight_schools_ncp_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mu", + "tau", "theta_tilde", "theta"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } @@ -1441,8 +1461,8 @@ class mixed_type_arrays_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -1473,9 +1493,7 @@ class mixed_type_arrays_model final : public model_base_crtp>(3, std::vector(3, std::numeric_limits::quiet_NaN())); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - vars__.emplace_back(xx[(sym1__ - 1)]); - } + out__.write(xx); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -1501,21 +1519,9 @@ class mixed_type_arrays_model final : public model_base_crtp(3)}}, "assigning variable td_arr33"); if (emit_transformed_parameters__) { - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - vars__.emplace_back(y[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - vars__.emplace_back(w[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - vars__.emplace_back(td_arr33[(sym2__ - 1)][(sym1__ - 1)]); - } - } + out__.write(y); + out__.write(w); + out__.write(td_arr33); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -1530,27 +1536,27 @@ class mixed_type_arrays_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - std::vector xx; - xx = std::vector(3, std::numeric_limits::quiet_NaN()); + std::vector xx; + xx = std::vector(3, DUMMY_VAR__); - current_statement__ = 1; - xx = context__.vals_r("xx"); for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - vars__.emplace_back(xx[(sym1__ - 1)]); + xx[(sym1__ - 1)] = in__.read(); } + out__.write(xx); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -1690,8 +1696,13 @@ class mixed_type_arrays_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 3; + const size_t num_transformed = + (((3 * 3) + (3 * 3)) + (3 * 3)); + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -1706,8 +1717,14 @@ class mixed_type_arrays_model final : public model_base_crtp @@ -1728,20 +1745,32 @@ class mixed_type_arrays_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"xx", + "y", "w", "td_arr33"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } @@ -7461,8 +7490,8 @@ class mother_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -7719,133 +7748,30 @@ class mother_model final : public model_base_crtp { double tp_real; tp_real = std::numeric_limits::quiet_NaN(); - vars__.emplace_back(p_real); - vars__.emplace_back(p_upper); - vars__.emplace_back(p_lower); - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - vars__.emplace_back(offset_multiplier[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - vars__.emplace_back(no_offset_multiplier[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - vars__.emplace_back(offset_no_multiplier[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(p_real_1d_ar[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - p_real_3d_ar[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(p_vec[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(p_1d_vec[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - p_3d_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][(sym1__ - - 1)]); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(p_row_vec[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(p_1d_row_vec[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - p_3d_row_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - vars__.emplace_back( - rvalue(p_mat, "p_mat", index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { - vars__.emplace_back( - rvalue(p_ar_mat, "p_ar_mat", - index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__))); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(p_simplex[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(p_1d_simplex[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - p_3d_simplex[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - vars__.emplace_back( - rvalue(p_cfcov_54, "p_cfcov_54", - index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - vars__.emplace_back( - rvalue(p_cfcov_33, "p_cfcov_33", - index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - vars__.emplace_back( - rvalue(p_cfcov_33_ar, "p_cfcov_33_ar", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(x_p[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(y_p[(sym1__ - 1)]); - } + out__.write(p_real); + out__.write(p_upper); + out__.write(p_lower); + out__.write(offset_multiplier); + out__.write(no_offset_multiplier); + out__.write(offset_no_multiplier); + out__.write(p_real_1d_ar); + out__.write(p_real_3d_ar); + out__.write(p_vec); + out__.write(p_1d_vec); + out__.write(p_3d_vec); + out__.write(p_row_vec); + out__.write(p_1d_row_vec); + out__.write(p_3d_row_vec); + out__.write(p_mat); + out__.write(p_ar_mat); + out__.write(p_simplex); + out__.write(p_1d_simplex); + out__.write(p_3d_simplex); + out__.write(p_cfcov_54); + out__.write(p_cfcov_33); + out__.write(p_cfcov_33_ar); + out__.write(x_p); + out__.write(y_p); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -8036,119 +7962,24 @@ class mother_model final : public model_base_crtp { tp_cfcov_33_ar[(sym1__ - 1)]); } if (emit_transformed_parameters__) { - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(tp_real_1d_ar[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - tp_real_3d_ar[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(tp_vec[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(tp_1d_vec[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - tp_3d_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(tp_row_vec[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(tp_1d_row_vec[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - tp_3d_row_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - vars__.emplace_back( - rvalue(tp_mat, "tp_mat", index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { - vars__.emplace_back( - rvalue(tp_ar_mat, "tp_ar_mat", - index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__))); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(tp_simplex[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(tp_1d_simplex[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - tp_3d_simplex[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - vars__.emplace_back( - rvalue(tp_cfcov_54, "tp_cfcov_54", - index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - vars__.emplace_back( - rvalue(tp_cfcov_33, "tp_cfcov_33", - index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - vars__.emplace_back( - rvalue(tp_cfcov_33_ar, "tp_cfcov_33_ar", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(theta_p[(sym1__ - 1)]); - } - vars__.emplace_back(tp_real); + out__.write(tp_real_1d_ar); + out__.write(tp_real_3d_ar); + out__.write(tp_vec); + out__.write(tp_1d_vec); + out__.write(tp_3d_vec); + out__.write(tp_row_vec); + out__.write(tp_1d_row_vec); + out__.write(tp_3d_row_vec); + out__.write(tp_mat); + out__.write(tp_ar_mat); + out__.write(tp_simplex); + out__.write(tp_1d_simplex); + out__.write(tp_3d_simplex); + out__.write(tp_cfcov_54); + out__.write(tp_cfcov_33); + out__.write(tp_cfcov_33_ar); + out__.write(theta_p); + out__.write(tp_real); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -8538,1306 +8369,825 @@ class mother_model final : public model_base_crtp { check_cholesky_factor(function__, "gq_cfcov_33_ar[sym1__]", gq_cfcov_33_ar[(sym1__ - 1)]); } - vars__.emplace_back(gq_r1); - vars__.emplace_back(gq_r2); + out__.write(gq_r1); + out__.write(gq_r2); + out__.write(gq_real_1d_ar); + out__.write(gq_real_3d_ar); + out__.write(gq_vec); + out__.write(gq_1d_vec); + out__.write(gq_3d_vec); + out__.write(gq_row_vec); + out__.write(gq_1d_row_vec); + out__.write(gq_3d_row_vec); + out__.write(gq_ar_mat); + out__.write(gq_simplex); + out__.write(gq_1d_simplex); + out__.write(gq_3d_simplex); + out__.write(gq_cfcov_54); + out__.write(gq_cfcov_33); + out__.write(gq_cfcov_33_ar); + out__.write(indices); + out__.write(indexing_mat); + out__.write(idx_res1); + out__.write(idx_res2); + out__.write(idx_res3); + out__.write(idx_res11); + out__.write(idx_res21); + out__.write(idx_res31); + out__.write(idx_res4); + out__.write(idx_res5); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + // Next line prevents compiler griping about no return + throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); + } + } // write_array_impl() + + template * = nullptr, + stan::require_vector_like_vt* = nullptr> + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, + std::ostream* pstream__ = nullptr) const { + using local_scalar_t__ = double; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + local_scalar_t__ p_real; + p_real = DUMMY_VAR__; + + p_real = in__.read(); + out__.write(p_real); + local_scalar_t__ p_upper; + p_upper = DUMMY_VAR__; + + p_upper = in__.read(); + out__.write_free_lb(p_real, p_upper); + local_scalar_t__ p_lower; + p_lower = DUMMY_VAR__; + + p_lower = in__.read(); + out__.write_free_ub(p_upper, p_lower); + std::vector offset_multiplier; + offset_multiplier = std::vector(5, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { + offset_multiplier[(sym1__ - 1)] = in__.read(); + } + out__.write_free_offset_multiplier(1, 2, offset_multiplier); + std::vector no_offset_multiplier; + no_offset_multiplier = std::vector(5, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { + no_offset_multiplier[(sym1__ - 1)] = in__.read(); + } + out__.write_free_offset_multiplier(0, 2, no_offset_multiplier); + std::vector offset_no_multiplier; + offset_no_multiplier = std::vector(5, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { + offset_no_multiplier[(sym1__ - 1)] = in__.read(); + } + out__.write_free_offset_multiplier(3, 1, offset_no_multiplier); + std::vector p_real_1d_ar; + p_real_1d_ar = std::vector(N, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(gq_real_1d_ar[(sym1__ - 1)]); + p_real_1d_ar[(sym1__ - 1)] = in__.read(); } + out__.write_free_lb(0, p_real_1d_ar); + std::vector>> p_real_3d_ar; + p_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, DUMMY_VAR__))); + + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { for (int sym2__ = 1; sym2__ <= M; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - gq_real_3d_ar[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + p_real_3d_ar[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)] = + in__.read(); } } } + out__.write_free_lb(0, p_real_3d_ar); + Eigen::Matrix p_vec; + p_vec = Eigen::Matrix(N); + stan::math::fill(p_vec, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(gq_vec[(sym1__ - 1)]); + assign(p_vec, in__.read(), + "assigning variable p_vec", index_uni(sym1__)); } + out__.write_free_lb(0, p_vec); + std::vector> p_1d_vec; + p_1d_vec = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(p_1d_vec, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(gq_1d_vec[(sym2__ - 1)][(sym1__ - 1)]); + assign(p_1d_vec, in__.read(), + "assigning variable p_1d_vec", index_uni(sym2__), + index_uni(sym1__)); } } + out__.write(p_1d_vec); + std::vector>>> p_3d_vec; + p_3d_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(p_3d_vec, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= K; ++sym2__) { for (int sym3__ = 1; sym3__ <= M; ++sym3__) { for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - gq_3d_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][(sym1__ - - 1)]); + assign(p_3d_vec, in__.read(), + "assigning variable p_3d_vec", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } } + out__.write(p_3d_vec); + Eigen::Matrix p_row_vec; + p_row_vec = Eigen::Matrix(N); + stan::math::fill(p_row_vec, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(gq_row_vec[(sym1__ - 1)]); + assign(p_row_vec, in__.read(), + "assigning variable p_row_vec", index_uni(sym1__)); } + out__.write(p_row_vec); + std::vector> p_1d_row_vec; + p_1d_row_vec = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(p_1d_row_vec, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(gq_1d_row_vec[(sym2__ - 1)][(sym1__ - 1)]); + assign(p_1d_row_vec, in__.read(), + "assigning variable p_1d_row_vec", index_uni(sym2__), + index_uni(sym1__)); } } + out__.write(p_1d_row_vec); + std::vector>>> p_3d_row_vec; + p_3d_row_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(p_3d_row_vec, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= K; ++sym2__) { for (int sym3__ = 1; sym3__ <= M; ++sym3__) { for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - gq_3d_row_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); + assign(p_3d_row_vec, in__.read(), + "assigning variable p_3d_row_vec", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } } + out__.write(p_3d_row_vec); + Eigen::Matrix p_mat; + p_mat = Eigen::Matrix(5, 4); + stan::math::fill(p_mat, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + assign(p_mat, in__.read(), + "assigning variable p_mat", index_uni(sym2__), index_uni(sym1__)); + } + } + out__.write(p_mat); + std::vector>> p_ar_mat; + p_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); + stan::math::fill(p_ar_mat, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { - vars__.emplace_back( - rvalue(gq_ar_mat, "gq_ar_mat", - index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__))); + assign(p_ar_mat, in__.read(), + "assigning variable p_ar_mat", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } } + out__.write_free_lub(0, 1, p_ar_mat); + Eigen::Matrix p_simplex; + p_simplex = Eigen::Matrix(N); + stan::math::fill(p_simplex, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(gq_simplex[(sym1__ - 1)]); + assign(p_simplex, in__.read(), + "assigning variable p_simplex", index_uni(sym1__)); } + out__.write_free_simplex(p_simplex); + std::vector> p_1d_simplex; + p_1d_simplex = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(p_1d_simplex, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(gq_1d_simplex[(sym2__ - 1)][(sym1__ - 1)]); + assign(p_1d_simplex, in__.read(), + "assigning variable p_1d_simplex", index_uni(sym2__), + index_uni(sym1__)); } } + out__.write_free_simplex(p_1d_simplex); + std::vector>>> p_3d_simplex; + p_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(p_3d_simplex, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= K; ++sym2__) { for (int sym3__ = 1; sym3__ <= M; ++sym3__) { for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - gq_3d_simplex[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); + assign(p_3d_simplex, in__.read(), + "assigning variable p_3d_simplex", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } } + out__.write_free_simplex(p_3d_simplex); + Eigen::Matrix p_cfcov_54; + p_cfcov_54 = Eigen::Matrix(5, 4); + stan::math::fill(p_cfcov_54, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - vars__.emplace_back( - rvalue(gq_cfcov_54, "gq_cfcov_54", - index_uni(sym2__), index_uni(sym1__))); + assign(p_cfcov_54, in__.read(), + "assigning variable p_cfcov_54", index_uni(sym2__), + index_uni(sym1__)); } } + out__.write_free_cholesky_factor_cov(p_cfcov_54); + Eigen::Matrix p_cfcov_33; + p_cfcov_33 = Eigen::Matrix(3, 3); + stan::math::fill(p_cfcov_33, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - vars__.emplace_back( - rvalue(gq_cfcov_33, "gq_cfcov_33", - index_uni(sym2__), index_uni(sym1__))); + assign(p_cfcov_33, in__.read(), + "assigning variable p_cfcov_33", index_uni(sym2__), + index_uni(sym1__)); } } + out__.write_free_cholesky_factor_cov(p_cfcov_33); + std::vector> p_cfcov_33_ar; + p_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); + stan::math::fill(p_cfcov_33_ar, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - vars__.emplace_back( - rvalue(gq_cfcov_33_ar, "gq_cfcov_33_ar", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - vars__.emplace_back(indices[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - vars__.emplace_back( - rvalue(indexing_mat, "indexing_mat", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - vars__.emplace_back( - rvalue(idx_res1, "idx_res1", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - vars__.emplace_back( - rvalue(idx_res2, "idx_res2", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - vars__.emplace_back( - rvalue(idx_res3, "idx_res3", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - vars__.emplace_back( - rvalue(idx_res11, "idx_res11", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - vars__.emplace_back( - rvalue(idx_res21, "idx_res21", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - vars__.emplace_back( - rvalue(idx_res31, "idx_res31", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); + assign(p_cfcov_33_ar, in__.read(), + "assigning variable p_cfcov_33_ar", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - vars__.emplace_back(idx_res4[(sym2__ - 1)][(sym1__ - 1)]); - } + out__.write_free_cholesky_factor_cov(p_cfcov_33_ar); + Eigen::Matrix x_p; + x_p = Eigen::Matrix(2); + stan::math::fill(x_p, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + assign(x_p, in__.read(), + "assigning variable x_p", index_uni(sym1__)); } + out__.write(x_p); + Eigen::Matrix y_p; + y_p = Eigen::Matrix(2); + stan::math::fill(y_p, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - vars__.emplace_back(idx_res5[(sym2__ - 1)][(sym1__ - 1)]); - } + assign(y_p, in__.read(), + "assigning variable y_p", index_uni(sym1__)); } + out__.write(y_p); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); } - } // write_array_impl() + } // transform_inits_impl() - template * = nullptr, - stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, - std::ostream* pstream__ = nullptr) const { - using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + inline void get_param_names(std::vector& names__) const { - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - double p_real; - p_real = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - p_real = context__.vals_r("p_real")[(1 - 1)]; - double p_upper; - p_upper = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - p_upper = context__.vals_r("p_upper")[(1 - 1)]; - double p_upper_free__; - p_upper_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - p_upper_free__ = stan::math::lb_free(p_upper, p_real); - double p_lower; - p_lower = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - p_lower = context__.vals_r("p_lower")[(1 - 1)]; - double p_lower_free__; - p_lower_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - p_lower_free__ = stan::math::ub_free(p_lower, p_upper); - std::vector offset_multiplier; - offset_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 4; - offset_multiplier = context__.vals_r("offset_multiplier"); - std::vector offset_multiplier_free__; - offset_multiplier_free__ = std::vector(5, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 4; - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - current_statement__ = 4; - assign(offset_multiplier_free__, - stan::math::offset_multiplier_free(offset_multiplier[(sym1__ - 1)], - 1, 2), - "assigning variable offset_multiplier_free__", index_uni(sym1__)); - } - std::vector no_offset_multiplier; - no_offset_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 5; - no_offset_multiplier = context__.vals_r("no_offset_multiplier"); - std::vector no_offset_multiplier_free__; - no_offset_multiplier_free__ = std::vector(5, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 5; - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - current_statement__ = 5; - assign(no_offset_multiplier_free__, - stan::math::offset_multiplier_free( - no_offset_multiplier[(sym1__ - 1)], 0, 2), - "assigning variable no_offset_multiplier_free__", index_uni(sym1__)); - } - std::vector offset_no_multiplier; - offset_no_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 6; - offset_no_multiplier = context__.vals_r("offset_no_multiplier"); - std::vector offset_no_multiplier_free__; - offset_no_multiplier_free__ = std::vector(5, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 6; - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - current_statement__ = 6; - assign(offset_no_multiplier_free__, - stan::math::offset_multiplier_free( - offset_no_multiplier[(sym1__ - 1)], 3, 1), - "assigning variable offset_no_multiplier_free__", index_uni(sym1__)); - } - std::vector p_real_1d_ar; - p_real_1d_ar = std::vector(N, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 7; - p_real_1d_ar = context__.vals_r("p_real_1d_ar"); - std::vector p_real_1d_ar_free__; - p_real_1d_ar_free__ = std::vector(N, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 7; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 7; - assign(p_real_1d_ar_free__, - stan::math::lb_free(p_real_1d_ar[(sym1__ - 1)], 0), - "assigning variable p_real_1d_ar_free__", index_uni(sym1__)); - } - std::vector>> p_real_3d_ar; - p_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); - - + names__ = std::vector{"p_real", "p_upper", "p_lower", + "offset_multiplier", "no_offset_multiplier", "offset_no_multiplier", + "p_real_1d_ar", "p_real_3d_ar", "p_vec", "p_1d_vec", "p_3d_vec", + "p_row_vec", "p_1d_row_vec", "p_3d_row_vec", "p_mat", "p_ar_mat", + "p_simplex", "p_1d_simplex", "p_3d_simplex", "p_cfcov_54", + "p_cfcov_33", "p_cfcov_33_ar", "x_p", "y_p", "tp_real_1d_ar", + "tp_real_3d_ar", "tp_vec", "tp_1d_vec", "tp_3d_vec", "tp_row_vec", + "tp_1d_row_vec", "tp_3d_row_vec", "tp_mat", "tp_ar_mat", "tp_simplex", + "tp_1d_simplex", "tp_3d_simplex", "tp_cfcov_54", "tp_cfcov_33", + "tp_cfcov_33_ar", "theta_p", "tp_real", "gq_r1", "gq_r2", + "gq_real_1d_ar", "gq_real_3d_ar", "gq_vec", "gq_1d_vec", "gq_3d_vec", + "gq_row_vec", "gq_1d_row_vec", "gq_3d_row_vec", "gq_ar_mat", + "gq_simplex", "gq_1d_simplex", "gq_3d_simplex", "gq_cfcov_54", + "gq_cfcov_33", "gq_cfcov_33_ar", "indices", "indexing_mat", "idx_res1", + "idx_res2", "idx_res3", "idx_res11", "idx_res21", "idx_res31", + "idx_res4", "idx_res5"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{}, + std::vector{}, std::vector{}, + std::vector{static_cast(5)}, + std::vector{static_cast(5)}, + std::vector{static_cast(5)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K), static_cast(N)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K), static_cast(N)}, + std::vector{static_cast(5), static_cast(4)}, + std::vector{static_cast(4), static_cast(5), + static_cast(2), static_cast(3)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K), static_cast(N)}, + std::vector{static_cast(5), static_cast(4)}, + std::vector{static_cast(3), static_cast(3)}, + std::vector{static_cast(K), static_cast(3), + static_cast(3)}, + std::vector{static_cast(2)}, + std::vector{static_cast(2)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K), static_cast(N)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K), static_cast(N)}, + std::vector{static_cast(5), static_cast(4)}, + std::vector{static_cast(4), static_cast(5), + static_cast(2), static_cast(3)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K), static_cast(N)}, + std::vector{static_cast(5), static_cast(4)}, + std::vector{static_cast(3), static_cast(3)}, + std::vector{static_cast(K), static_cast(3), + static_cast(3)}, + std::vector{static_cast(2)}, std::vector{ + }, std::vector{}, std::vector{}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K), static_cast(N)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K), static_cast(N)}, + std::vector{static_cast(4), static_cast(5), + static_cast(2), static_cast(3)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(M), + static_cast(K), static_cast(N)}, + std::vector{static_cast(5), static_cast(4)}, + std::vector{static_cast(3), static_cast(3)}, + std::vector{static_cast(K), static_cast(3), + static_cast(3)}, + std::vector{static_cast(3)}, + std::vector{static_cast(5), static_cast(3), + static_cast(4)}, + std::vector{static_cast(3), static_cast(3), + static_cast(4)}, + std::vector{static_cast(5), static_cast(3), + static_cast(4)}, + std::vector{static_cast(3), static_cast(3), + static_cast(3)}, + std::vector{static_cast(3), static_cast(3), + static_cast(4)}, + std::vector{static_cast(5), static_cast(3), + static_cast(4)}, + std::vector{static_cast(3), static_cast(3), + static_cast(3)}, + std::vector{static_cast(3), static_cast(4)}, + std::vector{static_cast(2), static_cast(2)}}; + + } // get_dims() + + inline void constrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + param_names__.emplace_back(std::string() + "p_real"); + param_names__.emplace_back(std::string() + "p_upper"); + param_names__.emplace_back(std::string() + "p_lower"); + for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { { - std::vector p_real_3d_ar_flat__; - current_statement__ = 8; - p_real_3d_ar_flat__ = context__.vals_r("p_real_3d_ar"); - current_statement__ = 8; - pos__ = 1; - current_statement__ = 8; - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - current_statement__ = 8; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 8; + param_names__.emplace_back(std::string() + "offset_multiplier" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { + { + param_names__.emplace_back(std::string() + "no_offset_multiplier" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { + { + param_names__.emplace_back(std::string() + "offset_no_multiplier" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "p_real_1d_ar" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 8; - assign(p_real_3d_ar, p_real_3d_ar_flat__[(pos__ - 1)], - "assigning variable p_real_3d_ar", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 8; - pos__ = (pos__ + 1); + { + param_names__.emplace_back(std::string() + "p_real_3d_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - } - } - std::vector>> p_real_3d_ar_free__; - p_real_3d_ar_free__ = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); - - - current_statement__ = 8; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 8; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 8; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 8; - assign(p_real_3d_ar_free__, - stan::math::lb_free( - p_real_3d_ar[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)], 0), - "assigning variable p_real_3d_ar_free__", index_uni(sym1__), - index_uni(sym2__), - index_uni(sym3__)); - } + } } - } - Eigen::Matrix p_vec; - p_vec = Eigen::Matrix(N); - stan::math::fill(p_vec, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector p_vec_flat__; - current_statement__ = 9; - p_vec_flat__ = context__.vals_r("p_vec"); - current_statement__ = 9; - pos__ = 1; - current_statement__ = 9; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 9; - assign(p_vec, p_vec_flat__[(pos__ - 1)], - "assigning variable p_vec", index_uni(sym1__)); - current_statement__ = 9; - pos__ = (pos__ + 1); - } - } - Eigen::Matrix p_vec_free__; - p_vec_free__ = Eigen::Matrix(N); - stan::math::fill(p_vec_free__, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 9; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 9; - assign(p_vec_free__, stan::math::lb_free(p_vec[(sym1__ - 1)], 0), - "assigning variable p_vec_free__", index_uni(sym1__)); - } - std::vector> p_1d_vec; - p_1d_vec = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(p_1d_vec, std::numeric_limits::quiet_NaN()); - + param_names__.emplace_back(std::string() + "p_vec" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector p_1d_vec_flat__; - current_statement__ = 10; - p_1d_vec_flat__ = context__.vals_r("p_1d_vec"); - current_statement__ = 10; - pos__ = 1; - current_statement__ = 10; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 10; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 10; - assign(p_1d_vec, p_1d_vec_flat__[(pos__ - 1)], - "assigning variable p_1d_vec", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 10; - pos__ = (pos__ + 1); - } + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "p_1d_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - std::vector>>> p_3d_vec; - p_3d_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(p_3d_vec, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector p_3d_vec_flat__; - current_statement__ = 11; - p_3d_vec_flat__ = context__.vals_r("p_3d_vec"); - current_statement__ = 11; - pos__ = 1; - current_statement__ = 11; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 11; - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - current_statement__ = 11; + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - current_statement__ = 11; - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - current_statement__ = 11; - assign(p_3d_vec, p_3d_vec_flat__[(pos__ - 1)], - "assigning variable p_3d_vec", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 11; - pos__ = (pos__ + 1); - } + { + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + { + param_names__.emplace_back(std::string() + "p_3d_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } - } + } } - } - Eigen::Matrix p_row_vec; - p_row_vec = Eigen::Matrix(N); - stan::math::fill(p_row_vec, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector p_row_vec_flat__; - current_statement__ = 12; - p_row_vec_flat__ = context__.vals_r("p_row_vec"); - current_statement__ = 12; - pos__ = 1; - current_statement__ = 12; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 12; - assign(p_row_vec, p_row_vec_flat__[(pos__ - 1)], - "assigning variable p_row_vec", index_uni(sym1__)); - current_statement__ = 12; - pos__ = (pos__ + 1); - } - } - std::vector> p_1d_row_vec; - p_1d_row_vec = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(p_1d_row_vec, std::numeric_limits::quiet_NaN()); - - + param_names__.emplace_back(std::string() + "p_row_vec" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector p_1d_row_vec_flat__; - current_statement__ = 13; - p_1d_row_vec_flat__ = context__.vals_r("p_1d_row_vec"); - current_statement__ = 13; - pos__ = 1; - current_statement__ = 13; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 13; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 13; - assign(p_1d_row_vec, p_1d_row_vec_flat__[(pos__ - 1)], - "assigning variable p_1d_row_vec", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 13; - pos__ = (pos__ + 1); - } + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "p_1d_row_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - std::vector>>> p_3d_row_vec; - p_3d_row_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(p_3d_row_vec, std::numeric_limits::quiet_NaN()); - - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector p_3d_row_vec_flat__; - current_statement__ = 14; - p_3d_row_vec_flat__ = context__.vals_r("p_3d_row_vec"); - current_statement__ = 14; - pos__ = 1; - current_statement__ = 14; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 14; - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - current_statement__ = 14; + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - current_statement__ = 14; - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - current_statement__ = 14; - assign(p_3d_row_vec, p_3d_row_vec_flat__[(pos__ - 1)], - "assigning variable p_3d_row_vec", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 14; - pos__ = (pos__ + 1); - } + { + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + { + param_names__.emplace_back(std::string() + "p_3d_row_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } - } + } } - } - Eigen::Matrix p_mat; - p_mat = Eigen::Matrix(5, 4); - stan::math::fill(p_mat, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { { - std::vector p_mat_flat__; - current_statement__ = 15; - p_mat_flat__ = context__.vals_r("p_mat"); - current_statement__ = 15; - pos__ = 1; - current_statement__ = 15; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 15; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 15; - assign(p_mat, p_mat_flat__[(pos__ - 1)], - "assigning variable p_mat", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 15; - pos__ = (pos__ + 1); - } + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + { + param_names__.emplace_back(std::string() + "p_mat" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - std::vector>> p_ar_mat; - p_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); - stan::math::fill(p_ar_mat, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { { - std::vector p_ar_mat_flat__; - current_statement__ = 16; - p_ar_mat_flat__ = context__.vals_r("p_ar_mat"); - current_statement__ = 16; - pos__ = 1; - current_statement__ = 16; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 16; - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - current_statement__ = 16; + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - current_statement__ = 16; - for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { - current_statement__ = 16; - assign(p_ar_mat, p_ar_mat_flat__[(pos__ - 1)], - "assigning variable p_ar_mat", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 16; - pos__ = (pos__ + 1); - } - } - } - } - } - std::vector>> p_ar_mat_free__; - p_ar_mat_free__ = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); - stan::math::fill(p_ar_mat_free__, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 16; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 16; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 16; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 16; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 16; - assign(p_ar_mat_free__, - stan::math::lub_free( - rvalue(p_ar_mat, "p_ar_mat", - index_uni(sym1__), index_uni(sym2__), index_uni(sym3__), - index_uni(sym4__)), 0, 1), - "assigning variable p_ar_mat_free__", index_uni(sym1__), - index_uni(sym2__), - index_uni(sym3__), - index_uni(sym4__)); + { + for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { + { + param_names__.emplace_back(std::string() + "p_ar_mat" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } - } + } } - } - Eigen::Matrix p_simplex; - p_simplex = Eigen::Matrix(N); - stan::math::fill(p_simplex, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector p_simplex_flat__; - current_statement__ = 17; - p_simplex_flat__ = context__.vals_r("p_simplex"); - current_statement__ = 17; - pos__ = 1; - current_statement__ = 17; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 17; - assign(p_simplex, p_simplex_flat__[(pos__ - 1)], - "assigning variable p_simplex", index_uni(sym1__)); - current_statement__ = 17; - pos__ = (pos__ + 1); - } - } - Eigen::Matrix p_simplex_free__; - p_simplex_free__ = Eigen::Matrix((N - 1)); - stan::math::fill(p_simplex_free__, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 17; - assign(p_simplex_free__, stan::math::simplex_free(p_simplex), - "assigning variable p_simplex_free__"); - std::vector> p_1d_simplex; - p_1d_simplex = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(p_1d_simplex, std::numeric_limits::quiet_NaN()); - - + param_names__.emplace_back(std::string() + "p_simplex" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector p_1d_simplex_flat__; - current_statement__ = 18; - p_1d_simplex_flat__ = context__.vals_r("p_1d_simplex"); - current_statement__ = 18; - pos__ = 1; - current_statement__ = 18; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 18; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 18; - assign(p_1d_simplex, p_1d_simplex_flat__[(pos__ - 1)], - "assigning variable p_1d_simplex", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 18; - pos__ = (pos__ + 1); - } + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "p_1d_simplex" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - std::vector> p_1d_simplex_free__; - p_1d_simplex_free__ = std::vector>(N, Eigen::Matrix( - (N - 1))); - stan::math::fill(p_1d_simplex_free__, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 18; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 18; - assign(p_1d_simplex_free__, - stan::math::simplex_free(p_1d_simplex[(sym1__ - 1)]), - "assigning variable p_1d_simplex_free__", index_uni(sym1__)); - } - std::vector>>> p_3d_simplex; - p_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(p_3d_simplex, std::numeric_limits::quiet_NaN()); - - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector p_3d_simplex_flat__; - current_statement__ = 19; - p_3d_simplex_flat__ = context__.vals_r("p_3d_simplex"); - current_statement__ = 19; - pos__ = 1; - current_statement__ = 19; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 19; - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - current_statement__ = 19; + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - current_statement__ = 19; - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - current_statement__ = 19; - assign(p_3d_simplex, p_3d_simplex_flat__[(pos__ - 1)], - "assigning variable p_3d_simplex", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 19; - pos__ = (pos__ + 1); - } + { + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + { + param_names__.emplace_back(std::string() + "p_3d_simplex" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } - } + } } - } - std::vector>>> p_3d_simplex_free__; - p_3d_simplex_free__ = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix( - (N - 1))))); - stan::math::fill(p_3d_simplex_free__, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 19; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 19; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 19; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 19; - assign(p_3d_simplex_free__, - stan::math::simplex_free( - p_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]), - "assigning variable p_3d_simplex_free__", index_uni(sym1__), - index_uni(sym2__), - index_uni(sym3__)); - } - } - } - Eigen::Matrix p_cfcov_54; - p_cfcov_54 = Eigen::Matrix(5, 4); - stan::math::fill(p_cfcov_54, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { { - std::vector p_cfcov_54_flat__; - current_statement__ = 20; - p_cfcov_54_flat__ = context__.vals_r("p_cfcov_54"); - current_statement__ = 20; - pos__ = 1; - current_statement__ = 20; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 20; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 20; - assign(p_cfcov_54, p_cfcov_54_flat__[(pos__ - 1)], - "assigning variable p_cfcov_54", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 20; - pos__ = (pos__ + 1); - } + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + { + param_names__.emplace_back(std::string() + "p_cfcov_54" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - Eigen::Matrix p_cfcov_54_free__; - p_cfcov_54_free__ = Eigen::Matrix(((((4 * (4 - 1)) / 2) - + 4) + - ((5 - 4) * 4))); - stan::math::fill(p_cfcov_54_free__, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 20; - assign(p_cfcov_54_free__, stan::math::cholesky_factor_free(p_cfcov_54), - "assigning variable p_cfcov_54_free__"); - Eigen::Matrix p_cfcov_33; - p_cfcov_33 = Eigen::Matrix(3, 3); - stan::math::fill(p_cfcov_33, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { { - std::vector p_cfcov_33_flat__; - current_statement__ = 21; - p_cfcov_33_flat__ = context__.vals_r("p_cfcov_33"); - current_statement__ = 21; - pos__ = 1; - current_statement__ = 21; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 21; - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - current_statement__ = 21; - assign(p_cfcov_33, p_cfcov_33_flat__[(pos__ - 1)], - "assigning variable p_cfcov_33", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 21; - pos__ = (pos__ + 1); - } + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + { + param_names__.emplace_back(std::string() + "p_cfcov_33" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - Eigen::Matrix p_cfcov_33_free__; - p_cfcov_33_free__ = Eigen::Matrix(((((3 * (3 - 1)) / 2) - + 3) + - ((3 - 3) * 3))); - stan::math::fill(p_cfcov_33_free__, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 21; - assign(p_cfcov_33_free__, stan::math::cholesky_factor_free(p_cfcov_33), - "assigning variable p_cfcov_33_free__"); - std::vector> p_cfcov_33_ar; - p_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); - stan::math::fill(p_cfcov_33_ar, std::numeric_limits::quiet_NaN()); - - + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { { - std::vector p_cfcov_33_ar_flat__; - current_statement__ = 22; - p_cfcov_33_ar_flat__ = context__.vals_r("p_cfcov_33_ar"); - current_statement__ = 22; - pos__ = 1; - current_statement__ = 22; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 22; - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - current_statement__ = 22; + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 22; - assign(p_cfcov_33_ar, p_cfcov_33_ar_flat__[(pos__ - 1)], - "assigning variable p_cfcov_33_ar", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 22; - pos__ = (pos__ + 1); + { + param_names__.emplace_back(std::string() + "p_cfcov_33_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } + } } - } - std::vector> p_cfcov_33_ar_free__; - p_cfcov_33_ar_free__ = std::vector>(K, Eigen::Matrix( - ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)))); - stan::math::fill(p_cfcov_33_ar_free__, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 22; - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - current_statement__ = 22; - assign(p_cfcov_33_ar_free__, - stan::math::cholesky_factor_free(p_cfcov_33_ar[(sym1__ - 1)]), - "assigning variable p_cfcov_33_ar_free__", index_uni(sym1__)); - } - Eigen::Matrix x_p; - x_p = Eigen::Matrix(2); - stan::math::fill(x_p, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { { - std::vector x_p_flat__; - current_statement__ = 23; - x_p_flat__ = context__.vals_r("x_p"); - current_statement__ = 23; - pos__ = 1; - current_statement__ = 23; - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - current_statement__ = 23; - assign(x_p, x_p_flat__[(pos__ - 1)], - "assigning variable x_p", index_uni(sym1__)); - current_statement__ = 23; - pos__ = (pos__ + 1); - } - } - Eigen::Matrix y_p; - y_p = Eigen::Matrix(2); - stan::math::fill(y_p, std::numeric_limits::quiet_NaN()); - + param_names__.emplace_back(std::string() + "x_p" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { { - std::vector y_p_flat__; - current_statement__ = 24; - y_p_flat__ = context__.vals_r("y_p"); - current_statement__ = 24; - pos__ = 1; - current_statement__ = 24; - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - current_statement__ = 24; - assign(y_p, y_p_flat__[(pos__ - 1)], - "assigning variable y_p", index_uni(sym1__)); - current_statement__ = 24; - pos__ = (pos__ + 1); - } - } - vars__.emplace_back(p_real); - vars__.emplace_back(p_upper_free__); - vars__.emplace_back(p_lower_free__); - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - vars__.emplace_back(offset_multiplier_free__[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - vars__.emplace_back(no_offset_multiplier_free__[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - vars__.emplace_back(offset_no_multiplier_free__[(sym1__ - 1)]); - } + param_names__.emplace_back(std::string() + "y_p" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(p_real_1d_ar_free__[(sym1__ - 1)]); + { + param_names__.emplace_back(std::string() + "tp_real_1d_ar" + '.' + std::to_string(sym1__)); + } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - vars__.emplace_back( - p_real_3d_ar_free__[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + { + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + { + param_names__.emplace_back(std::string() + "tp_real_3d_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } - } + } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(p_vec_free__[(sym1__ - 1)]); + { + param_names__.emplace_back(std::string() + "tp_vec" + '.' + std::to_string(sym1__)); + } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(p_1d_vec[(sym1__ - 1)][(sym2__ - 1)]); - } + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "tp_1d_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - p_3d_vec[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)][(sym4__ - - 1)]); - } + { + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + { + for (int sym3__ = 1; sym3__ <= M; ++sym3__) { + { + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + { + param_names__.emplace_back(std::string() + "tp_3d_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } } - } + } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(p_row_vec[(sym1__ - 1)]); + { + param_names__.emplace_back(std::string() + "tp_row_vec" + '.' + std::to_string(sym1__)); + } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(p_1d_row_vec[(sym1__ - 1)][(sym2__ - 1)]); - } + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "tp_1d_row_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - p_3d_row_vec[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)][ - (sym4__ - 1)]); - } + { + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + { + for (int sym3__ = 1; sym3__ <= M; ++sym3__) { + { + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + { + param_names__.emplace_back(std::string() + "tp_3d_row_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - vars__.emplace_back( - rvalue(p_mat, "p_mat", index_uni(sym2__), index_uni(sym1__))); - } + } } for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - for (int sym4__ = 1; sym4__ <= 2; ++sym4__) { - vars__.emplace_back( - rvalue(p_ar_mat_free__, "p_ar_mat_free__", - index_uni(sym1__), index_uni(sym2__), index_uni(sym4__), - index_uni(sym3__))); - } + { + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + { + param_names__.emplace_back(std::string() + "tp_mat" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } + } } - for (int sym1__ = 1; sym1__ <= (N - 1); ++sym1__) { - vars__.emplace_back(p_simplex_free__[(sym1__ - 1)]); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + { + for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { + { + for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { + { + param_names__.emplace_back(std::string() + "tp_ar_mat" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + } + } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= (N - 1); ++sym2__) { - vars__.emplace_back( - p_1d_simplex_free__[(sym1__ - 1)][(sym2__ - 1)]); - } + { + param_names__.emplace_back(std::string() + "tp_simplex" + '.' + std::to_string(sym1__)); + } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - for (int sym4__ = 1; sym4__ <= (N - 1); ++sym4__) { - vars__.emplace_back( - p_3d_simplex_free__[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)][ - (sym4__ - 1)]); - } + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "tp_1d_simplex" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - } - for (int sym1__ = 1; - sym1__ <= ((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4)); ++sym1__) { - vars__.emplace_back(p_cfcov_54_free__[(sym1__ - 1)]); - } - for (int sym1__ = 1; - sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { - vars__.emplace_back(p_cfcov_33_free__[(sym1__ - 1)]); + } } - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - for (int sym2__ = 1; - sym2__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym2__) { - vars__.emplace_back( - p_cfcov_33_ar_free__[(sym1__ - 1)][(sym2__ - 1)]); - } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + { + for (int sym3__ = 1; sym3__ <= M; ++sym3__) { + { + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + { + param_names__.emplace_back(std::string() + "tp_3d_simplex" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + } + } } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(x_p[(sym1__ - 1)]); + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + { + param_names__.emplace_back(std::string() + "tp_cfcov_54" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + { + param_names__.emplace_back(std::string() + "tp_cfcov_33" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + { + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + { + param_names__.emplace_back(std::string() + "tp_cfcov_33_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } } for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(y_p[(sym1__ - 1)]); + { + param_names__.emplace_back(std::string() + "theta_p" + '.' + std::to_string(sym1__)); + } } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - // Next line prevents compiler griping about no return - throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); + param_names__.emplace_back(std::string() + "tp_real"); } - } // transform_inits_impl() - - inline void get_param_names(std::vector& names__) const { - - names__ = std::vector{"p_real", "p_upper", "p_lower", - "offset_multiplier", "no_offset_multiplier", "offset_no_multiplier", - "p_real_1d_ar", "p_real_3d_ar", "p_vec", "p_1d_vec", "p_3d_vec", - "p_row_vec", "p_1d_row_vec", "p_3d_row_vec", "p_mat", "p_ar_mat", - "p_simplex", "p_1d_simplex", "p_3d_simplex", "p_cfcov_54", - "p_cfcov_33", "p_cfcov_33_ar", "x_p", "y_p", "tp_real_1d_ar", - "tp_real_3d_ar", "tp_vec", "tp_1d_vec", "tp_3d_vec", "tp_row_vec", - "tp_1d_row_vec", "tp_3d_row_vec", "tp_mat", "tp_ar_mat", "tp_simplex", - "tp_1d_simplex", "tp_3d_simplex", "tp_cfcov_54", "tp_cfcov_33", - "tp_cfcov_33_ar", "theta_p", "tp_real", "gq_r1", "gq_r2", - "gq_real_1d_ar", "gq_real_3d_ar", "gq_vec", "gq_1d_vec", "gq_3d_vec", - "gq_row_vec", "gq_1d_row_vec", "gq_3d_row_vec", "gq_ar_mat", - "gq_simplex", "gq_1d_simplex", "gq_3d_simplex", "gq_cfcov_54", - "gq_cfcov_33", "gq_cfcov_33_ar", "indices", "indexing_mat", "idx_res1", - "idx_res2", "idx_res3", "idx_res11", "idx_res21", "idx_res31", - "idx_res4", "idx_res5"}; - - } // get_param_names() - - inline void get_dims(std::vector>& dimss__) const { - - dimss__ = std::vector>{std::vector{}, - std::vector{}, std::vector{}, - std::vector{static_cast(5)}, - std::vector{static_cast(5)}, - std::vector{static_cast(5)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K), static_cast(N)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K), static_cast(N)}, - std::vector{static_cast(5), static_cast(4)}, - std::vector{static_cast(4), static_cast(5), - static_cast(2), static_cast(3)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K), static_cast(N)}, - std::vector{static_cast(5), static_cast(4)}, - std::vector{static_cast(3), static_cast(3)}, - std::vector{static_cast(K), static_cast(3), - static_cast(3)}, - std::vector{static_cast(2)}, - std::vector{static_cast(2)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K), static_cast(N)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K), static_cast(N)}, - std::vector{static_cast(5), static_cast(4)}, - std::vector{static_cast(4), static_cast(5), - static_cast(2), static_cast(3)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K), static_cast(N)}, - std::vector{static_cast(5), static_cast(4)}, - std::vector{static_cast(3), static_cast(3)}, - std::vector{static_cast(K), static_cast(3), - static_cast(3)}, - std::vector{static_cast(2)}, std::vector{ - }, std::vector{}, std::vector{}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K), static_cast(N)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K), static_cast(N)}, - std::vector{static_cast(4), static_cast(5), - static_cast(2), static_cast(3)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(M), - static_cast(K), static_cast(N)}, - std::vector{static_cast(5), static_cast(4)}, - std::vector{static_cast(3), static_cast(3)}, - std::vector{static_cast(K), static_cast(3), - static_cast(3)}, - std::vector{static_cast(3)}, - std::vector{static_cast(5), static_cast(3), - static_cast(4)}, - std::vector{static_cast(3), static_cast(3), - static_cast(4)}, - std::vector{static_cast(5), static_cast(3), - static_cast(4)}, - std::vector{static_cast(3), static_cast(3), - static_cast(3)}, - std::vector{static_cast(3), static_cast(3), - static_cast(4)}, - std::vector{static_cast(5), static_cast(3), - static_cast(4)}, - std::vector{static_cast(3), static_cast(3), - static_cast(3)}, - std::vector{static_cast(3), static_cast(4)}, - std::vector{static_cast(2), static_cast(2)}}; - - } // get_dims() - - inline void constrained_param_names( - std::vector& param_names__, - bool emit_transformed_parameters__ = true, - bool emit_generated_quantities__ = true) const - final { - param_names__.emplace_back(std::string() + "p_real"); - param_names__.emplace_back(std::string() + "p_upper"); - param_names__.emplace_back(std::string() + "p_lower"); - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - { - param_names__.emplace_back(std::string() + "offset_multiplier" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - { - param_names__.emplace_back(std::string() + "no_offset_multiplier" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { - { - param_names__.emplace_back(std::string() + "offset_no_multiplier" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "p_real_1d_ar" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - { - param_names__.emplace_back(std::string() + "p_real_3d_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "p_vec" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "p_1d_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - { - param_names__.emplace_back(std::string() + "p_3d_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "p_row_vec" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "p_1d_row_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - { - param_names__.emplace_back(std::string() + "p_3d_row_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - { - param_names__.emplace_back(std::string() + "p_mat" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - { - for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { - { - param_names__.emplace_back(std::string() + "p_ar_mat" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "p_simplex" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "p_1d_simplex" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - { - param_names__.emplace_back(std::string() + "p_3d_simplex" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - { - param_names__.emplace_back(std::string() + "p_cfcov_54" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - param_names__.emplace_back(std::string() + "p_cfcov_33" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - { - param_names__.emplace_back(std::string() + "p_cfcov_33_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "x_p" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_p" + '.' + std::to_string(sym1__)); - } - } - if (emit_transformed_parameters__) { + if (emit_generated_quantities__) { + param_names__.emplace_back(std::string() + "gq_r1"); + param_names__.emplace_back(std::string() + "gq_r2"); for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - param_names__.emplace_back(std::string() + "tp_real_1d_ar" + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_real_1d_ar" + '.' + std::to_string(sym1__)); } } for (int sym1__ = 1; sym1__ <= K; ++sym1__) { @@ -9846,7 +9196,7 @@ class mother_model final : public model_base_crtp { { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { { - param_names__.emplace_back(std::string() + "tp_real_3d_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_real_3d_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -9855,14 +9205,14 @@ class mother_model final : public model_base_crtp { } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - param_names__.emplace_back(std::string() + "tp_vec" + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_vec" + '.' + std::to_string(sym1__)); } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { { - param_names__.emplace_back(std::string() + "tp_1d_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_1d_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -9875,7 +9225,7 @@ class mother_model final : public model_base_crtp { { for (int sym4__ = 1; sym4__ <= N; ++sym4__) { { - param_names__.emplace_back(std::string() + "tp_3d_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_3d_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -9886,14 +9236,14 @@ class mother_model final : public model_base_crtp { } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - param_names__.emplace_back(std::string() + "tp_row_vec" + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_row_vec" + '.' + std::to_string(sym1__)); } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { { - param_names__.emplace_back(std::string() + "tp_1d_row_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_1d_row_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -9906,7 +9256,7 @@ class mother_model final : public model_base_crtp { { for (int sym4__ = 1; sym4__ <= N; ++sym4__) { { - param_names__.emplace_back(std::string() + "tp_3d_row_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_3d_row_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -9915,15 +9265,6 @@ class mother_model final : public model_base_crtp { } } } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - { - param_names__.emplace_back(std::string() + "tp_mat" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { { for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { @@ -9932,7 +9273,7 @@ class mother_model final : public model_base_crtp { { for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { { - param_names__.emplace_back(std::string() + "tp_ar_mat" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_ar_mat" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -9943,14 +9284,14 @@ class mother_model final : public model_base_crtp { } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - param_names__.emplace_back(std::string() + "tp_simplex" + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_simplex" + '.' + std::to_string(sym1__)); } } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { { - param_names__.emplace_back(std::string() + "tp_1d_simplex" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_1d_simplex" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -9963,7 +9304,7 @@ class mother_model final : public model_base_crtp { { for (int sym4__ = 1; sym4__ <= N; ++sym4__) { { - param_names__.emplace_back(std::string() + "tp_3d_simplex" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_3d_simplex" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -9976,7 +9317,7 @@ class mother_model final : public model_base_crtp { { for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { { - param_names__.emplace_back(std::string() + "tp_cfcov_54" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_cfcov_54" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -9985,7 +9326,7 @@ class mother_model final : public model_base_crtp { { for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { { - param_names__.emplace_back(std::string() + "tp_cfcov_33" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_cfcov_33" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -9996,267 +9337,97 @@ class mother_model final : public model_base_crtp { { for (int sym3__ = 1; sym3__ <= K; ++sym3__) { { - param_names__.emplace_back(std::string() + "tp_cfcov_33_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "gq_cfcov_33_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } } } } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "theta_p" + '.' + std::to_string(sym1__)); - } - } - param_names__.emplace_back(std::string() + "tp_real"); - } - - if (emit_generated_quantities__) { - param_names__.emplace_back(std::string() + "gq_r1"); - param_names__.emplace_back(std::string() + "gq_r2"); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { { - param_names__.emplace_back(std::string() + "gq_real_1d_ar" + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "indices" + '.' + std::to_string(sym1__)); } } - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { { - param_names__.emplace_back(std::string() + "gq_real_3d_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "indexing_mat" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } } } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "gq_vec" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { { - param_names__.emplace_back(std::string() + "gq_1d_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { + { + param_names__.emplace_back(std::string() + "idx_res1" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } } } } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { + for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - { - param_names__.emplace_back(std::string() + "gq_3d_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } + param_names__.emplace_back(std::string() + "idx_res2" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } } } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "gq_row_vec" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { { - param_names__.emplace_back(std::string() + "gq_1d_row_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { + { + param_names__.emplace_back(std::string() + "idx_res3" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } } } } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { + for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - { - param_names__.emplace_back(std::string() + "gq_3d_row_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } + param_names__.emplace_back(std::string() + "idx_res11" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } } } } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { { - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { { for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { { - for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { - { - param_names__.emplace_back(std::string() + "gq_ar_mat" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } + param_names__.emplace_back(std::string() + "idx_res21" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } } } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "gq_simplex" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "gq_1d_simplex" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - { - param_names__.emplace_back(std::string() + "gq_3d_simplex" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - { - param_names__.emplace_back(std::string() + "gq_cfcov_54" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - param_names__.emplace_back(std::string() + "gq_cfcov_33" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - { - param_names__.emplace_back(std::string() + "gq_cfcov_33_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "indices" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - { - param_names__.emplace_back(std::string() + "indexing_mat" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - { - param_names__.emplace_back(std::string() + "idx_res1" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - { - param_names__.emplace_back(std::string() + "idx_res2" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - { - param_names__.emplace_back(std::string() + "idx_res3" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - { - param_names__.emplace_back(std::string() + "idx_res11" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - { - param_names__.emplace_back(std::string() + "idx_res21" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { { for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { { @@ -10944,8 +10115,28 @@ class mother_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((((((((((((((((((((((1 + 1) + 1) + 5) + 5) + 5) + N) + ((N * M) * K)) + + N) + (N * N)) + (((N * M) * K) * N)) + N) + (N * N)) + + (((N * M) * K) * N)) + (5 * 4)) + (((4 * 5) * 2) * 3)) + N) + + (N * N)) + (((N * M) * K) * N)) + (5 * 4)) + (3 * 3)) + + ((K * 3) * 3)) + 2) + 2); + const size_t num_transformed = + (((((((((((((((((N + ((N * M) * K)) + N) + (N * N)) + (((N * M) * K) * N)) + + N) + (N * N)) + (((N * M) * K) * N)) + (5 * 4)) + + (((4 * 5) * 2) * 3)) + N) + (N * N)) + (((N * M) * K) * N)) + + (5 * 4)) + (3 * 3)) + ((K * 3) * 3)) + 2) + 1); + const size_t num_gen_quantities = + ((((((((((((((((((((((((((1 + 1) + N) + ((N * M) * K)) + N) + (N * N)) + + (((N * M) * K) * N)) + N) + (N * N)) + + (((N * M) * K) * N)) + (((4 * 5) * 2) * 3)) + N) + + (N * N)) + (((N * M) * K) * N)) + (5 * 4)) + (3 * 3)) + + ((K * 3) * 3)) + 3) + ((5 * 3) * 4)) + ((3 * 3) * 4)) + + ((5 * 3) * 4)) + ((3 * 3) * 3)) + ((3 * 3) * 4)) + ((5 * 3) * 4)) + + ((3 * 3) * 3)) + (3 * 4)) + (2 * 2)); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -10960,8 +10151,29 @@ class mother_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (((((((((((((((((((((((1 + 1) + 1) + 5) + 5) + 5) + N) + ((N * M) * K)) + + N) + (N * N)) + (((N * M) * K) * N)) + N) + (N * N)) + + (((N * M) * K) * N)) + (5 * 4)) + (((4 * 5) * 2) * 3)) + N) + + (N * N)) + (((N * M) * K) * N)) + (5 * 4)) + (3 * 3)) + + ((K * 3) * 3)) + 2) + 2); + const size_t num_transformed = + (((((((((((((((((N + ((N * M) * K)) + N) + (N * N)) + (((N * M) * K) * N)) + + N) + (N * N)) + (((N * M) * K) * N)) + (5 * 4)) + + (((4 * 5) * 2) * 3)) + N) + (N * N)) + (((N * M) * K) * N)) + + (5 * 4)) + (3 * 3)) + ((K * 3) * 3)) + 2) + 1); + const size_t num_gen_quantities = + ((((((((((((((((((((((((((1 + 1) + N) + ((N * M) * K)) + N) + (N * N)) + + (((N * M) * K) * N)) + N) + (N * N)) + + (((N * M) * K) * N)) + (((4 * 5) * 2) * 3)) + N) + + (N * N)) + (((N * M) * K) * N)) + (5 * 4)) + (3 * 3)) + + ((K * 3) * 3)) + 3) + ((5 * 3) * 4)) + ((3 * 3) * 4)) + + ((5 * 3) * 4)) + ((3 * 3) * 3)) + ((3 * 3) * 4)) + ((5 * 3) * 4)) + + ((3 * 3) * 3)) + (3 * 4)) + (2 * 2)); + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -10982,20 +10194,46 @@ class mother_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"p_real", + "p_upper", "p_lower", "offset_multiplier", "no_offset_multiplier", + "offset_no_multiplier", "p_real_1d_ar", "p_real_3d_ar", "p_vec", + "p_1d_vec", "p_3d_vec", "p_row_vec", "p_1d_row_vec", "p_3d_row_vec", + "p_mat", "p_ar_mat", "p_simplex", "p_1d_simplex", "p_3d_simplex", + "p_cfcov_54", "p_cfcov_33", "p_cfcov_33_ar", "x_p", "y_p", + "tp_real_1d_ar", "tp_real_3d_ar", "tp_vec", "tp_1d_vec", "tp_3d_vec", + "tp_row_vec", "tp_1d_row_vec", "tp_3d_row_vec", "tp_mat", "tp_ar_mat", + "tp_simplex", "tp_1d_simplex", "tp_3d_simplex", "tp_cfcov_54", + "tp_cfcov_33", "tp_cfcov_33_ar", "theta_p", "tp_real", "gq_r1", + "gq_r2", "gq_real_1d_ar", "gq_real_3d_ar", "gq_vec", "gq_1d_vec", + "gq_3d_vec", "gq_row_vec", "gq_1d_row_vec", "gq_3d_row_vec", + "gq_ar_mat", "gq_simplex", "gq_1d_simplex", "gq_3d_simplex", + "gq_cfcov_54", "gq_cfcov_33", "gq_cfcov_33_ar", "indices", + "indexing_mat", "idx_res1", "idx_res2", "idx_res3", "idx_res11", + "idx_res21", "idx_res31", "idx_res4", "idx_res5"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = mother_model_namespace::mother_model; @@ -12016,8 +11254,8 @@ class motherHOF_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -12111,27 +11349,13 @@ class motherHOF_model final : public model_base_crtp { y_p = Eigen::Matrix(2); stan::math::fill(y_p, std::numeric_limits::quiet_NaN()); - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(y0_p[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { - vars__.emplace_back(theta_p[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { - vars__.emplace_back(x_p[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(x_p_v[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - vars__.emplace_back(shared_params_p[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - vars__.emplace_back(job_params_p[(sym2__ - 1)][(sym1__ - 1)]); - } - } - vars__.emplace_back(x_r); + out__.write(y0_p); + out__.write(theta_p); + out__.write(x_p); + out__.write(x_p_v); + out__.write(shared_params_p); + out__.write(job_params_p); + out__.write(x_r); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -12211,30 +11435,16 @@ class motherHOF_model final : public model_base_crtp { algebra_solver_newton(algebra_system_functor__(), x_p_v, y_p, x_d_r, x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); if (emit_transformed_parameters__) { - vars__.emplace_back(abc1_p); - vars__.emplace_back(abc2_p); - vars__.emplace_back(abc3_p); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - vars__.emplace_back(y_hat_tp1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - vars__.emplace_back(y_hat_tp2[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - vars__.emplace_back(y_hat_tp3[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(theta_p_as[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(x_v[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(y_v[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(y_p[(sym1__ - 1)]); - } + out__.write(abc1_p); + out__.write(abc2_p); + out__.write(abc3_p); + out__.write(y_hat_tp1); + out__.write(y_hat_tp2); + out__.write(y_hat_tp3); + out__.write(theta_p_as); + out__.write(x_v); + out__.write(y_v); + out__.write(y_p); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -12442,24 +11652,14 @@ class motherHOF_model final : public model_base_crtp { assign(theta_dbl, algebra_solver_newton(algebra_system_functor__(), x_p_v, y_p, x_d_r, x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - for (int sym2__ = 1; sym2__ <= T; ++sym2__) { - vars__.emplace_back(y_hat[(sym2__ - 1)][(sym1__ - 1)]); - } - } - vars__.emplace_back(y_1d); - vars__.emplace_back(z_1d); - vars__.emplace_back(abc1_gq); - vars__.emplace_back(abc2_gq); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - vars__.emplace_back(y_hat_gq[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - vars__.emplace_back(yy_hat_gq[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(theta_dbl[(sym1__ - 1)]); - } + out__.write(y_hat); + out__.write(y_1d); + out__.write(z_1d); + out__.write(abc1_gq); + out__.write(abc2_gq); + out__.write(y_hat_gq); + out__.write(yy_hat_gq); + out__.write(theta_dbl); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -12470,124 +11670,76 @@ class motherHOF_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - std::vector y0_p; - y0_p = std::vector(2, std::numeric_limits::quiet_NaN()); - - current_statement__ = 1; - y0_p = context__.vals_r("y0_p"); - std::vector theta_p; - theta_p = std::vector(1, std::numeric_limits::quiet_NaN()); + std::vector y0_p; + y0_p = std::vector(2, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + y0_p[(sym1__ - 1)] = in__.read(); + } + out__.write(y0_p); + std::vector theta_p; + theta_p = std::vector(1, DUMMY_VAR__); - current_statement__ = 2; - theta_p = context__.vals_r("theta_p"); - std::vector x_p; - x_p = std::vector(1, std::numeric_limits::quiet_NaN()); + for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { + theta_p[(sym1__ - 1)] = in__.read(); + } + out__.write(theta_p); + std::vector x_p; + x_p = std::vector(1, DUMMY_VAR__); - current_statement__ = 3; - x_p = context__.vals_r("x_p"); - Eigen::Matrix x_p_v; - x_p_v = Eigen::Matrix(2); - stan::math::fill(x_p_v, std::numeric_limits::quiet_NaN()); + for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { + x_p[(sym1__ - 1)] = in__.read(); + } + out__.write(x_p); + Eigen::Matrix x_p_v; + x_p_v = Eigen::Matrix(2); + stan::math::fill(x_p_v, DUMMY_VAR__); - { - std::vector x_p_v_flat__; - current_statement__ = 4; - x_p_v_flat__ = context__.vals_r("x_p_v"); - current_statement__ = 4; - pos__ = 1; - current_statement__ = 4; - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - current_statement__ = 4; - assign(x_p_v, x_p_v_flat__[(pos__ - 1)], - "assigning variable x_p_v", index_uni(sym1__)); - current_statement__ = 4; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + assign(x_p_v, in__.read(), + "assigning variable x_p_v", index_uni(sym1__)); } - Eigen::Matrix shared_params_p; - shared_params_p = Eigen::Matrix(3); - stan::math::fill(shared_params_p, std::numeric_limits::quiet_NaN()); + out__.write(x_p_v); + Eigen::Matrix shared_params_p; + shared_params_p = Eigen::Matrix(3); + stan::math::fill(shared_params_p, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + assign(shared_params_p, in__.read(), + "assigning variable shared_params_p", index_uni(sym1__)); + } + out__.write(shared_params_p); + std::vector> job_params_p; + job_params_p = std::vector>(3, Eigen::Matrix(3)); + stan::math::fill(job_params_p, DUMMY_VAR__); - { - std::vector shared_params_p_flat__; - current_statement__ = 5; - shared_params_p_flat__ = context__.vals_r("shared_params_p"); - current_statement__ = 5; - pos__ = 1; - current_statement__ = 5; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 5; - assign(shared_params_p, shared_params_p_flat__[(pos__ - 1)], - "assigning variable shared_params_p", index_uni(sym1__)); - current_statement__ = 5; - pos__ = (pos__ + 1); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + assign(job_params_p, in__.read(), + "assigning variable job_params_p", index_uni(sym2__), + index_uni(sym1__)); } } - std::vector> job_params_p; - job_params_p = std::vector>(3, Eigen::Matrix(3)); - stan::math::fill(job_params_p, std::numeric_limits::quiet_NaN()); - + out__.write(job_params_p); + local_scalar_t__ x_r; + x_r = DUMMY_VAR__; - { - std::vector job_params_p_flat__; - current_statement__ = 6; - job_params_p_flat__ = context__.vals_r("job_params_p"); - current_statement__ = 6; - pos__ = 1; - current_statement__ = 6; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 6; - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - current_statement__ = 6; - assign(job_params_p, job_params_p_flat__[(pos__ - 1)], - "assigning variable job_params_p", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - } - double x_r; - x_r = std::numeric_limits::quiet_NaN(); - - current_statement__ = 7; - x_r = context__.vals_r("x_r")[(1 - 1)]; - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(y0_p[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { - vars__.emplace_back(theta_p[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { - vars__.emplace_back(x_p[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(x_p_v[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - vars__.emplace_back(shared_params_p[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - vars__.emplace_back(job_params_p[(sym1__ - 1)][(sym2__ - 1)]); - } - } - vars__.emplace_back(x_r); + x_r = in__.read(); + out__.write(x_r); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -12882,8 +12034,15 @@ class motherHOF_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((((((2 + 1) + 1) + 2) + 3) + (3 * 3)) + 1); + const size_t num_transformed = + (((((((((1 + 1) + 1) + 3) + 3) + 3) + 2) + 2) + 2) + 2); + const size_t num_gen_quantities = + ((((((((T * 2) + 1) + 1) + 1) + 1) + 3) + 3) + 2); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -12898,8 +12057,16 @@ class motherHOF_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((((((2 + 1) + 1) + 2) + 3) + (3 * 3)) + 1); + const size_t num_transformed = + (((((((((1 + 1) + 1) + 3) + 3) + 3) + 2) + 2) + 2) + 2); + const size_t num_gen_quantities = + ((((((((T * 2) + 1) + 1) + 1) + 1) + 3) + 3) + 2); + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -12920,20 +12087,35 @@ class motherHOF_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"y0_p", + "theta_p", "x_p", "x_p_v", "shared_params_p", "job_params_p", "x_r", + "abc1_p", "abc2_p", "abc3_p", "y_hat_tp1", "y_hat_tp2", "y_hat_tp3", + "theta_p_as", "x_v", "y_v", "y_p", "y_hat", "y_1d", "z_1d", "abc1_gq", + "abc2_gq", "y_hat_gq", "yy_hat_gq", "theta_dbl"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = motherHOF_model_namespace::motherHOF_model; @@ -15408,8 +14590,8 @@ class new_integrate_interface_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -15443,13 +14625,9 @@ class new_integrate_interface_model final : public model_base_crtp>(N, Eigen::Matrix(N)); stan::math::fill(z, std::numeric_limits::quiet_NaN()); - vars__.emplace_back(r); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(ra[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(v[(sym1__ - 1)]); - } + out__.write(r); + out__.write(ra); + out__.write(v); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -16148,11 +15326,7 @@ class new_integrate_interface_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double r; - r = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - r = context__.vals_r("r")[(1 - 1)]; - std::vector ra; - ra = std::vector(N, std::numeric_limits::quiet_NaN()); + local_scalar_t__ r; + r = DUMMY_VAR__; - current_statement__ = 2; - ra = context__.vals_r("ra"); - Eigen::Matrix v; - v = Eigen::Matrix(N); - stan::math::fill(v, std::numeric_limits::quiet_NaN()); + r = in__.read(); + out__.write(r); + std::vector ra; + ra = std::vector(N, DUMMY_VAR__); - { - std::vector v_flat__; - current_statement__ = 3; - v_flat__ = context__.vals_r("v"); - current_statement__ = 3; - pos__ = 1; - current_statement__ = 3; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 3; - assign(v, v_flat__[(pos__ - 1)], - "assigning variable v", index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - vars__.emplace_back(r); for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(ra[(sym1__ - 1)]); + ra[(sym1__ - 1)] = in__.read(); } + out__.write(ra); + Eigen::Matrix v; + v = Eigen::Matrix(N); + stan::math::fill(v, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(v[(sym1__ - 1)]); + assign(v, in__.read(), + "assigning variable v", index_uni(sym1__)); } + out__.write(v); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -17048,8 +16204,14 @@ class new_integrate_interface_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((1 + N) + N); + const size_t num_transformed = (N * N); + const size_t num_gen_quantities = + (N * N); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -17064,8 +16226,15 @@ class new_integrate_interface_model final : public model_base_crtp @@ -17086,20 +16255,32 @@ class new_integrate_interface_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"r", + "ra", "v", "z", "zg"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } @@ -17478,8 +16659,8 @@ class old_integrate_interface_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -17535,16 +16716,12 @@ class old_integrate_interface_model final : public model_base_crtp>(N, std::vector(2, std::numeric_limits::quiet_NaN())); - vars__.emplace_back(alpha); - vars__.emplace_back(beta); - vars__.emplace_back(gamma); - vars__.emplace_back(delta); - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(z_init[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(sigma[(sym1__ - 1)]); - } + out__.write(alpha); + out__.write(beta); + out__.write(gamma); + out__.write(delta); + out__.write(z_init); + out__.write(sigma); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -17556,11 +16733,7 @@ class old_integrate_interface_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double alpha; - alpha = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - alpha = context__.vals_r("alpha")[(1 - 1)]; - double alpha_free__; - alpha_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - alpha_free__ = stan::math::lb_free(alpha, 0); - double beta; - beta = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - beta = context__.vals_r("beta")[(1 - 1)]; - double beta_free__; - beta_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - beta_free__ = stan::math::lb_free(beta, 0); - double gamma; - gamma = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - gamma = context__.vals_r("gamma")[(1 - 1)]; - double gamma_free__; - gamma_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - gamma_free__ = stan::math::lb_free(gamma, 0); - double delta; - delta = std::numeric_limits::quiet_NaN(); - - current_statement__ = 4; - delta = context__.vals_r("delta")[(1 - 1)]; - double delta_free__; - delta_free__ = std::numeric_limits::quiet_NaN(); + local_scalar_t__ alpha; + alpha = DUMMY_VAR__; - current_statement__ = 4; - delta_free__ = stan::math::lb_free(delta, 0); - std::vector z_init; - z_init = std::vector(2, std::numeric_limits::quiet_NaN()); + alpha = in__.read(); + out__.write_free_lb(0, alpha); + local_scalar_t__ beta; + beta = DUMMY_VAR__; + beta = in__.read(); + out__.write_free_lb(0, beta); + local_scalar_t__ gamma; + gamma = DUMMY_VAR__; - current_statement__ = 5; - z_init = context__.vals_r("z_init"); - std::vector z_init_free__; - z_init_free__ = std::vector(2, std::numeric_limits::quiet_NaN()); + gamma = in__.read(); + out__.write_free_lb(0, gamma); + local_scalar_t__ delta; + delta = DUMMY_VAR__; + delta = in__.read(); + out__.write_free_lb(0, delta); + std::vector z_init; + z_init = std::vector(2, DUMMY_VAR__); - current_statement__ = 5; for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - current_statement__ = 5; - assign(z_init_free__, stan::math::lb_free(z_init[(sym1__ - 1)], 0), - "assigning variable z_init_free__", index_uni(sym1__)); + z_init[(sym1__ - 1)] = in__.read(); } - std::vector sigma; - sigma = std::vector(2, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 6; - sigma = context__.vals_r("sigma"); - std::vector sigma_free__; - sigma_free__ = std::vector(2, std::numeric_limits::quiet_NaN()); - + out__.write_free_lb(0, z_init); + std::vector sigma; + sigma = std::vector(2, DUMMY_VAR__); - current_statement__ = 6; - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - current_statement__ = 6; - assign(sigma_free__, stan::math::lb_free(sigma[(sym1__ - 1)], 0), - "assigning variable sigma_free__", index_uni(sym1__)); - } - vars__.emplace_back(alpha_free__); - vars__.emplace_back(beta_free__); - vars__.emplace_back(gamma_free__); - vars__.emplace_back(delta_free__); - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(z_init_free__[(sym1__ - 1)]); - } for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - vars__.emplace_back(sigma_free__[(sym1__ - 1)]); + sigma[(sym1__ - 1)] = in__.read(); } + out__.write_free_lb(0, sigma); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -17791,8 +16917,14 @@ class old_integrate_interface_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((((1 + 1) + 1) + 1) + 2) + 2); + const size_t num_transformed = + (N * 2); + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -17807,8 +16939,15 @@ class old_integrate_interface_model final : public model_base_crtp @@ -17829,20 +16968,32 @@ class old_integrate_interface_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"alpha", + "beta", "gamma", "delta", "z_init", "sigma", "z"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } @@ -19031,8 +18182,8 @@ class optimize_glm_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -19099,33 +18250,15 @@ class optimize_glm_model final : public model_base_crtp { current_statement__ = 9; X_rv_p = in__.template read>(n); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(alpha_v[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(beta[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(cuts[(sym1__ - 1)]); - } - vars__.emplace_back(sigma); - vars__.emplace_back(alpha); - vars__.emplace_back(phi); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - vars__.emplace_back( - rvalue(X_p, "X_p", index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - vars__.emplace_back( - rvalue(beta_m, "beta_m", index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - vars__.emplace_back(X_rv_p[(sym1__ - 1)]); - } + out__.write(alpha_v); + out__.write(beta); + out__.write(cuts); + out__.write(sigma); + out__.write(alpha); + out__.write(phi); + out__.write(X_p); + out__.write(beta_m); + out__.write(X_rv_p); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -19143,187 +18276,93 @@ class optimize_glm_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - Eigen::Matrix alpha_v; - alpha_v = Eigen::Matrix(k); - stan::math::fill(alpha_v, std::numeric_limits::quiet_NaN()); + Eigen::Matrix alpha_v; + alpha_v = Eigen::Matrix(k); + stan::math::fill(alpha_v, DUMMY_VAR__); - { - std::vector alpha_v_flat__; - current_statement__ = 1; - alpha_v_flat__ = context__.vals_r("alpha_v"); - current_statement__ = 1; - pos__ = 1; - current_statement__ = 1; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 1; - assign(alpha_v, alpha_v_flat__[(pos__ - 1)], - "assigning variable alpha_v", index_uni(sym1__)); - current_statement__ = 1; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + assign(alpha_v, in__.read(), + "assigning variable alpha_v", index_uni(sym1__)); } - Eigen::Matrix beta; - beta = Eigen::Matrix(k); - stan::math::fill(beta, std::numeric_limits::quiet_NaN()); + out__.write(alpha_v); + Eigen::Matrix beta; + beta = Eigen::Matrix(k); + stan::math::fill(beta, DUMMY_VAR__); - { - std::vector beta_flat__; - current_statement__ = 2; - beta_flat__ = context__.vals_r("beta"); - current_statement__ = 2; - pos__ = 1; - current_statement__ = 2; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 2; - assign(beta, beta_flat__[(pos__ - 1)], - "assigning variable beta", index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + assign(beta, in__.read(), + "assigning variable beta", index_uni(sym1__)); } - Eigen::Matrix cuts; - cuts = Eigen::Matrix(k); - stan::math::fill(cuts, std::numeric_limits::quiet_NaN()); + out__.write(beta); + Eigen::Matrix cuts; + cuts = Eigen::Matrix(k); + stan::math::fill(cuts, DUMMY_VAR__); - { - std::vector cuts_flat__; - current_statement__ = 3; - cuts_flat__ = context__.vals_r("cuts"); - current_statement__ = 3; - pos__ = 1; - current_statement__ = 3; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 3; - assign(cuts, cuts_flat__[(pos__ - 1)], - "assigning variable cuts", index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + assign(cuts, in__.read(), + "assigning variable cuts", index_uni(sym1__)); } - double sigma; - sigma = std::numeric_limits::quiet_NaN(); - - current_statement__ = 4; - sigma = context__.vals_r("sigma")[(1 - 1)]; - double sigma_free__; - sigma_free__ = std::numeric_limits::quiet_NaN(); + out__.write(cuts); + local_scalar_t__ sigma; + sigma = DUMMY_VAR__; - current_statement__ = 4; - sigma_free__ = stan::math::lb_free(sigma, 0); - double alpha; - alpha = std::numeric_limits::quiet_NaN(); + sigma = in__.read(); + out__.write_free_lb(0, sigma); + local_scalar_t__ alpha; + alpha = DUMMY_VAR__; - current_statement__ = 5; - alpha = context__.vals_r("alpha")[(1 - 1)]; - double phi; - phi = std::numeric_limits::quiet_NaN(); + alpha = in__.read(); + out__.write(alpha); + local_scalar_t__ phi; + phi = DUMMY_VAR__; - current_statement__ = 6; - phi = context__.vals_r("phi")[(1 - 1)]; - Eigen::Matrix X_p; - X_p = Eigen::Matrix(n, k); - stan::math::fill(X_p, std::numeric_limits::quiet_NaN()); + phi = in__.read(); + out__.write(phi); + Eigen::Matrix X_p; + X_p = Eigen::Matrix(n, k); + stan::math::fill(X_p, DUMMY_VAR__); - { - std::vector X_p_flat__; - current_statement__ = 7; - X_p_flat__ = context__.vals_r("X_p"); - current_statement__ = 7; - pos__ = 1; - current_statement__ = 7; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 7; - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - current_statement__ = 7; - assign(X_p, X_p_flat__[(pos__ - 1)], - "assigning variable X_p", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 7; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + for (int sym2__ = 1; sym2__ <= n; ++sym2__) { + assign(X_p, in__.read(), + "assigning variable X_p", index_uni(sym2__), index_uni(sym1__)); } } - Eigen::Matrix beta_m; - beta_m = Eigen::Matrix(n, k); - stan::math::fill(beta_m, std::numeric_limits::quiet_NaN()); + out__.write(X_p); + Eigen::Matrix beta_m; + beta_m = Eigen::Matrix(n, k); + stan::math::fill(beta_m, DUMMY_VAR__); - { - std::vector beta_m_flat__; - current_statement__ = 8; - beta_m_flat__ = context__.vals_r("beta_m"); - current_statement__ = 8; - pos__ = 1; - current_statement__ = 8; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 8; - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - current_statement__ = 8; - assign(beta_m, beta_m_flat__[(pos__ - 1)], - "assigning variable beta_m", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 8; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix X_rv_p; - X_rv_p = Eigen::Matrix(n); - stan::math::fill(X_rv_p, std::numeric_limits::quiet_NaN()); - - { - std::vector X_rv_p_flat__; - current_statement__ = 9; - X_rv_p_flat__ = context__.vals_r("X_rv_p"); - current_statement__ = 9; - pos__ = 1; - current_statement__ = 9; - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 9; - assign(X_rv_p, X_rv_p_flat__[(pos__ - 1)], - "assigning variable X_rv_p", index_uni(sym1__)); - current_statement__ = 9; - pos__ = (pos__ + 1); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(alpha_v[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(beta[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(cuts[(sym1__ - 1)]); - } - vars__.emplace_back(sigma_free__); - vars__.emplace_back(alpha); - vars__.emplace_back(phi); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - vars__.emplace_back( - rvalue(X_p, "X_p", index_uni(sym2__), index_uni(sym1__))); - } - } for (int sym1__ = 1; sym1__ <= k; ++sym1__) { for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - vars__.emplace_back( - rvalue(beta_m, "beta_m", index_uni(sym2__), index_uni(sym1__))); + assign(beta_m, in__.read(), + "assigning variable beta_m", index_uni(sym2__), index_uni(sym1__)); } } + out__.write(beta_m); + Eigen::Matrix X_rv_p; + X_rv_p = Eigen::Matrix(n); + stan::math::fill(X_rv_p, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - vars__.emplace_back(X_rv_p[(sym1__ - 1)]); + assign(X_rv_p, in__.read(), + "assigning variable X_rv_p", index_uni(sym1__)); } + out__.write(X_rv_p); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -19487,8 +18526,13 @@ class optimize_glm_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((((((((k + k) + k) + 1) + 1) + 1) + (n * k)) + (n * k)) + n); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -19503,8 +18547,14 @@ class optimize_glm_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((((((((k + k) + k) + 1) + 1) + 1) + (n * k)) + (n * k)) + n); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -19525,20 +18575,32 @@ class optimize_glm_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"alpha_v", + "beta", "cuts", "sigma", "alpha", "phi", "X_p", "beta_m", "X_rv_p"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = optimize_glm_model_namespace::optimize_glm_model; @@ -19706,8 +18768,8 @@ class param_constraint_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -19736,18 +18798,8 @@ class param_constraint_model final : public model_base_crtp, jacobian__>( rvalue(L_Omega, "L_Omega", index_uni(1), index_uni(1), index_uni(2)), lp__, NS); - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - for (int sym3__ = 1; sym3__ <= nt; ++sym3__) { - vars__.emplace_back( - rvalue(L_Omega, "L_Omega", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= NS; ++sym1__) { - vars__.emplace_back(z1[(sym1__ - 1)]); - } + out__.write(L_Omega); + out__.write(z1); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -19765,99 +18817,46 @@ class param_constraint_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - std::vector> L_Omega; - L_Omega = std::vector>(nt, Eigen::Matrix(2, 2)); - stan::math::fill(L_Omega, std::numeric_limits::quiet_NaN()); + std::vector> L_Omega; + L_Omega = std::vector>(nt, Eigen::Matrix(2, 2)); + stan::math::fill(L_Omega, DUMMY_VAR__); - { - std::vector L_Omega_flat__; - current_statement__ = 1; - L_Omega_flat__ = context__.vals_r("L_Omega"); - current_statement__ = 1; - pos__ = 1; - current_statement__ = 1; - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - current_statement__ = 1; - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - current_statement__ = 1; - for (int sym3__ = 1; sym3__ <= nt; ++sym3__) { - current_statement__ = 1; - assign(L_Omega, L_Omega_flat__[(pos__ - 1)], - "assigning variable L_Omega", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 1; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + for (int sym3__ = 1; sym3__ <= nt; ++sym3__) { + assign(L_Omega, in__.read(), + "assigning variable L_Omega", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } - std::vector> L_Omega_free__; - L_Omega_free__ = std::vector>(nt, Eigen::Matrix( - ((2 * (2 - 1)) / 2))); - stan::math::fill(L_Omega_free__, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 1; - for (int sym1__ = 1; sym1__ <= nt; ++sym1__) { - current_statement__ = 1; - assign(L_Omega_free__, - stan::math::cholesky_corr_free(L_Omega[(sym1__ - 1)]), - "assigning variable L_Omega_free__", index_uni(sym1__)); - } - Eigen::Matrix z1; - z1 = Eigen::Matrix(NS); - stan::math::fill(z1, std::numeric_limits::quiet_NaN()); - - { - std::vector z1_flat__; - current_statement__ = 2; - z1_flat__ = context__.vals_r("z1"); - current_statement__ = 2; - pos__ = 1; - current_statement__ = 2; - for (int sym1__ = 1; sym1__ <= NS; ++sym1__) { - current_statement__ = 2; - assign(z1, z1_flat__[(pos__ - 1)], - "assigning variable z1", index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } - } - Eigen::Matrix z1_free__; - z1_free__ = Eigen::Matrix(NS); - stan::math::fill(z1_free__, std::numeric_limits::quiet_NaN()); + out__.write_free_cholesky_factor_corr(L_Omega); + Eigen::Matrix z1; + z1 = Eigen::Matrix(NS); + stan::math::fill(z1, DUMMY_VAR__); - current_statement__ = 2; - for (int sym1__ = 1; sym1__ <= NS; ++sym1__) { - current_statement__ = 2; - assign(z1_free__, - stan::math::lb_free(z1[(sym1__ - 1)], - rvalue(L_Omega, "L_Omega", - index_uni(1), index_uni(1), index_uni(2))), - "assigning variable z1_free__", index_uni(sym1__)); - } - for (int sym1__ = 1; sym1__ <= nt; ++sym1__) { - for (int sym2__ = 1; sym2__ <= ((2 * (2 - 1)) / 2); ++sym2__) { - vars__.emplace_back(L_Omega_free__[(sym1__ - 1)][(sym2__ - 1)]); - } - } for (int sym1__ = 1; sym1__ <= NS; ++sym1__) { - vars__.emplace_back(z1_free__[(sym1__ - 1)]); + assign(z1, in__.read(), + "assigning variable z1", index_uni(sym1__)); } + out__.write_free_lb( + rvalue(L_Omega, "L_Omega", index_uni(1), index_uni(1), index_uni(2)), + z1); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -19969,8 +18968,13 @@ class param_constraint_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((nt * 2) * 2) + NS); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -19985,8 +18989,14 @@ class param_constraint_model final : public model_base_crtp @@ -20007,20 +19017,32 @@ class param_constraint_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"L_Omega", + "z1"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = param_constraint_model_namespace::param_constraint_model; @@ -20356,8 +19378,8 @@ class reduce_sum_m1_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -20386,15 +19408,9 @@ class reduce_sum_m1_model final : public model_base_crtp { current_statement__ = 3; y3 = in__.template read>(N); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y2[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y3[(sym1__ - 1)]); - } + out__.write(y1); + out__.write(y2); + out__.write(y3); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -20412,43 +19428,41 @@ class reduce_sum_m1_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - std::vector y1; - y1 = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 1; - y1 = context__.vals_r("y1"); - std::vector y2; - y2 = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 2; - y2 = context__.vals_r("y2"); - std::vector y3; - y3 = std::vector(N, std::numeric_limits::quiet_NaN()); + std::vector y1; + y1 = std::vector(N, DUMMY_VAR__); - current_statement__ = 3; - y3 = context__.vals_r("y3"); for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y1[(sym1__ - 1)]); + y1[(sym1__ - 1)] = in__.read(); } + out__.write(y1); + std::vector y2; + y2 = std::vector(N, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y2[(sym1__ - 1)]); + y2[(sym1__ - 1)] = in__.read(); } + out__.write(y2); + std::vector y3; + y3 = std::vector(N, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y3[(sym1__ - 1)]); + y3[(sym1__ - 1)] = in__.read(); } + out__.write(y3); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -20555,8 +19569,13 @@ class reduce_sum_m1_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((N + N) + N); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -20571,8 +19590,14 @@ class reduce_sum_m1_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((N + N) + N); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -20593,20 +19618,32 @@ class reduce_sum_m1_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"y1", + "y2", "y3"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = reduce_sum_m1_model_namespace::reduce_sum_m1_model; @@ -22079,8 +21116,8 @@ class reduce_sum_m2_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -22202,689 +21239,432 @@ class reduce_sum_m2_model final : public model_base_crtp { current_statement__ = 16; y1 = in__.template read>(N); + out__.write(a8); + out__.write(a7); + out__.write(a6); + out__.write(a5); + out__.write(a4); + out__.write(a3); + out__.write(a2); + out__.write(a1); + out__.write(y8); + out__.write(y7); + out__.write(y6); + out__.write(y5); + out__.write(y4); + out__.write(y3); + out__.write(y2); + out__.write(y1); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + // Next line prevents compiler griping about no return + throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); + } + } // write_array_impl() + + template * = nullptr, + stan::require_vector_like_vt* = nullptr> + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, + std::ostream* pstream__ = nullptr) const { + using local_scalar_t__ = double; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + std::vector>> a8; + a8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(a8, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - rvalue(a8, "a8", - index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__))); + assign(a8, in__.read(), + "assigning variable a8", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } } + out__.write(a8); + std::vector>> a7; + a7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(a7, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - a7[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + assign(a7, in__.read(), + "assigning variable a7", index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write(a7); + std::vector>> a6; + a6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(a6, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - a6[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + assign(a6, in__.read(), + "assigning variable a6", index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write(a6); + std::vector> a5; + a5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(a5[(sym2__ - 1)][(sym1__ - 1)]); + a5[(sym2__ - 1)][(sym1__ - 1)] = in__.read(); } } + out__.write(a5); + std::vector> a4; + a4 = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(a4, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - rvalue(a4, "a4", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); + assign(a4, in__.read(), + "assigning variable a4", index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write(a4); + std::vector> a3; + a3 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(a3, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(a3[(sym2__ - 1)][(sym1__ - 1)]); + assign(a3, in__.read(), + "assigning variable a3", index_uni(sym2__), index_uni(sym1__)); } } + out__.write(a3); + std::vector> a2; + a2 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(a2, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(a2[(sym2__ - 1)][(sym1__ - 1)]); + assign(a2, in__.read(), + "assigning variable a2", index_uni(sym2__), index_uni(sym1__)); } } + out__.write(a2); + std::vector a1; + a1 = std::vector(N, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(a1[(sym1__ - 1)]); + a1[(sym1__ - 1)] = in__.read(); } + out__.write(a1); + std::vector>> y8; + y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(y8, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - rvalue(y8, "y8", - index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__))); + assign(y8, in__.read(), + "assigning variable y8", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } } + out__.write(y8); + std::vector>> y7; + y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y7, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - y7[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + assign(y7, in__.read(), + "assigning variable y7", index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write(y7); + std::vector>> y6; + y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y6, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - y6[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + assign(y6, in__.read(), + "assigning variable y6", index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write(y6); + std::vector> y5; + y5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y5[(sym2__ - 1)][(sym1__ - 1)]); + y5[(sym2__ - 1)][(sym1__ - 1)] = in__.read(); } } + out__.write(y5); + std::vector> y4; + y4 = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(y4, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - rvalue(y4, "y4", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); + assign(y4, in__.read(), + "assigning variable y4", index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write(y4); + std::vector> y3; + y3 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y3, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y3[(sym2__ - 1)][(sym1__ - 1)]); + assign(y3, in__.read(), + "assigning variable y3", index_uni(sym2__), index_uni(sym1__)); } } + out__.write(y3); + std::vector> y2; + y2 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y2, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y2[(sym2__ - 1)][(sym1__ - 1)]); + assign(y2, in__.read(), + "assigning variable y2", index_uni(sym2__), index_uni(sym1__)); } } + out__.write(y2); + std::vector y1; + y1 = std::vector(N, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y1[(sym1__ - 1)]); + y1[(sym1__ - 1)] = in__.read(); } - if (logical_negation((primitive_value(emit_transformed_parameters__) || - primitive_value(emit_generated_quantities__)))) { - return ; - } - if (logical_negation(emit_generated_quantities__)) { - return ; - } + out__.write(y1); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); } - } // write_array_impl() + } // transform_inits_impl() - template * = nullptr, - stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, - std::ostream* pstream__ = nullptr) const { - using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + inline void get_param_names(std::vector& names__) const { - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - std::vector>> a8; - a8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(a8, std::numeric_limits::quiet_NaN()); - + names__ = std::vector{"a8", "a7", "a6", "a5", "a4", "a3", + "a2", "a1", "y8", "y7", "y6", "y5", "y4", "y3", "y2", "y1"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{ + static_cast(N) + , + static_cast(N) + , + static_cast(N) + , + static_cast(N) + }, + std::vector{static_cast(N), static_cast(N), + static_cast(N)}, + std::vector{static_cast(N), static_cast(N), + static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(N), + static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N), + static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(N), + static_cast(N)}, + std::vector{static_cast(N), static_cast(N), + static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(N), + static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N)}}; + + } // get_dims() + + inline void constrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector a8_flat__; - current_statement__ = 1; - a8_flat__ = context__.vals_r("a8"); - current_statement__ = 1; - pos__ = 1; - current_statement__ = 1; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 1; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 1; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 1; - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - current_statement__ = 1; - assign(a8, a8_flat__[(pos__ - 1)], - "assigning variable a8", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 1; - pos__ = (pos__ + 1); - } + { + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + { + param_names__.emplace_back(std::string() + "a8" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } - } + } } - } - std::vector>> a7; - a7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(a7, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector a7_flat__; - current_statement__ = 2; - a7_flat__ = context__.vals_r("a7"); - current_statement__ = 2; - pos__ = 1; - current_statement__ = 2; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 2; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 2; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 2; - assign(a7, a7_flat__[(pos__ - 1)], - "assigning variable a7", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); + { + param_names__.emplace_back(std::string() + "a7" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } + } } - } - std::vector>> a6; - a6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(a6, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector a6_flat__; - current_statement__ = 3; - a6_flat__ = context__.vals_r("a6"); - current_statement__ = 3; - pos__ = 1; - current_statement__ = 3; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 3; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 3; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 3; - assign(a6, a6_flat__[(pos__ - 1)], - "assigning variable a6", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); + { + param_names__.emplace_back(std::string() + "a6" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } + } } - } - std::vector> a5; - a5 = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); - - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector a5_flat__; - current_statement__ = 4; - a5_flat__ = context__.vals_r("a5"); - current_statement__ = 4; - pos__ = 1; - current_statement__ = 4; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 4; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 4; - assign(a5, a5_flat__[(pos__ - 1)], - "assigning variable a5", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 4; - pos__ = (pos__ + 1); - } + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "a5" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - std::vector> a4; - a4 = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(a4, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector a4_flat__; - current_statement__ = 5; - a4_flat__ = context__.vals_r("a4"); - current_statement__ = 5; - pos__ = 1; - current_statement__ = 5; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 5; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 5; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 5; - assign(a4, a4_flat__[(pos__ - 1)], - "assigning variable a4", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 5; - pos__ = (pos__ + 1); + { + param_names__.emplace_back(std::string() + "a4" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } + } } - } - std::vector> a3; - a3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(a3, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector a3_flat__; - current_statement__ = 6; - a3_flat__ = context__.vals_r("a3"); - current_statement__ = 6; - pos__ = 1; - current_statement__ = 6; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 6; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 6; - assign(a3, a3_flat__[(pos__ - 1)], - "assigning variable a3", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "a3" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - std::vector> a2; - a2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(a2, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector a2_flat__; - current_statement__ = 7; - a2_flat__ = context__.vals_r("a2"); - current_statement__ = 7; - pos__ = 1; - current_statement__ = 7; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 7; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 7; - assign(a2, a2_flat__[(pos__ - 1)], - "assigning variable a2", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 7; - pos__ = (pos__ + 1); - } + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "a2" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - std::vector a1; - a1 = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 8; - a1 = context__.vals_r("a1"); - std::vector>> y8; - y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(y8, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector y8_flat__; - current_statement__ = 9; - y8_flat__ = context__.vals_r("y8"); - current_statement__ = 9; - pos__ = 1; - current_statement__ = 9; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 9; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 9; + param_names__.emplace_back(std::string() + "a1" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 9; - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - current_statement__ = 9; - assign(y8, y8_flat__[(pos__ - 1)], - "assigning variable y8", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 9; - pos__ = (pos__ + 1); - } + { + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + { + param_names__.emplace_back(std::string() + "y8" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } - } + } } - } - std::vector>> y7; - y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y7, std::numeric_limits::quiet_NaN()); - + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - std::vector y7_flat__; - current_statement__ = 10; - y7_flat__ = context__.vals_r("y7"); - current_statement__ = 10; - pos__ = 1; - current_statement__ = 10; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 10; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 10; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 10; - assign(y7, y7_flat__[(pos__ - 1)], - "assigning variable y7", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 10; - pos__ = (pos__ + 1); - } - } - } - } - std::vector>> y6; - y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y6, std::numeric_limits::quiet_NaN()); - - { - std::vector y6_flat__; - current_statement__ = 11; - y6_flat__ = context__.vals_r("y6"); - current_statement__ = 11; - pos__ = 1; - current_statement__ = 11; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 11; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 11; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 11; - assign(y6, y6_flat__[(pos__ - 1)], - "assigning variable y6", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 11; - pos__ = (pos__ + 1); - } - } - } - } - std::vector> y5; - y5 = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); - - - { - std::vector y5_flat__; - current_statement__ = 12; - y5_flat__ = context__.vals_r("y5"); - current_statement__ = 12; - pos__ = 1; - current_statement__ = 12; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 12; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 12; - assign(y5, y5_flat__[(pos__ - 1)], - "assigning variable y5", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 12; - pos__ = (pos__ + 1); - } - } - } - std::vector> y4; - y4 = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(y4, std::numeric_limits::quiet_NaN()); - - { - std::vector y4_flat__; - current_statement__ = 13; - y4_flat__ = context__.vals_r("y4"); - current_statement__ = 13; - pos__ = 1; - current_statement__ = 13; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 13; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 13; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 13; - assign(y4, y4_flat__[(pos__ - 1)], - "assigning variable y4", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 13; - pos__ = (pos__ + 1); - } - } - } - } - std::vector> y3; - y3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y3, std::numeric_limits::quiet_NaN()); - - { - std::vector y3_flat__; - current_statement__ = 14; - y3_flat__ = context__.vals_r("y3"); - current_statement__ = 14; - pos__ = 1; - current_statement__ = 14; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 14; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 14; - assign(y3, y3_flat__[(pos__ - 1)], - "assigning variable y3", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 14; - pos__ = (pos__ + 1); - } - } - } - std::vector> y2; - y2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y2, std::numeric_limits::quiet_NaN()); - - { - std::vector y2_flat__; - current_statement__ = 15; - y2_flat__ = context__.vals_r("y2"); - current_statement__ = 15; - pos__ = 1; - current_statement__ = 15; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 15; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 15; - assign(y2, y2_flat__[(pos__ - 1)], - "assigning variable y2", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 15; - pos__ = (pos__ + 1); - } - } - } - std::vector y1; - y1 = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 16; - y1 = context__.vals_r("y1"); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - rvalue(a8, "a8", - index_uni(sym1__), index_uni(sym2__), index_uni(sym4__), - index_uni(sym3__))); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - a7[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - a6[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(a5[(sym1__ - 1)][(sym2__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - rvalue(a4, "a4", - index_uni(sym1__), index_uni(sym3__), index_uni(sym2__))); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(a3[(sym1__ - 1)][(sym2__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(a2[(sym1__ - 1)][(sym2__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(a1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - rvalue(y8, "y8", - index_uni(sym1__), index_uni(sym2__), index_uni(sym4__), - index_uni(sym3__))); + { + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + { + param_names__.emplace_back(std::string() + "y7" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - y7[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - y6[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y5[(sym1__ - 1)][(sym2__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - rvalue(y4, "y4", - index_uni(sym1__), index_uni(sym3__), index_uni(sym2__))); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y3[(sym1__ - 1)][(sym2__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y2[(sym1__ - 1)][(sym2__ - 1)]); + } } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y1[(sym1__ - 1)]); - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - // Next line prevents compiler griping about no return - throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); + } } - } // transform_inits_impl() - - inline void get_param_names(std::vector& names__) const { - - names__ = std::vector{"a8", "a7", "a6", "a5", "a4", "a3", - "a2", "a1", "y8", "y7", "y6", "y5", "y4", "y3", "y2", "y1"}; - - } // get_param_names() - - inline void get_dims(std::vector>& dimss__) const { - - dimss__ = std::vector>{std::vector{ - static_cast(N) - , - static_cast(N) - , - static_cast(N) - , - static_cast(N) - }, - std::vector{static_cast(N), static_cast(N), - static_cast(N)}, - std::vector{static_cast(N), static_cast(N), - static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(N), - static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N), - static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(N), - static_cast(N)}, - std::vector{static_cast(N), static_cast(N), - static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(N), - static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N)}}; - - } // get_dims() - - inline void constrained_param_names( - std::vector& param_names__, - bool emit_transformed_parameters__ = true, - bool emit_generated_quantities__ = true) const - final { - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - { - param_names__.emplace_back(std::string() + "a8" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } + param_names__.emplace_back(std::string() + "y6" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -22895,11 +21675,7 @@ class reduce_sum_m2_model final : public model_base_crtp { { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - { - param_names__.emplace_back(std::string() + "a7" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } + param_names__.emplace_back(std::string() + "y5" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -22910,117 +21686,7 @@ class reduce_sum_m2_model final : public model_base_crtp { { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { { - param_names__.emplace_back(std::string() + "a6" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "a5" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - { - param_names__.emplace_back(std::string() + "a4" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "a3" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "a2" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "a1" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - { - param_names__.emplace_back(std::string() + "y8" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - { - param_names__.emplace_back(std::string() + "y7" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - { - param_names__.emplace_back(std::string() + "y6" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y5" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - { - param_names__.emplace_back(std::string() + "y4" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "y4" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } @@ -23273,8 +21939,16 @@ class reduce_sum_m2_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((((((((((((((((((N * N) * N) * N) + ((N * N) * N)) + ((N * N) * N)) + + (N * N)) + ((N * N) * N)) + (N * N)) + (N * N)) + N) + + (((N * N) * N) * N)) + ((N * N) * N)) + ((N * N) * N)) + (N * N)) + + ((N * N) * N)) + (N * N)) + (N * N)) + N); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -23289,8 +21963,17 @@ class reduce_sum_m2_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((((((((((((((((((N * N) * N) * N) + ((N * N) * N)) + ((N * N) * N)) + + (N * N)) + ((N * N) * N)) + (N * N)) + (N * N)) + N) + + (((N * N) * N) * N)) + ((N * N) * N)) + ((N * N) * N)) + (N * N)) + + ((N * N) * N)) + (N * N)) + (N * N)) + N); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -23311,20 +21994,33 @@ class reduce_sum_m2_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"a8", + "a7", "a6", "a5", "a4", "a3", "a2", "a1", "y8", "y7", "y6", "y5", "y4", + "y3", "y2", "y1"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = reduce_sum_m2_model_namespace::reduce_sum_m2_model; @@ -26346,8 +25042,8 @@ class reduce_sum_m3_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -26445,82 +25141,19 @@ class reduce_sum_m3_model final : public model_base_crtp { current_statement__ = 13; y17 = in__.template read>>>( N, N, N); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y2[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y3[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - rvalue(y4, "y4", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y5[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - y6[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - y7[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - rvalue(y8, "y8", - index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__))); - } - } - } - } - vars__.emplace_back(y9); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y10[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y11[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back( - rvalue(y12, "y12", index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - y17[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } + out__.write(y1); + out__.write(y2); + out__.write(y3); + out__.write(y4); + out__.write(y5); + out__.write(y6); + out__.write(y7); + out__.write(y8); + out__.write(y9); + out__.write(y10); + out__.write(y11); + out__.write(y12); + out__.write(y17); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -26661,32 +25294,32 @@ class reduce_sum_m3_model final : public model_base_crtp { tgs = reduce_sum(y1d, 1, pstream__, y13d, y9d, y10d, y11d, y12d, y14d, y1d, y2d, y3d, y4d, y15d, y5d, y6d, y7d, y8d, y16d, y17); - vars__.emplace_back(t1); - vars__.emplace_back(t1a); - vars__.emplace_back(t2); - vars__.emplace_back(t3); - vars__.emplace_back(t4); - vars__.emplace_back(t5); - vars__.emplace_back(t6); - vars__.emplace_back(t7); - vars__.emplace_back(t8); - vars__.emplace_back(t9); - vars__.emplace_back(t10); - vars__.emplace_back(t11); - vars__.emplace_back(t12); - vars__.emplace_back(tg1); - vars__.emplace_back(tg2); - vars__.emplace_back(tg3); - vars__.emplace_back(tg4); - vars__.emplace_back(tg5); - vars__.emplace_back(tg6); - vars__.emplace_back(tg7); - vars__.emplace_back(tg8); - vars__.emplace_back(tg9); - vars__.emplace_back(tg10); - vars__.emplace_back(tg11); - vars__.emplace_back(tg12); - vars__.emplace_back(tgs); + out__.write(t1); + out__.write(t1a); + out__.write(t2); + out__.write(t3); + out__.write(t4); + out__.write(t5); + out__.write(t6); + out__.write(t7); + out__.write(t8); + out__.write(t9); + out__.write(t10); + out__.write(t11); + out__.write(t12); + out__.write(tg1); + out__.write(tg2); + out__.write(tg3); + out__.write(tg4); + out__.write(tg5); + out__.write(tg6); + out__.write(tg7); + out__.write(tg8); + out__.write(tg9); + out__.write(tg10); + out__.write(tg11); + out__.write(tg12); + out__.write(tgs); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -26697,370 +25330,166 @@ class reduce_sum_m3_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - std::vector y1; - y1 = std::vector(N, std::numeric_limits::quiet_NaN()); + std::vector y1; + y1 = std::vector(N, DUMMY_VAR__); - current_statement__ = 1; - y1 = context__.vals_r("y1"); - std::vector> y2; - y2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y2, std::numeric_limits::quiet_NaN()); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + y1[(sym1__ - 1)] = in__.read(); + } + out__.write(y1); + std::vector> y2; + y2 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y2, DUMMY_VAR__); - { - std::vector y2_flat__; - current_statement__ = 2; - y2_flat__ = context__.vals_r("y2"); - current_statement__ = 2; - pos__ = 1; - current_statement__ = 2; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 2; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 2; - assign(y2, y2_flat__[(pos__ - 1)], - "assigning variable y2", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + assign(y2, in__.read(), + "assigning variable y2", index_uni(sym2__), index_uni(sym1__)); } } - std::vector> y3; - y3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y3, std::numeric_limits::quiet_NaN()); + out__.write(y2); + std::vector> y3; + y3 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y3, DUMMY_VAR__); - { - std::vector y3_flat__; - current_statement__ = 3; - y3_flat__ = context__.vals_r("y3"); - current_statement__ = 3; - pos__ = 1; - current_statement__ = 3; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 3; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 3; - assign(y3, y3_flat__[(pos__ - 1)], - "assigning variable y3", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + assign(y3, in__.read(), + "assigning variable y3", index_uni(sym2__), index_uni(sym1__)); } } - std::vector> y4; - y4 = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(y4, std::numeric_limits::quiet_NaN()); + out__.write(y3); + std::vector> y4; + y4 = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(y4, DUMMY_VAR__); - { - std::vector y4_flat__; - current_statement__ = 4; - y4_flat__ = context__.vals_r("y4"); - current_statement__ = 4; - pos__ = 1; - current_statement__ = 4; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 4; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 4; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 4; - assign(y4, y4_flat__[(pos__ - 1)], - "assigning variable y4", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 4; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + assign(y4, in__.read(), + "assigning variable y4", index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__)); } } } - std::vector> y5; - y5 = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); + out__.write(y4); + std::vector> y5; + y5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); - { - std::vector y5_flat__; - current_statement__ = 5; - y5_flat__ = context__.vals_r("y5"); - current_statement__ = 5; - pos__ = 1; - current_statement__ = 5; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 5; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 5; - assign(y5, y5_flat__[(pos__ - 1)], - "assigning variable y5", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 5; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + y5[(sym2__ - 1)][(sym1__ - 1)] = in__.read(); } } - std::vector>> y6; - y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y6, std::numeric_limits::quiet_NaN()); - - { - std::vector y6_flat__; - current_statement__ = 6; - y6_flat__ = context__.vals_r("y6"); - current_statement__ = 6; - pos__ = 1; - current_statement__ = 6; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 6; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 6; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 6; - assign(y6, y6_flat__[(pos__ - 1)], - "assigning variable y6", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - } - } - std::vector>> y7; - y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y7, std::numeric_limits::quiet_NaN()); - - { - std::vector y7_flat__; - current_statement__ = 7; - y7_flat__ = context__.vals_r("y7"); - current_statement__ = 7; - pos__ = 1; - current_statement__ = 7; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 7; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 7; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 7; - assign(y7, y7_flat__[(pos__ - 1)], - "assigning variable y7", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 7; - pos__ = (pos__ + 1); - } - } - } - } - std::vector>> y8; - y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(y8, std::numeric_limits::quiet_NaN()); - - { - std::vector y8_flat__; - current_statement__ = 8; - y8_flat__ = context__.vals_r("y8"); - current_statement__ = 8; - pos__ = 1; - current_statement__ = 8; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 8; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 8; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 8; - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - current_statement__ = 8; - assign(y8, y8_flat__[(pos__ - 1)], - "assigning variable y8", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 8; - pos__ = (pos__ + 1); - } - } - } - } - } - double y9; - y9 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 9; - y9 = context__.vals_r("y9")[(1 - 1)]; - Eigen::Matrix y10; - y10 = Eigen::Matrix(N); - stan::math::fill(y10, std::numeric_limits::quiet_NaN()); - - { - std::vector y10_flat__; - current_statement__ = 10; - y10_flat__ = context__.vals_r("y10"); - current_statement__ = 10; - pos__ = 1; - current_statement__ = 10; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 10; - assign(y10, y10_flat__[(pos__ - 1)], - "assigning variable y10", index_uni(sym1__)); - current_statement__ = 10; - pos__ = (pos__ + 1); - } - } - Eigen::Matrix y11; - y11 = Eigen::Matrix(N); - stan::math::fill(y11, std::numeric_limits::quiet_NaN()); - - { - std::vector y11_flat__; - current_statement__ = 11; - y11_flat__ = context__.vals_r("y11"); - current_statement__ = 11; - pos__ = 1; - current_statement__ = 11; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 11; - assign(y11, y11_flat__[(pos__ - 1)], - "assigning variable y11", index_uni(sym1__)); - current_statement__ = 11; - pos__ = (pos__ + 1); - } - } - Eigen::Matrix y12; - y12 = Eigen::Matrix(N, N); - stan::math::fill(y12, std::numeric_limits::quiet_NaN()); - - { - std::vector y12_flat__; - current_statement__ = 12; - y12_flat__ = context__.vals_r("y12"); - current_statement__ = 12; - pos__ = 1; - current_statement__ = 12; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 12; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 12; - assign(y12, y12_flat__[(pos__ - 1)], - "assigning variable y12", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 12; - pos__ = (pos__ + 1); - } - } - } - std::vector>> y17; - y17 = std::vector>>(N, std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN()))); - + out__.write(y5); + std::vector>> y6; + y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y6, DUMMY_VAR__); - { - std::vector y17_flat__; - current_statement__ = 13; - y17_flat__ = context__.vals_r("y17"); - current_statement__ = 13; - pos__ = 1; - current_statement__ = 13; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 13; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 13; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 13; - assign(y17, y17_flat__[(pos__ - 1)], - "assigning variable y17", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 13; - pos__ = (pos__ + 1); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y2[(sym1__ - 1)][(sym2__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y3[(sym1__ - 1)][(sym2__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - rvalue(y4, "y4", - index_uni(sym1__), index_uni(sym3__), index_uni(sym2__))); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back(y5[(sym1__ - 1)][(sym2__ - 1)]); - } - } for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - y6[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + assign(y6, in__.read(), + "assigning variable y6", index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write(y6); + std::vector>> y7; + y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y7, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - y7[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + assign(y7, in__.read(), + "assigning variable y7", index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write(y7); + std::vector>> y8; + y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(y8, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - vars__.emplace_back( - rvalue(y8, "y8", - index_uni(sym1__), index_uni(sym2__), index_uni(sym4__), - index_uni(sym3__))); + assign(y8, in__.read(), + "assigning variable y8", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } } - vars__.emplace_back(y9); + out__.write(y8); + local_scalar_t__ y9; + y9 = DUMMY_VAR__; + + y9 = in__.read(); + out__.write(y9); + Eigen::Matrix y10; + y10 = Eigen::Matrix(N); + stan::math::fill(y10, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y10[(sym1__ - 1)]); + assign(y10, in__.read(), + "assigning variable y10", index_uni(sym1__)); } + out__.write(y10); + Eigen::Matrix y11; + y11 = Eigen::Matrix(N); + stan::math::fill(y11, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y11[(sym1__ - 1)]); + assign(y11, in__.read(), + "assigning variable y11", index_uni(sym1__)); } + out__.write(y11); + Eigen::Matrix y12; + y12 = Eigen::Matrix(N, N); + stan::math::fill(y12, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - vars__.emplace_back( - rvalue(y12, "y12", index_uni(sym2__), index_uni(sym1__))); + assign(y12, in__.read(), + "assigning variable y12", index_uni(sym2__), index_uni(sym1__)); } } + out__.write(y12); + std::vector>> y17; + y17 = std::vector>>(N, std::vector>(N, std::vector(N, DUMMY_VAR__))); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { for (int sym2__ = 1; sym2__ <= N; ++sym2__) { for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - vars__.emplace_back( - y17[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + y17[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)] = in__.read( + ); } } } + out__.write(y17); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -27456,8 +25885,18 @@ class reduce_sum_m3_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((((((((((((N + (N * N)) + (N * N)) + ((N * N) * N)) + (N * N)) + + ((N * N) * N)) + ((N * N) * N)) + (((N * N) * N) * N)) + 1) + N) + + N) + (N * N)) + ((N * N) * N)); + const size_t num_transformed = 0; + const size_t num_gen_quantities = + (((((((((((((((((((((((((1 + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + + 1) + 1) + 1) + 1); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -27472,8 +25911,19 @@ class reduce_sum_m3_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((((((((((((N + (N * N)) + (N * N)) + ((N * N) * N)) + (N * N)) + + ((N * N) * N)) + ((N * N) * N)) + (((N * N) * N) * N)) + 1) + N) + + N) + (N * N)) + ((N * N) * N)); + const size_t num_transformed = 0; + const size_t num_gen_quantities = + (((((((((((((((((((((((((1 + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + + 1) + 1) + 1) + 1); + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -27494,20 +25944,35 @@ class reduce_sum_m3_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"y1", + "y2", "y3", "y4", "y5", "y6", "y7", "y8", "y9", "y10", "y11", "y12", + "y17", "t1", "t1a", "t2", "t3", "t4", "t5", "t6", "t7", "t8", "t9", + "t10", "t11", "t12", "tg1", "tg2", "tg3", "tg4", "tg5", "tg6", "tg7", + "tg8", "tg9", "tg10", "tg11", "tg12", "tgs"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = reduce_sum_m3_model_namespace::reduce_sum_m3_model; @@ -27815,8 +26280,8 @@ class single_argument_lpmf_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -27847,13 +26312,14 @@ class single_argument_lpmf_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; @@ -27934,8 +26400,12 @@ class single_argument_lpmf_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -27950,8 +26420,13 @@ class single_argument_lpmf_model final : public model_base_crtp @@ -27972,20 +26447,31 @@ class single_argument_lpmf_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } @@ -28160,8 +26646,8 @@ class tilde_block_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -28181,7 +26667,7 @@ class tilde_block_model final : public model_base_crtp { current_statement__ = 1; x = in__.template read_constrain_lb(0, lp__); - vars__.emplace_back(x); + out__.write(x); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -28199,30 +26685,25 @@ class tilde_block_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double x; - x = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - x = context__.vals_r("x")[(1 - 1)]; - double x_free__; - x_free__ = std::numeric_limits::quiet_NaN(); + local_scalar_t__ x; + x = DUMMY_VAR__; - current_statement__ = 1; - x_free__ = stan::math::lb_free(x, 0); - vars__.emplace_back(x_free__); + x = in__.read(); + out__.write_free_lb(0, x); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -28297,8 +26778,12 @@ class tilde_block_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 1; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -28313,8 +26798,13 @@ class tilde_block_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = 1; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -28335,20 +26825,31 @@ class tilde_block_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"x"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = tilde_block_model_namespace::tilde_block_model; @@ -28574,899 +27075,305 @@ class transform_model final : public model_base_crtp { std::vector{}); k = std::numeric_limits::min(); - current_statement__ = 39; - k = context__.vals_i("k")[(1 - 1)]; - current_statement__ = 39; - check_greater_or_equal(function__, "k", k, 1); - current_statement__ = 40; - validate_non_negative_index("ds", "n", n); - current_statement__ = 41; - validate_non_negative_index("ds", "m", m); - current_statement__ = 42; - validate_non_negative_index("ds", "k", k); - current_statement__ = 43; - context__.validate_dims("data initialization","ds","double", - std::vector{static_cast(n), - static_cast(m), static_cast(k)}); - ds = std::vector>>(n, std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN()))); - - - { - std::vector ds_flat__; - current_statement__ = 43; - ds_flat__ = context__.vals_r("ds"); - current_statement__ = 43; - pos__ = 1; - current_statement__ = 43; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 43; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 43; - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - current_statement__ = 43; - assign(ds, ds_flat__[(pos__ - 1)], - "assigning variable ds", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 43; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 44; - validate_non_negative_index("dv", "n", n); - current_statement__ = 45; - validate_non_negative_index("dv", "m", m); - current_statement__ = 46; - validate_non_negative_index("dv", "k", k); - current_statement__ = 47; - context__.validate_dims("data initialization","dv","double", - std::vector{static_cast(n), - static_cast(m), static_cast(k)}); - dv = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - - - { - std::vector dv_flat__; - current_statement__ = 47; - dv_flat__ = context__.vals_r("dv"); - current_statement__ = 47; - pos__ = 1; - current_statement__ = 47; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 47; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 47; - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - current_statement__ = 47; - assign(dv, dv_flat__[(pos__ - 1)], - "assigning variable dv", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 47; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 48; - validate_non_negative_index("dr", "n", n); - current_statement__ = 49; - validate_non_negative_index("dr", "m", m); - current_statement__ = 50; - validate_non_negative_index("dr", "k", k); - current_statement__ = 51; - context__.validate_dims("data initialization","dr","double", - std::vector{static_cast(n), - static_cast(m), static_cast(k)}); - dr = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - - - { - std::vector dr_flat__; - current_statement__ = 51; - dr_flat__ = context__.vals_r("dr"); - current_statement__ = 51; - pos__ = 1; - current_statement__ = 51; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 51; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 51; - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - current_statement__ = 51; - assign(dr, dr_flat__[(pos__ - 1)], - "assigning variable dr", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 51; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 52; - validate_non_negative_index("dm", "n", n); - current_statement__ = 53; - validate_non_negative_index("dm", "m", m); - current_statement__ = 54; - validate_non_negative_index("dm", "k", k); - current_statement__ = 55; - context__.validate_dims("data initialization","dm","double", - std::vector{static_cast(n), - static_cast(m), static_cast(k)}); - dm = std::vector>(n, Eigen::Matrix(m, k)); - - - { - std::vector dm_flat__; - current_statement__ = 55; - dm_flat__ = context__.vals_r("dm"); - current_statement__ = 55; - pos__ = 1; - current_statement__ = 55; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 55; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 55; - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - current_statement__ = 55; - assign(dm, dm_flat__[(pos__ - 1)], - "assigning variable dm", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 55; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 56; - validate_non_negative_index("p_1", "k", k); - current_statement__ = 57; - validate_non_negative_index("p_2", "k", k); - current_statement__ = 58; - validate_non_negative_index("p_3", "k", k); - current_statement__ = 59; - validate_non_negative_index("p_4", "k", k); - current_statement__ = 60; - validate_non_negative_index("p_5", "k", k); - current_statement__ = 61; - validate_non_negative_index("p_6", "k", k); - current_statement__ = 62; - validate_non_negative_index("p_7", "k", k); - current_statement__ = 63; - validate_non_negative_index("p_8", "k", k); - current_statement__ = 64; - validate_non_negative_index("p_9", "m", m); - current_statement__ = 65; - validate_non_negative_index("p_9", "k", k); - current_statement__ = 66; - validate_non_negative_index("p_10", "n", n); - current_statement__ = 67; - validate_non_negative_index("p_10", "m", m); - current_statement__ = 68; - validate_non_negative_index("p_10", "k", k); - current_statement__ = 69; - validate_non_negative_index("pv_1", "k", k); - current_statement__ = 70; - validate_non_negative_index("pv_2", "m", m); - current_statement__ = 71; - validate_non_negative_index("pv_2", "k", k); - current_statement__ = 72; - validate_non_negative_index("pv_3", "n", n); - current_statement__ = 73; - validate_non_negative_index("pv_3", "m", m); - current_statement__ = 74; - validate_non_negative_index("pv_3", "k", k); - current_statement__ = 75; - validate_non_negative_index("pr_1", "k", k); - current_statement__ = 76; - validate_non_negative_index("pr_2", "m", m); - current_statement__ = 77; - validate_non_negative_index("pr_2", "k", k); - current_statement__ = 78; - validate_non_negative_index("pr_3", "n", n); - current_statement__ = 79; - validate_non_negative_index("pr_3", "m", m); - current_statement__ = 80; - validate_non_negative_index("pr_3", "k", k); - current_statement__ = 81; - validate_non_negative_index("pm_1", "m", m); - current_statement__ = 82; - validate_non_negative_index("pm_1", "k", k); - current_statement__ = 83; - validate_non_negative_index("pm_2", "n", n); - current_statement__ = 84; - validate_non_negative_index("pm_2", "m", m); - current_statement__ = 85; - validate_non_negative_index("pm_2", "k", k); - current_statement__ = 86; - validate_non_negative_index("tp_1", "k", k); - current_statement__ = 87; - validate_non_negative_index("tp_2", "k", k); - current_statement__ = 88; - validate_non_negative_index("tp_3", "k", k); - current_statement__ = 89; - validate_non_negative_index("tp_4", "k", k); - current_statement__ = 90; - validate_non_negative_index("tp_5", "k", k); - current_statement__ = 91; - validate_non_negative_index("tp_6", "k", k); - current_statement__ = 92; - validate_non_negative_index("tp_7", "k", k); - current_statement__ = 93; - validate_non_negative_index("tp_8", "k", k); - current_statement__ = 94; - validate_non_negative_index("tp_9", "m", m); - current_statement__ = 95; - validate_non_negative_index("tp_9", "k", k); - current_statement__ = 96; - validate_non_negative_index("tp_10", "n", n); - current_statement__ = 97; - validate_non_negative_index("tp_10", "m", m); - current_statement__ = 98; - validate_non_negative_index("tp_10", "k", k); - current_statement__ = 99; - validate_non_negative_index("tpv_1", "k", k); - current_statement__ = 100; - validate_non_negative_index("tpv_2", "m", m); - current_statement__ = 101; - validate_non_negative_index("tpv_2", "k", k); - current_statement__ = 102; - validate_non_negative_index("tpv_3", "n", n); - current_statement__ = 103; - validate_non_negative_index("tpv_3", "m", m); - current_statement__ = 104; - validate_non_negative_index("tpv_3", "k", k); - current_statement__ = 105; - validate_non_negative_index("tpr_1", "k", k); - current_statement__ = 106; - validate_non_negative_index("tpr_2", "m", m); - current_statement__ = 107; - validate_non_negative_index("tpr_2", "k", k); - current_statement__ = 108; - validate_non_negative_index("tpr_3", "n", n); - current_statement__ = 109; - validate_non_negative_index("tpr_3", "m", m); - current_statement__ = 110; - validate_non_negative_index("tpr_3", "k", k); - current_statement__ = 111; - validate_non_negative_index("tpm_1", "m", m); - current_statement__ = 112; - validate_non_negative_index("tpm_1", "k", k); - current_statement__ = 113; - validate_non_negative_index("tpm_2", "n", n); - current_statement__ = 114; - validate_non_negative_index("tpm_2", "m", m); - current_statement__ = 115; - validate_non_negative_index("tpm_2", "k", k); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - // Next line prevents compiler griping about no return - throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); - } - num_params_r__ = k + k + k + k + k + k + k + k + (m * k) + (n * m * k) - + k + (m * k) + (n * m * k) + k + (m * k) + (n * m * k) + (m * k) - + (n * m * k); - - } - - template * = nullptr, - stan::require_vector_like_vt* = nullptr> - inline stan::scalar_type_t log_prob_impl(VecR& params_r__, - VecI& params_i__, - std::ostream* pstream__ = nullptr) const { - using T__ = stan::scalar_type_t; - using local_scalar_t__ = T__; - T__ lp__(0.0); - stan::math::accumulator lp_accum__; - stan::io::deserializer in__(params_r__, params_i__); - int current_statement__ = 0; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - static constexpr const char* function__ = "transform_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - - try { - std::vector p_1; - p_1 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 1; - p_1 = in__.template read_constrain_lb, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); - current_statement__ = 1; - check_matching_dims("constraint", "p_1", p_1, "lower", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_2; - p_2 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 2; - p_2 = in__.template read_constrain_ub, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); - current_statement__ = 2; - check_matching_dims("constraint", "p_2", p_2, "upper", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_3; - p_3 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 3; - p_3 = in__.template read_constrain_lub, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), - rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); - current_statement__ = 3; - check_matching_dims("constraint", "p_3", p_3, "lower", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - current_statement__ = 3; - check_matching_dims("constraint", "p_3", p_3, "upper", - rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector p_4; - p_4 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 4; - p_4 = in__.template read_constrain_lub, jacobian__>( - 0, rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); - current_statement__ = 4; - check_matching_dims("constraint", "p_4", p_4, "upper", - rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector p_5; - p_5 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 5; - p_5 = in__.template read_constrain_lub, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__, k); - current_statement__ = 5; - check_matching_dims("constraint", "p_5", p_5, "lower", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_6; - p_6 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 6; - p_6 = in__.template read_constrain_offset_multiplier, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__, k); - current_statement__ = 6; - check_matching_dims("constraint", "p_6", p_6, "offset", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_7; - p_7 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 7; - p_7 = in__.template read_constrain_offset_multiplier, jacobian__>( - 0, rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); - current_statement__ = 7; - check_matching_dims("constraint", "p_7", p_7, "multiplier", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_8; - p_8 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 8; - p_8 = in__.template read_constrain_offset_multiplier, jacobian__>( - rvalue(ds, "ds", index_uni(1), index_uni(1)), - rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); - current_statement__ = 8; - check_matching_dims("constraint", "p_8", p_8, "offset", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - current_statement__ = 8; - check_matching_dims("constraint", "p_8", p_8, "multiplier", - rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector> p_9; - p_9 = std::vector>(m, std::vector(k, DUMMY_VAR__)); - - - current_statement__ = 9; - p_9 = in__.template read_constrain_lub>, jacobian__>( - rvalue(ds, "ds", index_uni(1)), 1, lp__, m, k); - current_statement__ = 9; - check_matching_dims("constraint", "p_9", p_9, "lower", - rvalue(ds, "ds", index_uni(1))); - std::vector>> p_10; - p_10 = std::vector>>(n, std::vector>(m, std::vector(k, DUMMY_VAR__))); - - - current_statement__ = 10; - p_10 = in__.template read_constrain_lub>>, jacobian__>( - 0, ds, lp__, n, m, k); - current_statement__ = 10; - check_matching_dims("constraint", "p_10", p_10, "upper", ds); - Eigen::Matrix pv_1; - pv_1 = Eigen::Matrix(k); - stan::math::fill(pv_1, DUMMY_VAR__); - - current_statement__ = 11; - pv_1 = in__.template read_constrain_lub, jacobian__>( - rvalue(dv, "dv", index_uni(1), index_uni(1)), - rvalue(dv, "dv", index_uni(1), index_uni(2)), lp__, k); - current_statement__ = 11; - check_matching_dims("constraint", "pv_1", pv_1, "lower", - rvalue(dv, "dv", index_uni(1), index_uni(1))); - current_statement__ = 11; - check_matching_dims("constraint", "pv_1", pv_1, "upper", - rvalue(dv, "dv", index_uni(1), index_uni(2))); - std::vector> pv_2; - pv_2 = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(pv_2, DUMMY_VAR__); - - current_statement__ = 12; - pv_2 = in__.template read_constrain_lb>, jacobian__>( - rvalue(dv, "dv", index_uni(1)), lp__, m, k); - current_statement__ = 12; - check_matching_dims("constraint", "pv_2", pv_2, "lower", - rvalue(dv, "dv", index_uni(1))); - std::vector>> pv_3; - pv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(pv_3, DUMMY_VAR__); - - current_statement__ = 13; - pv_3 = in__.template read_constrain_ub>>, jacobian__>( - dv, lp__, n, m, k); - current_statement__ = 13; - check_matching_dims("constraint", "pv_3", pv_3, "upper", dv); - Eigen::Matrix pr_1; - pr_1 = Eigen::Matrix(k); - stan::math::fill(pr_1, DUMMY_VAR__); - - current_statement__ = 14; - pr_1 = in__.template read_constrain_lub, jacobian__>( - rvalue(dr, "dr", index_uni(1), index_uni(1)), - rvalue(dr, "dr", index_uni(1), index_uni(2)), lp__, k); - current_statement__ = 14; - check_matching_dims("constraint", "pr_1", pr_1, "lower", - rvalue(dr, "dr", index_uni(1), index_uni(1))); - current_statement__ = 14; - check_matching_dims("constraint", "pr_1", pr_1, "upper", - rvalue(dr, "dr", index_uni(1), index_uni(2))); - std::vector> pr_2; - pr_2 = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(pr_2, DUMMY_VAR__); - - current_statement__ = 15; - pr_2 = in__.template read_constrain_lb>, jacobian__>( - rvalue(dr, "dr", index_uni(1)), lp__, m, k); - current_statement__ = 15; - check_matching_dims("constraint", "pr_2", pr_2, "lower", - rvalue(dr, "dr", index_uni(1))); - std::vector>> pr_3; - pr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(pr_3, DUMMY_VAR__); - - current_statement__ = 16; - pr_3 = in__.template read_constrain_ub>>, jacobian__>( - dr, lp__, n, m, k); - current_statement__ = 16; - check_matching_dims("constraint", "pr_3", pr_3, "upper", dr); - Eigen::Matrix pm_1; - pm_1 = Eigen::Matrix(m, k); - stan::math::fill(pm_1, DUMMY_VAR__); - - current_statement__ = 17; - pm_1 = in__.template read_constrain_lb, jacobian__>( - rvalue(dm, "dm", index_uni(1)), lp__, m, k); - current_statement__ = 17; - check_matching_dims("constraint", "pm_1", pm_1, "lower", - rvalue(dm, "dm", index_uni(1))); - std::vector> pm_2; - pm_2 = std::vector>(n, Eigen::Matrix(m, k)); - stan::math::fill(pm_2, DUMMY_VAR__); - - current_statement__ = 18; - pm_2 = in__.template read_constrain_ub>, jacobian__>( - dm, lp__, n, m, k); - current_statement__ = 18; - check_matching_dims("constraint", "pm_2", pm_2, "upper", dm); - std::vector tp_1; - tp_1 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 19; - assign(tp_1, p_1, "assigning variable tp_1"); - current_statement__ = 19; - check_matching_dims("constraint", "tp_1", tp_1, "lower", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector tp_2; - tp_2 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 20; - assign(tp_2, p_2, "assigning variable tp_2"); - current_statement__ = 20; - check_matching_dims("constraint", "tp_2", tp_2, "upper", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector tp_3; - tp_3 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 21; - assign(tp_3, p_3, "assigning variable tp_3"); - current_statement__ = 21; - check_matching_dims("constraint", "tp_3", tp_3, "lower", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - current_statement__ = 21; - check_matching_dims("constraint", "tp_3", tp_3, "upper", - rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector tp_4; - tp_4 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 22; - assign(tp_4, p_4, "assigning variable tp_4"); - current_statement__ = 22; - check_matching_dims("constraint", "tp_4", tp_4, "upper", - rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector tp_5; - tp_5 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 23; - assign(tp_5, p_5, "assigning variable tp_5"); - current_statement__ = 23; - check_matching_dims("constraint", "tp_5", tp_5, "lower", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector tp_6; - tp_6 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 24; - assign(tp_6, p_6, "assigning variable tp_6"); - current_statement__ = 24; - check_matching_dims("constraint", "tp_6", tp_6, "offset", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector tp_7; - tp_7 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 25; - assign(tp_7, p_7, "assigning variable tp_7"); - current_statement__ = 25; - check_matching_dims("constraint", "tp_7", tp_7, "multiplier", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector tp_8; - tp_8 = std::vector(k, DUMMY_VAR__); - - current_statement__ = 26; - assign(tp_8, p_8, "assigning variable tp_8"); - current_statement__ = 26; - check_matching_dims("constraint", "tp_8", tp_8, "offset", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - current_statement__ = 26; - check_matching_dims("constraint", "tp_8", tp_8, "multiplier", - rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector> tp_9; - tp_9 = std::vector>(m, std::vector(k, DUMMY_VAR__)); - - - current_statement__ = 27; - assign(tp_9, p_9, "assigning variable tp_9"); - current_statement__ = 27; - check_matching_dims("constraint", "tp_9", tp_9, "lower", - rvalue(ds, "ds", index_uni(1))); - std::vector>> tp_10; - tp_10 = std::vector>>(n, std::vector>(m, std::vector(k, DUMMY_VAR__))); - - - current_statement__ = 28; - assign(tp_10, p_10, "assigning variable tp_10"); - current_statement__ = 28; - check_matching_dims("constraint", "tp_10", tp_10, "upper", ds); - Eigen::Matrix tpv_1; - tpv_1 = Eigen::Matrix(k); - stan::math::fill(tpv_1, DUMMY_VAR__); - - current_statement__ = 29; - assign(tpv_1, pv_1, "assigning variable tpv_1"); - current_statement__ = 29; - check_matching_dims("constraint", "tpv_1", tpv_1, "lower", - rvalue(dv, "dv", index_uni(1), index_uni(1))); - current_statement__ = 29; - check_matching_dims("constraint", "tpv_1", tpv_1, "upper", - rvalue(dv, "dv", index_uni(1), index_uni(2))); - std::vector> tpv_2; - tpv_2 = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(tpv_2, DUMMY_VAR__); - - current_statement__ = 30; - assign(tpv_2, pv_2, "assigning variable tpv_2"); - current_statement__ = 30; - check_matching_dims("constraint", "tpv_2", tpv_2, "lower", - rvalue(dv, "dv", index_uni(1))); - std::vector>> tpv_3; - tpv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(tpv_3, DUMMY_VAR__); - - current_statement__ = 31; - assign(tpv_3, pv_3, "assigning variable tpv_3"); - current_statement__ = 31; - check_matching_dims("constraint", "tpv_3", tpv_3, "upper", dv); - Eigen::Matrix tpr_1; - tpr_1 = Eigen::Matrix(k); - stan::math::fill(tpr_1, DUMMY_VAR__); - - current_statement__ = 32; - assign(tpr_1, pr_1, "assigning variable tpr_1"); - current_statement__ = 32; - check_matching_dims("constraint", "tpr_1", tpr_1, "lower", - rvalue(dr, "dr", index_uni(1), index_uni(1))); - current_statement__ = 32; - check_matching_dims("constraint", "tpr_1", tpr_1, "upper", - rvalue(dr, "dr", index_uni(1), index_uni(2))); - std::vector> tpr_2; - tpr_2 = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(tpr_2, DUMMY_VAR__); - - current_statement__ = 33; - assign(tpr_2, pr_2, "assigning variable tpr_2"); - current_statement__ = 33; - check_matching_dims("constraint", "tpr_2", tpr_2, "lower", - rvalue(dr, "dr", index_uni(1))); - std::vector>> tpr_3; - tpr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(tpr_3, DUMMY_VAR__); - - current_statement__ = 34; - assign(tpr_3, pr_3, "assigning variable tpr_3"); - current_statement__ = 34; - check_matching_dims("constraint", "tpr_3", tpr_3, "upper", dr); - Eigen::Matrix tpm_1; - tpm_1 = Eigen::Matrix(m, k); - stan::math::fill(tpm_1, DUMMY_VAR__); - - current_statement__ = 35; - assign(tpm_1, pm_1, "assigning variable tpm_1"); - current_statement__ = 35; - check_matching_dims("constraint", "tpm_1", tpm_1, "lower", - rvalue(dm, "dm", index_uni(1))); - std::vector> tpm_2; - tpm_2 = std::vector>(n, Eigen::Matrix(m, k)); - stan::math::fill(tpm_2, DUMMY_VAR__); - - current_statement__ = 36; - assign(tpm_2, pm_2, "assigning variable tpm_2"); - current_statement__ = 36; - check_matching_dims("constraint", "tpm_2", tpm_2, "upper", dm); - current_statement__ = 19; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 19; - check_greater_or_equal(function__, "tp_1[sym1__]", - tp_1[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(1))[ - (sym1__ - 1)]); - } - current_statement__ = 20; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 20; - check_less_or_equal(function__, "tp_2[sym1__]", tp_2[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(1))[ - (sym1__ - 1)]); - } - current_statement__ = 21; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 21; - check_greater_or_equal(function__, "tp_3[sym1__]", - tp_3[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(1))[ - (sym1__ - 1)]); - } - current_statement__ = 21; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 21; - check_less_or_equal(function__, "tp_3[sym1__]", tp_3[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(2))[ - (sym1__ - 1)]); - } - current_statement__ = 22; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 22; - check_greater_or_equal(function__, "tp_4[sym1__]", - tp_4[(sym1__ - 1)], 0); - } - current_statement__ = 22; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 22; - check_less_or_equal(function__, "tp_4[sym1__]", tp_4[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(2))[ - (sym1__ - 1)]); - } - current_statement__ = 23; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 23; - check_greater_or_equal(function__, "tp_5[sym1__]", - tp_5[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(1))[ - (sym1__ - 1)]); - } - current_statement__ = 23; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 23; - check_less_or_equal(function__, "tp_5[sym1__]", tp_5[(sym1__ - 1)], 1); - } - current_statement__ = 27; - for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - current_statement__ = 27; - for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - current_statement__ = 27; - check_greater_or_equal(function__, "tp_9[sym1__, sym2__]", - tp_9[(sym1__ - 1)][(sym2__ - 1)], - rvalue(ds, "ds", index_uni(1))[(sym1__ - 1)][ - (sym2__ - 1)]); - } - } - current_statement__ = 27; - for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - current_statement__ = 27; - for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - current_statement__ = 27; - check_less_or_equal(function__, "tp_9[sym1__, sym2__]", - tp_9[(sym1__ - 1)][(sym2__ - 1)], 1); - } - } - current_statement__ = 28; - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 28; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 28; - for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - current_statement__ = 28; - check_greater_or_equal(function__, - "tp_10[sym1__, sym2__, sym3__]", - tp_10[(sym1__ - 1)][(sym2__ - 1)][ - (sym3__ - 1)], 0); - } - } - } - current_statement__ = 28; - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 28; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 28; - for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - current_statement__ = 28; - check_less_or_equal(function__, "tp_10[sym1__, sym2__, sym3__]", - tp_10[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - - 1)], - ds[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); - } - } - } - current_statement__ = 29; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 29; - check_greater_or_equal(function__, "tpv_1[sym1__]", - tpv_1[(sym1__ - 1)], - rvalue(dv, "dv", index_uni(1), index_uni(1))[ - (sym1__ - 1)]); - } - current_statement__ = 29; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 29; - check_less_or_equal(function__, "tpv_1[sym1__]", tpv_1[(sym1__ - 1)], - rvalue(dv, "dv", index_uni(1), index_uni(2))[ - (sym1__ - 1)]); - } - current_statement__ = 30; - for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - current_statement__ = 30; - for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - current_statement__ = 30; - check_greater_or_equal(function__, "tpv_2[sym1__, sym2__]", - tpv_2[(sym1__ - 1)][(sym2__ - 1)], - rvalue(dv, "dv", index_uni(1))[(sym1__ - 1)][ - (sym2__ - 1)]); - } - } - current_statement__ = 31; - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 31; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 31; - for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - current_statement__ = 31; - check_less_or_equal(function__, "tpv_3[sym1__, sym2__, sym3__]", - tpv_3[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - - 1)], - dv[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + current_statement__ = 39; + k = context__.vals_i("k")[(1 - 1)]; + current_statement__ = 39; + check_greater_or_equal(function__, "k", k, 1); + current_statement__ = 40; + validate_non_negative_index("ds", "n", n); + current_statement__ = 41; + validate_non_negative_index("ds", "m", m); + current_statement__ = 42; + validate_non_negative_index("ds", "k", k); + current_statement__ = 43; + context__.validate_dims("data initialization","ds","double", + std::vector{static_cast(n), + static_cast(m), static_cast(k)}); + ds = std::vector>>(n, std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN()))); + + + { + std::vector ds_flat__; + current_statement__ = 43; + ds_flat__ = context__.vals_r("ds"); + current_statement__ = 43; + pos__ = 1; + current_statement__ = 43; + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + current_statement__ = 43; + for (int sym2__ = 1; sym2__ <= m; ++sym2__) { + current_statement__ = 43; + for (int sym3__ = 1; sym3__ <= n; ++sym3__) { + current_statement__ = 43; + assign(ds, ds_flat__[(pos__ - 1)], + "assigning variable ds", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 43; + pos__ = (pos__ + 1); + } } } } - current_statement__ = 32; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 32; - check_greater_or_equal(function__, "tpr_1[sym1__]", - tpr_1[(sym1__ - 1)], - rvalue(dr, "dr", index_uni(1), index_uni(1))[ - (sym1__ - 1)]); - } - current_statement__ = 32; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 32; - check_less_or_equal(function__, "tpr_1[sym1__]", tpr_1[(sym1__ - 1)], - rvalue(dr, "dr", index_uni(1), index_uni(2))[ - (sym1__ - 1)]); - } - current_statement__ = 33; - for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - current_statement__ = 33; - for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - current_statement__ = 33; - check_greater_or_equal(function__, "tpr_2[sym1__, sym2__]", - tpr_2[(sym1__ - 1)][(sym2__ - 1)], - rvalue(dr, "dr", index_uni(1))[(sym1__ - 1)][ - (sym2__ - 1)]); - } - } - current_statement__ = 34; - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 34; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 34; - for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - current_statement__ = 34; - check_less_or_equal(function__, "tpr_3[sym1__, sym2__, sym3__]", - tpr_3[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - - 1)], - dr[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + current_statement__ = 44; + validate_non_negative_index("dv", "n", n); + current_statement__ = 45; + validate_non_negative_index("dv", "m", m); + current_statement__ = 46; + validate_non_negative_index("dv", "k", k); + current_statement__ = 47; + context__.validate_dims("data initialization","dv","double", + std::vector{static_cast(n), + static_cast(m), static_cast(k)}); + dv = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + + + { + std::vector dv_flat__; + current_statement__ = 47; + dv_flat__ = context__.vals_r("dv"); + current_statement__ = 47; + pos__ = 1; + current_statement__ = 47; + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + current_statement__ = 47; + for (int sym2__ = 1; sym2__ <= m; ++sym2__) { + current_statement__ = 47; + for (int sym3__ = 1; sym3__ <= n; ++sym3__) { + current_statement__ = 47; + assign(dv, dv_flat__[(pos__ - 1)], + "assigning variable dv", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 47; + pos__ = (pos__ + 1); + } } } } - current_statement__ = 35; - for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - current_statement__ = 35; - for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - current_statement__ = 35; - check_greater_or_equal(function__, "tpm_1[sym1__, sym2__]", - rvalue(tpm_1, "tpm_1", - index_uni(sym1__), index_uni(sym2__)), - rvalue(rvalue(dm, "dm", index_uni(1)), - "dm[1]", - index_uni(sym1__), index_uni(sym2__))); + current_statement__ = 48; + validate_non_negative_index("dr", "n", n); + current_statement__ = 49; + validate_non_negative_index("dr", "m", m); + current_statement__ = 50; + validate_non_negative_index("dr", "k", k); + current_statement__ = 51; + context__.validate_dims("data initialization","dr","double", + std::vector{static_cast(n), + static_cast(m), static_cast(k)}); + dr = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + + + { + std::vector dr_flat__; + current_statement__ = 51; + dr_flat__ = context__.vals_r("dr"); + current_statement__ = 51; + pos__ = 1; + current_statement__ = 51; + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + current_statement__ = 51; + for (int sym2__ = 1; sym2__ <= m; ++sym2__) { + current_statement__ = 51; + for (int sym3__ = 1; sym3__ <= n; ++sym3__) { + current_statement__ = 51; + assign(dr, dr_flat__[(pos__ - 1)], + "assigning variable dr", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 51; + pos__ = (pos__ + 1); + } + } } } - current_statement__ = 36; - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 36; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 36; - for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - current_statement__ = 36; - check_less_or_equal(function__, "tpm_2[sym1__, sym2__, sym3__]", - rvalue(tpm_2, "tpm_2", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__)), - rvalue(dm, "dm", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__))); + current_statement__ = 52; + validate_non_negative_index("dm", "n", n); + current_statement__ = 53; + validate_non_negative_index("dm", "m", m); + current_statement__ = 54; + validate_non_negative_index("dm", "k", k); + current_statement__ = 55; + context__.validate_dims("data initialization","dm","double", + std::vector{static_cast(n), + static_cast(m), static_cast(k)}); + dm = std::vector>(n, Eigen::Matrix(m, k)); + + + { + std::vector dm_flat__; + current_statement__ = 55; + dm_flat__ = context__.vals_r("dm"); + current_statement__ = 55; + pos__ = 1; + current_statement__ = 55; + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + current_statement__ = 55; + for (int sym2__ = 1; sym2__ <= m; ++sym2__) { + current_statement__ = 55; + for (int sym3__ = 1; sym3__ <= n; ++sym3__) { + current_statement__ = 55; + assign(dm, dm_flat__[(pos__ - 1)], + "assigning variable dm", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 55; + pos__ = (pos__ + 1); + } } } } + current_statement__ = 56; + validate_non_negative_index("p_1", "k", k); + current_statement__ = 57; + validate_non_negative_index("p_2", "k", k); + current_statement__ = 58; + validate_non_negative_index("p_3", "k", k); + current_statement__ = 59; + validate_non_negative_index("p_4", "k", k); + current_statement__ = 60; + validate_non_negative_index("p_5", "k", k); + current_statement__ = 61; + validate_non_negative_index("p_6", "k", k); + current_statement__ = 62; + validate_non_negative_index("p_7", "k", k); + current_statement__ = 63; + validate_non_negative_index("p_8", "k", k); + current_statement__ = 64; + validate_non_negative_index("p_9", "m", m); + current_statement__ = 65; + validate_non_negative_index("p_9", "k", k); + current_statement__ = 66; + validate_non_negative_index("p_10", "n", n); + current_statement__ = 67; + validate_non_negative_index("p_10", "m", m); + current_statement__ = 68; + validate_non_negative_index("p_10", "k", k); + current_statement__ = 69; + validate_non_negative_index("pv_1", "k", k); + current_statement__ = 70; + validate_non_negative_index("pv_2", "m", m); + current_statement__ = 71; + validate_non_negative_index("pv_2", "k", k); + current_statement__ = 72; + validate_non_negative_index("pv_3", "n", n); + current_statement__ = 73; + validate_non_negative_index("pv_3", "m", m); + current_statement__ = 74; + validate_non_negative_index("pv_3", "k", k); + current_statement__ = 75; + validate_non_negative_index("pr_1", "k", k); + current_statement__ = 76; + validate_non_negative_index("pr_2", "m", m); + current_statement__ = 77; + validate_non_negative_index("pr_2", "k", k); + current_statement__ = 78; + validate_non_negative_index("pr_3", "n", n); + current_statement__ = 79; + validate_non_negative_index("pr_3", "m", m); + current_statement__ = 80; + validate_non_negative_index("pr_3", "k", k); + current_statement__ = 81; + validate_non_negative_index("pm_1", "m", m); + current_statement__ = 82; + validate_non_negative_index("pm_1", "k", k); + current_statement__ = 83; + validate_non_negative_index("pm_2", "n", n); + current_statement__ = 84; + validate_non_negative_index("pm_2", "m", m); + current_statement__ = 85; + validate_non_negative_index("pm_2", "k", k); + current_statement__ = 86; + validate_non_negative_index("tp_1", "k", k); + current_statement__ = 87; + validate_non_negative_index("tp_2", "k", k); + current_statement__ = 88; + validate_non_negative_index("tp_3", "k", k); + current_statement__ = 89; + validate_non_negative_index("tp_4", "k", k); + current_statement__ = 90; + validate_non_negative_index("tp_5", "k", k); + current_statement__ = 91; + validate_non_negative_index("tp_6", "k", k); + current_statement__ = 92; + validate_non_negative_index("tp_7", "k", k); + current_statement__ = 93; + validate_non_negative_index("tp_8", "k", k); + current_statement__ = 94; + validate_non_negative_index("tp_9", "m", m); + current_statement__ = 95; + validate_non_negative_index("tp_9", "k", k); + current_statement__ = 96; + validate_non_negative_index("tp_10", "n", n); + current_statement__ = 97; + validate_non_negative_index("tp_10", "m", m); + current_statement__ = 98; + validate_non_negative_index("tp_10", "k", k); + current_statement__ = 99; + validate_non_negative_index("tpv_1", "k", k); + current_statement__ = 100; + validate_non_negative_index("tpv_2", "m", m); + current_statement__ = 101; + validate_non_negative_index("tpv_2", "k", k); + current_statement__ = 102; + validate_non_negative_index("tpv_3", "n", n); + current_statement__ = 103; + validate_non_negative_index("tpv_3", "m", m); + current_statement__ = 104; + validate_non_negative_index("tpv_3", "k", k); + current_statement__ = 105; + validate_non_negative_index("tpr_1", "k", k); + current_statement__ = 106; + validate_non_negative_index("tpr_2", "m", m); + current_statement__ = 107; + validate_non_negative_index("tpr_2", "k", k); + current_statement__ = 108; + validate_non_negative_index("tpr_3", "n", n); + current_statement__ = 109; + validate_non_negative_index("tpr_3", "m", m); + current_statement__ = 110; + validate_non_negative_index("tpr_3", "k", k); + current_statement__ = 111; + validate_non_negative_index("tpm_1", "m", m); + current_statement__ = 112; + validate_non_negative_index("tpm_1", "k", k); + current_statement__ = 113; + validate_non_negative_index("tpm_2", "n", n); + current_statement__ = 114; + validate_non_negative_index("tpm_2", "m", m); + current_statement__ = 115; + validate_non_negative_index("tpm_2", "k", k); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); } - lp_accum__.add(lp__); - return lp_accum__.sum(); - } // log_prob_impl() + num_params_r__ = k + k + k + k + k + k + k + k + (m * k) + (n * m * k) + + k + (m * k) + (n * m * k) + k + (m * k) + (n * m * k) + (m * k) + + (n * m * k); - template * = nullptr, - stan::require_vector_like_vt* = nullptr, - stan::require_std_vector_vt* = nullptr> - inline void write_array_impl(RNG& base_rng__, VecR& params_r__, - VecI& params_i__, VecVar& vars__, - const bool emit_transformed_parameters__ = true, - const bool emit_generated_quantities__ = true, - std::ostream* pstream__ = nullptr) const { - using local_scalar_t__ = double; - vars__.resize(0); + } + + template * = nullptr, + stan::require_vector_like_vt* = nullptr> + inline stan::scalar_type_t log_prob_impl(VecR& params_r__, + VecI& params_i__, + std::ostream* pstream__ = nullptr) const { + using T__ = stan::scalar_type_t; + using local_scalar_t__ = T__; + T__ lp__(0.0); + stan::math::accumulator lp_accum__; stan::io::deserializer in__(params_r__, params_i__); - static constexpr bool propto__ = true; - (void) propto__; - double lp__ = 0.0; - (void) lp__; // dummy to suppress unused var warning - int current_statement__ = 0; - stan::math::accumulator lp_accum__; + int current_statement__ = 0; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - constexpr bool jacobian__ = false; (void) DUMMY_VAR__; // suppress unused var warning - static constexpr const char* function__ = "transform_model_namespace::write_array"; + static constexpr const char* function__ = "transform_model_namespace::log_prob"; (void) function__; // suppress unused var warning try { - std::vector p_1; - p_1 = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector p_1; + p_1 = std::vector(k, DUMMY_VAR__); current_statement__ = 1; p_1 = in__.template read_constrain_lb, jacobian__>( @@ -29474,8 +27381,8 @@ class transform_model final : public model_base_crtp { current_statement__ = 1; check_matching_dims("constraint", "p_1", p_1, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_2; - p_2 = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector p_2; + p_2 = std::vector(k, DUMMY_VAR__); current_statement__ = 2; p_2 = in__.template read_constrain_ub, jacobian__>( @@ -29483,8 +27390,8 @@ class transform_model final : public model_base_crtp { current_statement__ = 2; check_matching_dims("constraint", "p_2", p_2, "upper", rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_3; - p_3 = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector p_3; + p_3 = std::vector(k, DUMMY_VAR__); current_statement__ = 3; p_3 = in__.template read_constrain_lub, jacobian__>( @@ -29496,8 +27403,8 @@ class transform_model final : public model_base_crtp { current_statement__ = 3; check_matching_dims("constraint", "p_3", p_3, "upper", rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector p_4; - p_4 = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector p_4; + p_4 = std::vector(k, DUMMY_VAR__); current_statement__ = 4; p_4 = in__.template read_constrain_lub, jacobian__>( @@ -29505,8 +27412,8 @@ class transform_model final : public model_base_crtp { current_statement__ = 4; check_matching_dims("constraint", "p_4", p_4, "upper", rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector p_5; - p_5 = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector p_5; + p_5 = std::vector(k, DUMMY_VAR__); current_statement__ = 5; p_5 = in__.template read_constrain_lub, jacobian__>( @@ -29514,8 +27421,8 @@ class transform_model final : public model_base_crtp { current_statement__ = 5; check_matching_dims("constraint", "p_5", p_5, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_6; - p_6 = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector p_6; + p_6 = std::vector(k, DUMMY_VAR__); current_statement__ = 6; p_6 = in__.template read_constrain_offset_multiplier, jacobian__>( @@ -29523,8 +27430,8 @@ class transform_model final : public model_base_crtp { current_statement__ = 6; check_matching_dims("constraint", "p_6", p_6, "offset", rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_7; - p_7 = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector p_7; + p_7 = std::vector(k, DUMMY_VAR__); current_statement__ = 7; p_7 = in__.template read_constrain_offset_multiplier, jacobian__>( @@ -29532,8 +27439,8 @@ class transform_model final : public model_base_crtp { current_statement__ = 7; check_matching_dims("constraint", "p_7", p_7, "multiplier", rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_8; - p_8 = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector p_8; + p_8 = std::vector(k, DUMMY_VAR__); current_statement__ = 8; p_8 = in__.template read_constrain_offset_multiplier, jacobian__>( @@ -29545,8 +27452,8 @@ class transform_model final : public model_base_crtp { current_statement__ = 8; check_matching_dims("constraint", "p_8", p_8, "multiplier", rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector> p_9; - p_9 = std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN())); + std::vector> p_9; + p_9 = std::vector>(m, std::vector(k, DUMMY_VAR__)); current_statement__ = 9; @@ -29555,8 +27462,8 @@ class transform_model final : public model_base_crtp { current_statement__ = 9; check_matching_dims("constraint", "p_9", p_9, "lower", rvalue(ds, "ds", index_uni(1))); - std::vector>> p_10; - p_10 = std::vector>>(n, std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN()))); + std::vector>> p_10; + p_10 = std::vector>>(n, std::vector>(m, std::vector(k, DUMMY_VAR__))); current_statement__ = 10; @@ -29564,9 +27471,9 @@ class transform_model final : public model_base_crtp { 0, ds, lp__, n, m, k); current_statement__ = 10; check_matching_dims("constraint", "p_10", p_10, "upper", ds); - Eigen::Matrix pv_1; - pv_1 = Eigen::Matrix(k); - stan::math::fill(pv_1, std::numeric_limits::quiet_NaN()); + Eigen::Matrix pv_1; + pv_1 = Eigen::Matrix(k); + stan::math::fill(pv_1, DUMMY_VAR__); current_statement__ = 11; pv_1 = in__.template read_constrain_lub, jacobian__>( @@ -29578,9 +27485,9 @@ class transform_model final : public model_base_crtp { current_statement__ = 11; check_matching_dims("constraint", "pv_1", pv_1, "upper", rvalue(dv, "dv", index_uni(1), index_uni(2))); - std::vector> pv_2; - pv_2 = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(pv_2, std::numeric_limits::quiet_NaN()); + std::vector> pv_2; + pv_2 = std::vector>(m, Eigen::Matrix(k)); + stan::math::fill(pv_2, DUMMY_VAR__); current_statement__ = 12; pv_2 = in__.template read_constrain_lb>, jacobian__>( @@ -29588,229 +27495,86 @@ class transform_model final : public model_base_crtp { current_statement__ = 12; check_matching_dims("constraint", "pv_2", pv_2, "lower", rvalue(dv, "dv", index_uni(1))); - std::vector>> pv_3; - pv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(pv_3, std::numeric_limits::quiet_NaN()); + std::vector>> pv_3; + pv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + stan::math::fill(pv_3, DUMMY_VAR__); current_statement__ = 13; pv_3 = in__.template read_constrain_ub>>, jacobian__>( dv, lp__, n, m, k); current_statement__ = 13; check_matching_dims("constraint", "pv_3", pv_3, "upper", dv); - Eigen::Matrix pr_1; - pr_1 = Eigen::Matrix(k); - stan::math::fill(pr_1, std::numeric_limits::quiet_NaN()); - - current_statement__ = 14; - pr_1 = in__.template read_constrain_lub, jacobian__>( - rvalue(dr, "dr", index_uni(1), index_uni(1)), - rvalue(dr, "dr", index_uni(1), index_uni(2)), lp__, k); - current_statement__ = 14; - check_matching_dims("constraint", "pr_1", pr_1, "lower", - rvalue(dr, "dr", index_uni(1), index_uni(1))); - current_statement__ = 14; - check_matching_dims("constraint", "pr_1", pr_1, "upper", - rvalue(dr, "dr", index_uni(1), index_uni(2))); - std::vector> pr_2; - pr_2 = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(pr_2, std::numeric_limits::quiet_NaN()); - - current_statement__ = 15; - pr_2 = in__.template read_constrain_lb>, jacobian__>( - rvalue(dr, "dr", index_uni(1)), lp__, m, k); - current_statement__ = 15; - check_matching_dims("constraint", "pr_2", pr_2, "lower", - rvalue(dr, "dr", index_uni(1))); - std::vector>> pr_3; - pr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(pr_3, std::numeric_limits::quiet_NaN()); - - current_statement__ = 16; - pr_3 = in__.template read_constrain_ub>>, jacobian__>( - dr, lp__, n, m, k); - current_statement__ = 16; - check_matching_dims("constraint", "pr_3", pr_3, "upper", dr); - Eigen::Matrix pm_1; - pm_1 = Eigen::Matrix(m, k); - stan::math::fill(pm_1, std::numeric_limits::quiet_NaN()); - - current_statement__ = 17; - pm_1 = in__.template read_constrain_lb, jacobian__>( - rvalue(dm, "dm", index_uni(1)), lp__, m, k); - current_statement__ = 17; - check_matching_dims("constraint", "pm_1", pm_1, "lower", - rvalue(dm, "dm", index_uni(1))); - std::vector> pm_2; - pm_2 = std::vector>(n, Eigen::Matrix(m, k)); - stan::math::fill(pm_2, std::numeric_limits::quiet_NaN()); - - current_statement__ = 18; - pm_2 = in__.template read_constrain_ub>, jacobian__>( - dm, lp__, n, m, k); - current_statement__ = 18; - check_matching_dims("constraint", "pm_2", pm_2, "upper", dm); - std::vector tp_1; - tp_1 = std::vector(k, std::numeric_limits::quiet_NaN()); - - std::vector tp_2; - tp_2 = std::vector(k, std::numeric_limits::quiet_NaN()); - - std::vector tp_3; - tp_3 = std::vector(k, std::numeric_limits::quiet_NaN()); - - std::vector tp_4; - tp_4 = std::vector(k, std::numeric_limits::quiet_NaN()); - - std::vector tp_5; - tp_5 = std::vector(k, std::numeric_limits::quiet_NaN()); - - std::vector tp_6; - tp_6 = std::vector(k, std::numeric_limits::quiet_NaN()); - - std::vector tp_7; - tp_7 = std::vector(k, std::numeric_limits::quiet_NaN()); - - std::vector tp_8; - tp_8 = std::vector(k, std::numeric_limits::quiet_NaN()); - - std::vector> tp_9; - tp_9 = std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN())); - - - std::vector>> tp_10; - tp_10 = std::vector>>(n, std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN()))); - - - Eigen::Matrix tpv_1; - tpv_1 = Eigen::Matrix(k); - stan::math::fill(tpv_1, std::numeric_limits::quiet_NaN()); - - std::vector> tpv_2; - tpv_2 = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(tpv_2, std::numeric_limits::quiet_NaN()); - - std::vector>> tpv_3; - tpv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(tpv_3, std::numeric_limits::quiet_NaN()); + Eigen::Matrix pr_1; + pr_1 = Eigen::Matrix(k); + stan::math::fill(pr_1, DUMMY_VAR__); - Eigen::Matrix tpr_1; - tpr_1 = Eigen::Matrix(k); - stan::math::fill(tpr_1, std::numeric_limits::quiet_NaN()); + current_statement__ = 14; + pr_1 = in__.template read_constrain_lub, jacobian__>( + rvalue(dr, "dr", index_uni(1), index_uni(1)), + rvalue(dr, "dr", index_uni(1), index_uni(2)), lp__, k); + current_statement__ = 14; + check_matching_dims("constraint", "pr_1", pr_1, "lower", + rvalue(dr, "dr", index_uni(1), index_uni(1))); + current_statement__ = 14; + check_matching_dims("constraint", "pr_1", pr_1, "upper", + rvalue(dr, "dr", index_uni(1), index_uni(2))); + std::vector> pr_2; + pr_2 = std::vector>(m, Eigen::Matrix(k)); + stan::math::fill(pr_2, DUMMY_VAR__); - std::vector> tpr_2; - tpr_2 = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(tpr_2, std::numeric_limits::quiet_NaN()); + current_statement__ = 15; + pr_2 = in__.template read_constrain_lb>, jacobian__>( + rvalue(dr, "dr", index_uni(1)), lp__, m, k); + current_statement__ = 15; + check_matching_dims("constraint", "pr_2", pr_2, "lower", + rvalue(dr, "dr", index_uni(1))); + std::vector>> pr_3; + pr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + stan::math::fill(pr_3, DUMMY_VAR__); - std::vector>> tpr_3; - tpr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(tpr_3, std::numeric_limits::quiet_NaN()); + current_statement__ = 16; + pr_3 = in__.template read_constrain_ub>>, jacobian__>( + dr, lp__, n, m, k); + current_statement__ = 16; + check_matching_dims("constraint", "pr_3", pr_3, "upper", dr); + Eigen::Matrix pm_1; + pm_1 = Eigen::Matrix(m, k); + stan::math::fill(pm_1, DUMMY_VAR__); - Eigen::Matrix tpm_1; - tpm_1 = Eigen::Matrix(m, k); - stan::math::fill(tpm_1, std::numeric_limits::quiet_NaN()); + current_statement__ = 17; + pm_1 = in__.template read_constrain_lb, jacobian__>( + rvalue(dm, "dm", index_uni(1)), lp__, m, k); + current_statement__ = 17; + check_matching_dims("constraint", "pm_1", pm_1, "lower", + rvalue(dm, "dm", index_uni(1))); + std::vector> pm_2; + pm_2 = std::vector>(n, Eigen::Matrix(m, k)); + stan::math::fill(pm_2, DUMMY_VAR__); - std::vector> tpm_2; - tpm_2 = std::vector>(n, Eigen::Matrix(m, k)); - stan::math::fill(tpm_2, std::numeric_limits::quiet_NaN()); + current_statement__ = 18; + pm_2 = in__.template read_constrain_ub>, jacobian__>( + dm, lp__, n, m, k); + current_statement__ = 18; + check_matching_dims("constraint", "pm_2", pm_2, "upper", dm); + std::vector tp_1; + tp_1 = std::vector(k, DUMMY_VAR__); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_2[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_3[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_4[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_5[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_6[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_7[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_8[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - vars__.emplace_back(p_9[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - vars__.emplace_back( - p_10[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(pv_1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - vars__.emplace_back(pv_2[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - vars__.emplace_back( - pv_3[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(pr_1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - vars__.emplace_back(pr_2[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - vars__.emplace_back( - pr_3[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - vars__.emplace_back( - rvalue(pm_1, "pm_1", index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - vars__.emplace_back( - rvalue(pm_2, "pm_2", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - if (logical_negation((primitive_value(emit_transformed_parameters__) || - primitive_value(emit_generated_quantities__)))) { - return ; - } current_statement__ = 19; assign(tp_1, p_1, "assigning variable tp_1"); current_statement__ = 19; check_matching_dims("constraint", "tp_1", tp_1, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); + std::vector tp_2; + tp_2 = std::vector(k, DUMMY_VAR__); + current_statement__ = 20; assign(tp_2, p_2, "assigning variable tp_2"); current_statement__ = 20; check_matching_dims("constraint", "tp_2", tp_2, "upper", rvalue(ds, "ds", index_uni(1), index_uni(1))); + std::vector tp_3; + tp_3 = std::vector(k, DUMMY_VAR__); + current_statement__ = 21; assign(tp_3, p_3, "assigning variable tp_3"); current_statement__ = 21; @@ -29819,26 +27583,41 @@ class transform_model final : public model_base_crtp { current_statement__ = 21; check_matching_dims("constraint", "tp_3", tp_3, "upper", rvalue(ds, "ds", index_uni(1), index_uni(2))); + std::vector tp_4; + tp_4 = std::vector(k, DUMMY_VAR__); + current_statement__ = 22; assign(tp_4, p_4, "assigning variable tp_4"); current_statement__ = 22; check_matching_dims("constraint", "tp_4", tp_4, "upper", rvalue(ds, "ds", index_uni(1), index_uni(2))); + std::vector tp_5; + tp_5 = std::vector(k, DUMMY_VAR__); + current_statement__ = 23; assign(tp_5, p_5, "assigning variable tp_5"); current_statement__ = 23; check_matching_dims("constraint", "tp_5", tp_5, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); + std::vector tp_6; + tp_6 = std::vector(k, DUMMY_VAR__); + current_statement__ = 24; assign(tp_6, p_6, "assigning variable tp_6"); current_statement__ = 24; check_matching_dims("constraint", "tp_6", tp_6, "offset", rvalue(ds, "ds", index_uni(1), index_uni(1))); + std::vector tp_7; + tp_7 = std::vector(k, DUMMY_VAR__); + current_statement__ = 25; assign(tp_7, p_7, "assigning variable tp_7"); current_statement__ = 25; check_matching_dims("constraint", "tp_7", tp_7, "multiplier", rvalue(ds, "ds", index_uni(1), index_uni(1))); + std::vector tp_8; + tp_8 = std::vector(k, DUMMY_VAR__); + current_statement__ = 26; assign(tp_8, p_8, "assigning variable tp_8"); current_statement__ = 26; @@ -29847,15 +27626,27 @@ class transform_model final : public model_base_crtp { current_statement__ = 26; check_matching_dims("constraint", "tp_8", tp_8, "multiplier", rvalue(ds, "ds", index_uni(1), index_uni(2))); + std::vector> tp_9; + tp_9 = std::vector>(m, std::vector(k, DUMMY_VAR__)); + + current_statement__ = 27; assign(tp_9, p_9, "assigning variable tp_9"); current_statement__ = 27; check_matching_dims("constraint", "tp_9", tp_9, "lower", rvalue(ds, "ds", index_uni(1))); + std::vector>> tp_10; + tp_10 = std::vector>>(n, std::vector>(m, std::vector(k, DUMMY_VAR__))); + + current_statement__ = 28; assign(tp_10, p_10, "assigning variable tp_10"); current_statement__ = 28; check_matching_dims("constraint", "tp_10", tp_10, "upper", ds); + Eigen::Matrix tpv_1; + tpv_1 = Eigen::Matrix(k); + stan::math::fill(tpv_1, DUMMY_VAR__); + current_statement__ = 29; assign(tpv_1, pv_1, "assigning variable tpv_1"); current_statement__ = 29; @@ -29864,15 +27655,27 @@ class transform_model final : public model_base_crtp { current_statement__ = 29; check_matching_dims("constraint", "tpv_1", tpv_1, "upper", rvalue(dv, "dv", index_uni(1), index_uni(2))); + std::vector> tpv_2; + tpv_2 = std::vector>(m, Eigen::Matrix(k)); + stan::math::fill(tpv_2, DUMMY_VAR__); + current_statement__ = 30; assign(tpv_2, pv_2, "assigning variable tpv_2"); current_statement__ = 30; check_matching_dims("constraint", "tpv_2", tpv_2, "lower", rvalue(dv, "dv", index_uni(1))); + std::vector>> tpv_3; + tpv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + stan::math::fill(tpv_3, DUMMY_VAR__); + current_statement__ = 31; assign(tpv_3, pv_3, "assigning variable tpv_3"); current_statement__ = 31; check_matching_dims("constraint", "tpv_3", tpv_3, "upper", dv); + Eigen::Matrix tpr_1; + tpr_1 = Eigen::Matrix(k); + stan::math::fill(tpr_1, DUMMY_VAR__); + current_statement__ = 32; assign(tpr_1, pr_1, "assigning variable tpr_1"); current_statement__ = 32; @@ -29881,20 +27684,36 @@ class transform_model final : public model_base_crtp { current_statement__ = 32; check_matching_dims("constraint", "tpr_1", tpr_1, "upper", rvalue(dr, "dr", index_uni(1), index_uni(2))); + std::vector> tpr_2; + tpr_2 = std::vector>(m, Eigen::Matrix(k)); + stan::math::fill(tpr_2, DUMMY_VAR__); + current_statement__ = 33; assign(tpr_2, pr_2, "assigning variable tpr_2"); current_statement__ = 33; check_matching_dims("constraint", "tpr_2", tpr_2, "lower", rvalue(dr, "dr", index_uni(1))); + std::vector>> tpr_3; + tpr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + stan::math::fill(tpr_3, DUMMY_VAR__); + current_statement__ = 34; assign(tpr_3, pr_3, "assigning variable tpr_3"); current_statement__ = 34; check_matching_dims("constraint", "tpr_3", tpr_3, "upper", dr); + Eigen::Matrix tpm_1; + tpm_1 = Eigen::Matrix(m, k); + stan::math::fill(tpm_1, DUMMY_VAR__); + current_statement__ = 35; assign(tpm_1, pm_1, "assigning variable tpm_1"); current_statement__ = 35; check_matching_dims("constraint", "tpm_1", tpm_1, "lower", rvalue(dm, "dm", index_uni(1))); + std::vector> tpm_2; + tpm_2 = std::vector>(n, Eigen::Matrix(m, k)); + stan::math::fill(tpm_2, DUMMY_VAR__); + current_statement__ = 36; assign(tpm_2, pm_2, "assigning variable tpm_2"); current_statement__ = 36; @@ -30109,819 +27928,857 @@ class transform_model final : public model_base_crtp { index_uni(sym3__)), rvalue(dm, "dm", index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__))); - } - } - } - if (emit_transformed_parameters__) { - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(tp_1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(tp_2[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(tp_3[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(tp_4[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(tp_5[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(tp_6[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(tp_7[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(tp_8[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - vars__.emplace_back(tp_9[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - vars__.emplace_back( - tp_10[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(tpv_1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - vars__.emplace_back(tpv_2[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - vars__.emplace_back( - tpv_3[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(tpr_1[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - vars__.emplace_back(tpr_2[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - vars__.emplace_back( - tpr_3[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - vars__.emplace_back( - rvalue(tpm_1, "tpm_1", index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - vars__.emplace_back( - rvalue(tpm_2, "tpm_2", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (logical_negation(emit_generated_quantities__)) { - return ; - } + index_uni(sym3__))); + } + } + } } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); } - } // write_array_impl() + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() - template * = nullptr, - stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, - std::ostream* pstream__ = nullptr) const { + template * = nullptr, + stan::require_vector_like_vt* = nullptr, + stan::require_std_vector_vt* = nullptr> + inline void write_array_impl(RNG& base_rng__, VecR& params_r__, + VecI& params_i__, VecVar& vars__, + const bool emit_transformed_parameters__ = true, + const bool emit_generated_quantities__ = true, + std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + static constexpr bool propto__ = true; + (void) propto__; + double lp__ = 0.0; + (void) lp__; // dummy to suppress unused var warning int current_statement__ = 0; + stan::math::accumulator lp_accum__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + constexpr bool jacobian__ = false; + (void) DUMMY_VAR__; // suppress unused var warning + static constexpr const char* function__ = "transform_model_namespace::write_array"; + (void) function__; // suppress unused var warning try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; std::vector p_1; p_1 = std::vector(k, std::numeric_limits::quiet_NaN()); - current_statement__ = 1; - p_1 = context__.vals_r("p_1"); - current_statement__ = 1; - check_matching_dims("constraint", "p_1", p_1, "lower", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_1_free__; - p_1_free__ = std::vector(k, std::numeric_limits::quiet_NaN()); + current_statement__ = 1; + p_1 = in__.template read_constrain_lb, jacobian__>( + rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); + current_statement__ = 1; + check_matching_dims("constraint", "p_1", p_1, "lower", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + std::vector p_2; + p_2 = std::vector(k, std::numeric_limits::quiet_NaN()); + + current_statement__ = 2; + p_2 = in__.template read_constrain_ub, jacobian__>( + rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); + current_statement__ = 2; + check_matching_dims("constraint", "p_2", p_2, "upper", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + std::vector p_3; + p_3 = std::vector(k, std::numeric_limits::quiet_NaN()); + + current_statement__ = 3; + p_3 = in__.template read_constrain_lub, jacobian__>( + rvalue(ds, "ds", index_uni(1), index_uni(1)), + rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); + current_statement__ = 3; + check_matching_dims("constraint", "p_3", p_3, "lower", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + current_statement__ = 3; + check_matching_dims("constraint", "p_3", p_3, "upper", + rvalue(ds, "ds", index_uni(1), index_uni(2))); + std::vector p_4; + p_4 = std::vector(k, std::numeric_limits::quiet_NaN()); + + current_statement__ = 4; + p_4 = in__.template read_constrain_lub, jacobian__>( + 0, rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); + current_statement__ = 4; + check_matching_dims("constraint", "p_4", p_4, "upper", + rvalue(ds, "ds", index_uni(1), index_uni(2))); + std::vector p_5; + p_5 = std::vector(k, std::numeric_limits::quiet_NaN()); + + current_statement__ = 5; + p_5 = in__.template read_constrain_lub, jacobian__>( + rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__, k); + current_statement__ = 5; + check_matching_dims("constraint", "p_5", p_5, "lower", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + std::vector p_6; + p_6 = std::vector(k, std::numeric_limits::quiet_NaN()); + + current_statement__ = 6; + p_6 = in__.template read_constrain_offset_multiplier, jacobian__>( + rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, lp__, k); + current_statement__ = 6; + check_matching_dims("constraint", "p_6", p_6, "offset", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + std::vector p_7; + p_7 = std::vector(k, std::numeric_limits::quiet_NaN()); + + current_statement__ = 7; + p_7 = in__.template read_constrain_offset_multiplier, jacobian__>( + 0, rvalue(ds, "ds", index_uni(1), index_uni(1)), lp__, k); + current_statement__ = 7; + check_matching_dims("constraint", "p_7", p_7, "multiplier", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + std::vector p_8; + p_8 = std::vector(k, std::numeric_limits::quiet_NaN()); + + current_statement__ = 8; + p_8 = in__.template read_constrain_offset_multiplier, jacobian__>( + rvalue(ds, "ds", index_uni(1), index_uni(1)), + rvalue(ds, "ds", index_uni(1), index_uni(2)), lp__, k); + current_statement__ = 8; + check_matching_dims("constraint", "p_8", p_8, "offset", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + current_statement__ = 8; + check_matching_dims("constraint", "p_8", p_8, "multiplier", + rvalue(ds, "ds", index_uni(1), index_uni(2))); + std::vector> p_9; + p_9 = std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN())); + + + current_statement__ = 9; + p_9 = in__.template read_constrain_lub>, jacobian__>( + rvalue(ds, "ds", index_uni(1)), 1, lp__, m, k); + current_statement__ = 9; + check_matching_dims("constraint", "p_9", p_9, "lower", + rvalue(ds, "ds", index_uni(1))); + std::vector>> p_10; + p_10 = std::vector>>(n, std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN()))); + + + current_statement__ = 10; + p_10 = in__.template read_constrain_lub>>, jacobian__>( + 0, ds, lp__, n, m, k); + current_statement__ = 10; + check_matching_dims("constraint", "p_10", p_10, "upper", ds); + Eigen::Matrix pv_1; + pv_1 = Eigen::Matrix(k); + stan::math::fill(pv_1, std::numeric_limits::quiet_NaN()); + + current_statement__ = 11; + pv_1 = in__.template read_constrain_lub, jacobian__>( + rvalue(dv, "dv", index_uni(1), index_uni(1)), + rvalue(dv, "dv", index_uni(1), index_uni(2)), lp__, k); + current_statement__ = 11; + check_matching_dims("constraint", "pv_1", pv_1, "lower", + rvalue(dv, "dv", index_uni(1), index_uni(1))); + current_statement__ = 11; + check_matching_dims("constraint", "pv_1", pv_1, "upper", + rvalue(dv, "dv", index_uni(1), index_uni(2))); + std::vector> pv_2; + pv_2 = std::vector>(m, Eigen::Matrix(k)); + stan::math::fill(pv_2, std::numeric_limits::quiet_NaN()); + + current_statement__ = 12; + pv_2 = in__.template read_constrain_lb>, jacobian__>( + rvalue(dv, "dv", index_uni(1)), lp__, m, k); + current_statement__ = 12; + check_matching_dims("constraint", "pv_2", pv_2, "lower", + rvalue(dv, "dv", index_uni(1))); + std::vector>> pv_3; + pv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + stan::math::fill(pv_3, std::numeric_limits::quiet_NaN()); + + current_statement__ = 13; + pv_3 = in__.template read_constrain_ub>>, jacobian__>( + dv, lp__, n, m, k); + current_statement__ = 13; + check_matching_dims("constraint", "pv_3", pv_3, "upper", dv); + Eigen::Matrix pr_1; + pr_1 = Eigen::Matrix(k); + stan::math::fill(pr_1, std::numeric_limits::quiet_NaN()); + + current_statement__ = 14; + pr_1 = in__.template read_constrain_lub, jacobian__>( + rvalue(dr, "dr", index_uni(1), index_uni(1)), + rvalue(dr, "dr", index_uni(1), index_uni(2)), lp__, k); + current_statement__ = 14; + check_matching_dims("constraint", "pr_1", pr_1, "lower", + rvalue(dr, "dr", index_uni(1), index_uni(1))); + current_statement__ = 14; + check_matching_dims("constraint", "pr_1", pr_1, "upper", + rvalue(dr, "dr", index_uni(1), index_uni(2))); + std::vector> pr_2; + pr_2 = std::vector>(m, Eigen::Matrix(k)); + stan::math::fill(pr_2, std::numeric_limits::quiet_NaN()); + + current_statement__ = 15; + pr_2 = in__.template read_constrain_lb>, jacobian__>( + rvalue(dr, "dr", index_uni(1)), lp__, m, k); + current_statement__ = 15; + check_matching_dims("constraint", "pr_2", pr_2, "lower", + rvalue(dr, "dr", index_uni(1))); + std::vector>> pr_3; + pr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + stan::math::fill(pr_3, std::numeric_limits::quiet_NaN()); + + current_statement__ = 16; + pr_3 = in__.template read_constrain_ub>>, jacobian__>( + dr, lp__, n, m, k); + current_statement__ = 16; + check_matching_dims("constraint", "pr_3", pr_3, "upper", dr); + Eigen::Matrix pm_1; + pm_1 = Eigen::Matrix(m, k); + stan::math::fill(pm_1, std::numeric_limits::quiet_NaN()); + + current_statement__ = 17; + pm_1 = in__.template read_constrain_lb, jacobian__>( + rvalue(dm, "dm", index_uni(1)), lp__, m, k); + current_statement__ = 17; + check_matching_dims("constraint", "pm_1", pm_1, "lower", + rvalue(dm, "dm", index_uni(1))); + std::vector> pm_2; + pm_2 = std::vector>(n, Eigen::Matrix(m, k)); + stan::math::fill(pm_2, std::numeric_limits::quiet_NaN()); + + current_statement__ = 18; + pm_2 = in__.template read_constrain_ub>, jacobian__>( + dm, lp__, n, m, k); + current_statement__ = 18; + check_matching_dims("constraint", "pm_2", pm_2, "upper", dm); + std::vector tp_1; + tp_1 = std::vector(k, std::numeric_limits::quiet_NaN()); + + std::vector tp_2; + tp_2 = std::vector(k, std::numeric_limits::quiet_NaN()); + + std::vector tp_3; + tp_3 = std::vector(k, std::numeric_limits::quiet_NaN()); + + std::vector tp_4; + tp_4 = std::vector(k, std::numeric_limits::quiet_NaN()); + + std::vector tp_5; + tp_5 = std::vector(k, std::numeric_limits::quiet_NaN()); + + std::vector tp_6; + tp_6 = std::vector(k, std::numeric_limits::quiet_NaN()); + + std::vector tp_7; + tp_7 = std::vector(k, std::numeric_limits::quiet_NaN()); + + std::vector tp_8; + tp_8 = std::vector(k, std::numeric_limits::quiet_NaN()); + + std::vector> tp_9; + tp_9 = std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN())); + + + std::vector>> tp_10; + tp_10 = std::vector>>(n, std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN()))); + + + Eigen::Matrix tpv_1; + tpv_1 = Eigen::Matrix(k); + stan::math::fill(tpv_1, std::numeric_limits::quiet_NaN()); + + std::vector> tpv_2; + tpv_2 = std::vector>(m, Eigen::Matrix(k)); + stan::math::fill(tpv_2, std::numeric_limits::quiet_NaN()); + + std::vector>> tpv_3; + tpv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + stan::math::fill(tpv_3, std::numeric_limits::quiet_NaN()); + Eigen::Matrix tpr_1; + tpr_1 = Eigen::Matrix(k); + stan::math::fill(tpr_1, std::numeric_limits::quiet_NaN()); - current_statement__ = 1; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 1; - assign(p_1_free__, - stan::math::lb_free(p_1[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(1))[(sym1__ - 1)]), - "assigning variable p_1_free__", index_uni(sym1__)); - } - std::vector p_2; - p_2 = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector> tpr_2; + tpr_2 = std::vector>(m, Eigen::Matrix(k)); + stan::math::fill(tpr_2, std::numeric_limits::quiet_NaN()); - current_statement__ = 2; - p_2 = context__.vals_r("p_2"); - current_statement__ = 2; - check_matching_dims("constraint", "p_2", p_2, "upper", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_2_free__; - p_2_free__ = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector>> tpr_3; + tpr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + stan::math::fill(tpr_3, std::numeric_limits::quiet_NaN()); + Eigen::Matrix tpm_1; + tpm_1 = Eigen::Matrix(m, k); + stan::math::fill(tpm_1, std::numeric_limits::quiet_NaN()); - current_statement__ = 2; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 2; - assign(p_2_free__, - stan::math::ub_free(p_2[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(1))[(sym1__ - 1)]), - "assigning variable p_2_free__", index_uni(sym1__)); - } - std::vector p_3; - p_3 = std::vector(k, std::numeric_limits::quiet_NaN()); + std::vector> tpm_2; + tpm_2 = std::vector>(n, Eigen::Matrix(m, k)); + stan::math::fill(tpm_2, std::numeric_limits::quiet_NaN()); - current_statement__ = 3; - p_3 = context__.vals_r("p_3"); - current_statement__ = 3; - check_matching_dims("constraint", "p_3", p_3, "lower", + out__.write(p_1); + out__.write(p_2); + out__.write(p_3); + out__.write(p_4); + out__.write(p_5); + out__.write(p_6); + out__.write(p_7); + out__.write(p_8); + out__.write(p_9); + out__.write(p_10); + out__.write(pv_1); + out__.write(pv_2); + out__.write(pv_3); + out__.write(pr_1); + out__.write(pr_2); + out__.write(pr_3); + out__.write(pm_1); + out__.write(pm_2); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + current_statement__ = 19; + assign(tp_1, p_1, "assigning variable tp_1"); + current_statement__ = 19; + check_matching_dims("constraint", "tp_1", tp_1, "lower", rvalue(ds, "ds", index_uni(1), index_uni(1))); - current_statement__ = 3; - check_matching_dims("constraint", "p_3", p_3, "upper", + current_statement__ = 20; + assign(tp_2, p_2, "assigning variable tp_2"); + current_statement__ = 20; + check_matching_dims("constraint", "tp_2", tp_2, "upper", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + current_statement__ = 21; + assign(tp_3, p_3, "assigning variable tp_3"); + current_statement__ = 21; + check_matching_dims("constraint", "tp_3", tp_3, "lower", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + current_statement__ = 21; + check_matching_dims("constraint", "tp_3", tp_3, "upper", rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector p_3_free__; - p_3_free__ = std::vector(k, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 3; + current_statement__ = 22; + assign(tp_4, p_4, "assigning variable tp_4"); + current_statement__ = 22; + check_matching_dims("constraint", "tp_4", tp_4, "upper", + rvalue(ds, "ds", index_uni(1), index_uni(2))); + current_statement__ = 23; + assign(tp_5, p_5, "assigning variable tp_5"); + current_statement__ = 23; + check_matching_dims("constraint", "tp_5", tp_5, "lower", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + current_statement__ = 24; + assign(tp_6, p_6, "assigning variable tp_6"); + current_statement__ = 24; + check_matching_dims("constraint", "tp_6", tp_6, "offset", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + current_statement__ = 25; + assign(tp_7, p_7, "assigning variable tp_7"); + current_statement__ = 25; + check_matching_dims("constraint", "tp_7", tp_7, "multiplier", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + current_statement__ = 26; + assign(tp_8, p_8, "assigning variable tp_8"); + current_statement__ = 26; + check_matching_dims("constraint", "tp_8", tp_8, "offset", + rvalue(ds, "ds", index_uni(1), index_uni(1))); + current_statement__ = 26; + check_matching_dims("constraint", "tp_8", tp_8, "multiplier", + rvalue(ds, "ds", index_uni(1), index_uni(2))); + current_statement__ = 27; + assign(tp_9, p_9, "assigning variable tp_9"); + current_statement__ = 27; + check_matching_dims("constraint", "tp_9", tp_9, "lower", + rvalue(ds, "ds", index_uni(1))); + current_statement__ = 28; + assign(tp_10, p_10, "assigning variable tp_10"); + current_statement__ = 28; + check_matching_dims("constraint", "tp_10", tp_10, "upper", ds); + current_statement__ = 29; + assign(tpv_1, pv_1, "assigning variable tpv_1"); + current_statement__ = 29; + check_matching_dims("constraint", "tpv_1", tpv_1, "lower", + rvalue(dv, "dv", index_uni(1), index_uni(1))); + current_statement__ = 29; + check_matching_dims("constraint", "tpv_1", tpv_1, "upper", + rvalue(dv, "dv", index_uni(1), index_uni(2))); + current_statement__ = 30; + assign(tpv_2, pv_2, "assigning variable tpv_2"); + current_statement__ = 30; + check_matching_dims("constraint", "tpv_2", tpv_2, "lower", + rvalue(dv, "dv", index_uni(1))); + current_statement__ = 31; + assign(tpv_3, pv_3, "assigning variable tpv_3"); + current_statement__ = 31; + check_matching_dims("constraint", "tpv_3", tpv_3, "upper", dv); + current_statement__ = 32; + assign(tpr_1, pr_1, "assigning variable tpr_1"); + current_statement__ = 32; + check_matching_dims("constraint", "tpr_1", tpr_1, "lower", + rvalue(dr, "dr", index_uni(1), index_uni(1))); + current_statement__ = 32; + check_matching_dims("constraint", "tpr_1", tpr_1, "upper", + rvalue(dr, "dr", index_uni(1), index_uni(2))); + current_statement__ = 33; + assign(tpr_2, pr_2, "assigning variable tpr_2"); + current_statement__ = 33; + check_matching_dims("constraint", "tpr_2", tpr_2, "lower", + rvalue(dr, "dr", index_uni(1))); + current_statement__ = 34; + assign(tpr_3, pr_3, "assigning variable tpr_3"); + current_statement__ = 34; + check_matching_dims("constraint", "tpr_3", tpr_3, "upper", dr); + current_statement__ = 35; + assign(tpm_1, pm_1, "assigning variable tpm_1"); + current_statement__ = 35; + check_matching_dims("constraint", "tpm_1", tpm_1, "lower", + rvalue(dm, "dm", index_uni(1))); + current_statement__ = 36; + assign(tpm_2, pm_2, "assigning variable tpm_2"); + current_statement__ = 36; + check_matching_dims("constraint", "tpm_2", tpm_2, "upper", dm); + current_statement__ = 19; for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 3; - assign(p_3_free__, - stan::math::lub_free(p_3[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(1))[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(2))[(sym1__ - 1)]), - "assigning variable p_3_free__", index_uni(sym1__)); + current_statement__ = 19; + check_greater_or_equal(function__, "tp_1[sym1__]", + tp_1[(sym1__ - 1)], + rvalue(ds, "ds", index_uni(1), index_uni(1))[ + (sym1__ - 1)]); } - std::vector p_4; - p_4 = std::vector(k, std::numeric_limits::quiet_NaN()); - - current_statement__ = 4; - p_4 = context__.vals_r("p_4"); - current_statement__ = 4; - check_matching_dims("constraint", "p_4", p_4, "upper", - rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector p_4_free__; - p_4_free__ = std::vector(k, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 4; + current_statement__ = 20; for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 4; - assign(p_4_free__, - stan::math::lub_free(p_4[(sym1__ - 1)], 0, - rvalue(ds, "ds", index_uni(1), index_uni(2))[(sym1__ - 1)]), - "assigning variable p_4_free__", index_uni(sym1__)); + current_statement__ = 20; + check_less_or_equal(function__, "tp_2[sym1__]", tp_2[(sym1__ - 1)], + rvalue(ds, "ds", index_uni(1), index_uni(1))[ + (sym1__ - 1)]); } - std::vector p_5; - p_5 = std::vector(k, std::numeric_limits::quiet_NaN()); - - current_statement__ = 5; - p_5 = context__.vals_r("p_5"); - current_statement__ = 5; - check_matching_dims("constraint", "p_5", p_5, "lower", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_5_free__; - p_5_free__ = std::vector(k, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 5; + current_statement__ = 21; for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 5; - assign(p_5_free__, - stan::math::lub_free(p_5[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(1))[(sym1__ - 1)], 1), - "assigning variable p_5_free__", index_uni(sym1__)); + current_statement__ = 21; + check_greater_or_equal(function__, "tp_3[sym1__]", + tp_3[(sym1__ - 1)], + rvalue(ds, "ds", index_uni(1), index_uni(1))[ + (sym1__ - 1)]); } - std::vector p_6; - p_6 = std::vector(k, std::numeric_limits::quiet_NaN()); - - current_statement__ = 6; - p_6 = context__.vals_r("p_6"); - current_statement__ = 6; - check_matching_dims("constraint", "p_6", p_6, "offset", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_6_free__; - p_6_free__ = std::vector(k, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 6; + current_statement__ = 21; for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 6; - assign(p_6_free__, - stan::math::offset_multiplier_free(p_6[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(1))[(sym1__ - 1)], 1), - "assigning variable p_6_free__", index_uni(sym1__)); + current_statement__ = 21; + check_less_or_equal(function__, "tp_3[sym1__]", tp_3[(sym1__ - 1)], + rvalue(ds, "ds", index_uni(1), index_uni(2))[ + (sym1__ - 1)]); } - std::vector p_7; - p_7 = std::vector(k, std::numeric_limits::quiet_NaN()); - - current_statement__ = 7; - p_7 = context__.vals_r("p_7"); - current_statement__ = 7; - check_matching_dims("constraint", "p_7", p_7, "multiplier", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - std::vector p_7_free__; - p_7_free__ = std::vector(k, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 7; + current_statement__ = 22; for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 7; - assign(p_7_free__, - stan::math::offset_multiplier_free(p_7[(sym1__ - 1)], 0, - rvalue(ds, "ds", index_uni(1), index_uni(1))[(sym1__ - 1)]), - "assigning variable p_7_free__", index_uni(sym1__)); + current_statement__ = 22; + check_greater_or_equal(function__, "tp_4[sym1__]", + tp_4[(sym1__ - 1)], 0); } - std::vector p_8; - p_8 = std::vector(k, std::numeric_limits::quiet_NaN()); - - current_statement__ = 8; - p_8 = context__.vals_r("p_8"); - current_statement__ = 8; - check_matching_dims("constraint", "p_8", p_8, "offset", - rvalue(ds, "ds", index_uni(1), index_uni(1))); - current_statement__ = 8; - check_matching_dims("constraint", "p_8", p_8, "multiplier", - rvalue(ds, "ds", index_uni(1), index_uni(2))); - std::vector p_8_free__; - p_8_free__ = std::vector(k, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 8; + current_statement__ = 22; for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 8; - assign(p_8_free__, - stan::math::offset_multiplier_free(p_8[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(1))[(sym1__ - 1)], - rvalue(ds, "ds", index_uni(1), index_uni(2))[(sym1__ - 1)]), - "assigning variable p_8_free__", index_uni(sym1__)); + current_statement__ = 22; + check_less_or_equal(function__, "tp_4[sym1__]", tp_4[(sym1__ - 1)], + rvalue(ds, "ds", index_uni(1), index_uni(2))[ + (sym1__ - 1)]); } - std::vector> p_9; - p_9 = std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN())); - - - { - std::vector p_9_flat__; - current_statement__ = 9; - p_9_flat__ = context__.vals_r("p_9"); - current_statement__ = 9; - pos__ = 1; - current_statement__ = 9; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 9; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 9; - assign(p_9, p_9_flat__[(pos__ - 1)], - "assigning variable p_9", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 9; - pos__ = (pos__ + 1); - } - } + current_statement__ = 23; + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + current_statement__ = 23; + check_greater_or_equal(function__, "tp_5[sym1__]", + tp_5[(sym1__ - 1)], + rvalue(ds, "ds", index_uni(1), index_uni(1))[ + (sym1__ - 1)]); } - current_statement__ = 9; - check_matching_dims("constraint", "p_9", p_9, "lower", - rvalue(ds, "ds", index_uni(1))); - std::vector> p_9_free__; - p_9_free__ = std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN())); - - - current_statement__ = 9; + current_statement__ = 23; + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + current_statement__ = 23; + check_less_or_equal(function__, "tp_5[sym1__]", tp_5[(sym1__ - 1)], 1); + } + current_statement__ = 27; for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - current_statement__ = 9; + current_statement__ = 27; for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - current_statement__ = 9; - assign(p_9_free__, - stan::math::lub_free(p_9[(sym1__ - 1)][(sym2__ - 1)], - rvalue(ds, "ds", index_uni(1))[(sym1__ - 1)][(sym2__ - 1)], 1), - "assigning variable p_9_free__", index_uni(sym1__), - index_uni(sym2__)); + current_statement__ = 27; + check_greater_or_equal(function__, "tp_9[sym1__, sym2__]", + tp_9[(sym1__ - 1)][(sym2__ - 1)], + rvalue(ds, "ds", index_uni(1))[(sym1__ - 1)][ + (sym2__ - 1)]); } } - std::vector>> p_10; - p_10 = std::vector>>(n, std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN()))); - - - { - std::vector p_10_flat__; - current_statement__ = 10; - p_10_flat__ = context__.vals_r("p_10"); - current_statement__ = 10; - pos__ = 1; - current_statement__ = 10; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 10; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 10; - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - current_statement__ = 10; - assign(p_10, p_10_flat__[(pos__ - 1)], - "assigning variable p_10", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 10; - pos__ = (pos__ + 1); - } - } + current_statement__ = 27; + for (int sym1__ = 1; sym1__ <= m; ++sym1__) { + current_statement__ = 27; + for (int sym2__ = 1; sym2__ <= k; ++sym2__) { + current_statement__ = 27; + check_less_or_equal(function__, "tp_9[sym1__, sym2__]", + tp_9[(sym1__ - 1)][(sym2__ - 1)], 1); } } - current_statement__ = 10; - check_matching_dims("constraint", "p_10", p_10, "upper", ds); - std::vector>> p_10_free__; - p_10_free__ = std::vector>>(n, std::vector>(m, std::vector(k, std::numeric_limits::quiet_NaN()))); - - - current_statement__ = 10; + current_statement__ = 28; for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 10; + current_statement__ = 28; for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 10; + current_statement__ = 28; for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - current_statement__ = 10; - assign(p_10_free__, - stan::math::lub_free( - p_10[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)], 0, - ds[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]), - "assigning variable p_10_free__", index_uni(sym1__), - index_uni(sym2__), - index_uni(sym3__)); + current_statement__ = 28; + check_greater_or_equal(function__, + "tp_10[sym1__, sym2__, sym3__]", + tp_10[(sym1__ - 1)][(sym2__ - 1)][ + (sym3__ - 1)], 0); } } } - Eigen::Matrix pv_1; - pv_1 = Eigen::Matrix(k); - stan::math::fill(pv_1, std::numeric_limits::quiet_NaN()); - - { - std::vector pv_1_flat__; - current_statement__ = 11; - pv_1_flat__ = context__.vals_r("pv_1"); - current_statement__ = 11; - pos__ = 1; - current_statement__ = 11; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 11; - assign(pv_1, pv_1_flat__[(pos__ - 1)], - "assigning variable pv_1", index_uni(sym1__)); - current_statement__ = 11; - pos__ = (pos__ + 1); + current_statement__ = 28; + for (int sym1__ = 1; sym1__ <= n; ++sym1__) { + current_statement__ = 28; + for (int sym2__ = 1; sym2__ <= m; ++sym2__) { + current_statement__ = 28; + for (int sym3__ = 1; sym3__ <= k; ++sym3__) { + current_statement__ = 28; + check_less_or_equal(function__, "tp_10[sym1__, sym2__, sym3__]", + tp_10[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - + 1)], + ds[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + } } } - current_statement__ = 11; - check_matching_dims("constraint", "pv_1", pv_1, "lower", - rvalue(dv, "dv", index_uni(1), index_uni(1))); - current_statement__ = 11; - check_matching_dims("constraint", "pv_1", pv_1, "upper", - rvalue(dv, "dv", index_uni(1), index_uni(2))); - Eigen::Matrix pv_1_free__; - pv_1_free__ = Eigen::Matrix(k); - stan::math::fill(pv_1_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 11; + current_statement__ = 29; for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 11; - assign(pv_1_free__, - stan::math::lub_free(pv_1[(sym1__ - 1)], - rvalue(dv, "dv", index_uni(1), index_uni(1))[(sym1__ - 1)], - rvalue(dv, "dv", index_uni(1), index_uni(2))[(sym1__ - 1)]), - "assigning variable pv_1_free__", index_uni(sym1__)); + current_statement__ = 29; + check_greater_or_equal(function__, "tpv_1[sym1__]", + tpv_1[(sym1__ - 1)], + rvalue(dv, "dv", index_uni(1), index_uni(1))[ + (sym1__ - 1)]); } - std::vector> pv_2; - pv_2 = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(pv_2, std::numeric_limits::quiet_NaN()); - - { - std::vector pv_2_flat__; - current_statement__ = 12; - pv_2_flat__ = context__.vals_r("pv_2"); - current_statement__ = 12; - pos__ = 1; - current_statement__ = 12; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 12; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 12; - assign(pv_2, pv_2_flat__[(pos__ - 1)], - "assigning variable pv_2", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 12; - pos__ = (pos__ + 1); - } - } + current_statement__ = 29; + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + current_statement__ = 29; + check_less_or_equal(function__, "tpv_1[sym1__]", tpv_1[(sym1__ - 1)], + rvalue(dv, "dv", index_uni(1), index_uni(2))[ + (sym1__ - 1)]); } - current_statement__ = 12; - check_matching_dims("constraint", "pv_2", pv_2, "lower", - rvalue(dv, "dv", index_uni(1))); - std::vector> pv_2_free__; - pv_2_free__ = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(pv_2_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 12; + current_statement__ = 30; for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - current_statement__ = 12; + current_statement__ = 30; for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - current_statement__ = 12; - assign(pv_2_free__, - stan::math::lb_free(pv_2[(sym1__ - 1)][(sym2__ - 1)], - rvalue(dv, "dv", index_uni(1))[(sym1__ - 1)][(sym2__ - 1)]), - "assigning variable pv_2_free__", index_uni(sym1__), - index_uni(sym2__)); - } - } - std::vector>> pv_3; - pv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(pv_3, std::numeric_limits::quiet_NaN()); - - { - std::vector pv_3_flat__; - current_statement__ = 13; - pv_3_flat__ = context__.vals_r("pv_3"); - current_statement__ = 13; - pos__ = 1; - current_statement__ = 13; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 13; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 13; - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - current_statement__ = 13; - assign(pv_3, pv_3_flat__[(pos__ - 1)], - "assigning variable pv_3", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 13; - pos__ = (pos__ + 1); - } - } + current_statement__ = 30; + check_greater_or_equal(function__, "tpv_2[sym1__, sym2__]", + tpv_2[(sym1__ - 1)][(sym2__ - 1)], + rvalue(dv, "dv", index_uni(1))[(sym1__ - 1)][ + (sym2__ - 1)]); } } - current_statement__ = 13; - check_matching_dims("constraint", "pv_3", pv_3, "upper", dv); - std::vector>> pv_3_free__; - pv_3_free__ = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(pv_3_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 13; + current_statement__ = 31; for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 13; + current_statement__ = 31; for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 13; + current_statement__ = 31; for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - current_statement__ = 13; - assign(pv_3_free__, - stan::math::ub_free( - pv_3[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)], - dv[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]), - "assigning variable pv_3_free__", index_uni(sym1__), - index_uni(sym2__), - index_uni(sym3__)); + current_statement__ = 31; + check_less_or_equal(function__, "tpv_3[sym1__, sym2__, sym3__]", + tpv_3[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - + 1)], + dv[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); } } } - Eigen::Matrix pr_1; - pr_1 = Eigen::Matrix(k); - stan::math::fill(pr_1, std::numeric_limits::quiet_NaN()); - - { - std::vector pr_1_flat__; - current_statement__ = 14; - pr_1_flat__ = context__.vals_r("pr_1"); - current_statement__ = 14; - pos__ = 1; - current_statement__ = 14; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 14; - assign(pr_1, pr_1_flat__[(pos__ - 1)], - "assigning variable pr_1", index_uni(sym1__)); - current_statement__ = 14; - pos__ = (pos__ + 1); - } - } - current_statement__ = 14; - check_matching_dims("constraint", "pr_1", pr_1, "lower", - rvalue(dr, "dr", index_uni(1), index_uni(1))); - current_statement__ = 14; - check_matching_dims("constraint", "pr_1", pr_1, "upper", - rvalue(dr, "dr", index_uni(1), index_uni(2))); - Eigen::Matrix pr_1_free__; - pr_1_free__ = Eigen::Matrix(k); - stan::math::fill(pr_1_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 14; + current_statement__ = 32; for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 14; - assign(pr_1_free__, - stan::math::lub_free(pr_1[(sym1__ - 1)], - rvalue(dr, "dr", index_uni(1), index_uni(1))[(sym1__ - 1)], - rvalue(dr, "dr", index_uni(1), index_uni(2))[(sym1__ - 1)]), - "assigning variable pr_1_free__", index_uni(sym1__)); + current_statement__ = 32; + check_greater_or_equal(function__, "tpr_1[sym1__]", + tpr_1[(sym1__ - 1)], + rvalue(dr, "dr", index_uni(1), index_uni(1))[ + (sym1__ - 1)]); } - std::vector> pr_2; - pr_2 = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(pr_2, std::numeric_limits::quiet_NaN()); - - { - std::vector pr_2_flat__; - current_statement__ = 15; - pr_2_flat__ = context__.vals_r("pr_2"); - current_statement__ = 15; - pos__ = 1; - current_statement__ = 15; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 15; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 15; - assign(pr_2, pr_2_flat__[(pos__ - 1)], - "assigning variable pr_2", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 15; - pos__ = (pos__ + 1); - } - } + current_statement__ = 32; + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + current_statement__ = 32; + check_less_or_equal(function__, "tpr_1[sym1__]", tpr_1[(sym1__ - 1)], + rvalue(dr, "dr", index_uni(1), index_uni(2))[ + (sym1__ - 1)]); } - current_statement__ = 15; - check_matching_dims("constraint", "pr_2", pr_2, "lower", - rvalue(dr, "dr", index_uni(1))); - std::vector> pr_2_free__; - pr_2_free__ = std::vector>(m, Eigen::Matrix(k)); - stan::math::fill(pr_2_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 15; + current_statement__ = 33; for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - current_statement__ = 15; + current_statement__ = 33; for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - current_statement__ = 15; - assign(pr_2_free__, - stan::math::lb_free(pr_2[(sym1__ - 1)][(sym2__ - 1)], - rvalue(dr, "dr", index_uni(1))[(sym1__ - 1)][(sym2__ - 1)]), - "assigning variable pr_2_free__", index_uni(sym1__), - index_uni(sym2__)); - } - } - std::vector>> pr_3; - pr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(pr_3, std::numeric_limits::quiet_NaN()); - - { - std::vector pr_3_flat__; - current_statement__ = 16; - pr_3_flat__ = context__.vals_r("pr_3"); - current_statement__ = 16; - pos__ = 1; - current_statement__ = 16; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 16; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 16; - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - current_statement__ = 16; - assign(pr_3, pr_3_flat__[(pos__ - 1)], - "assigning variable pr_3", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 16; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 16; - check_matching_dims("constraint", "pr_3", pr_3, "upper", dr); - std::vector>> pr_3_free__; - pr_3_free__ = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); - stan::math::fill(pr_3_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 16; + current_statement__ = 33; + check_greater_or_equal(function__, "tpr_2[sym1__, sym2__]", + tpr_2[(sym1__ - 1)][(sym2__ - 1)], + rvalue(dr, "dr", index_uni(1))[(sym1__ - 1)][ + (sym2__ - 1)]); + } + } + current_statement__ = 34; for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 16; + current_statement__ = 34; for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 16; + current_statement__ = 34; for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - current_statement__ = 16; - assign(pr_3_free__, - stan::math::ub_free( - pr_3[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)], - dr[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]), - "assigning variable pr_3_free__", index_uni(sym1__), - index_uni(sym2__), - index_uni(sym3__)); - } - } - } - Eigen::Matrix pm_1; - pm_1 = Eigen::Matrix(m, k); - stan::math::fill(pm_1, std::numeric_limits::quiet_NaN()); - - { - std::vector pm_1_flat__; - current_statement__ = 17; - pm_1_flat__ = context__.vals_r("pm_1"); - current_statement__ = 17; - pos__ = 1; - current_statement__ = 17; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 17; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 17; - assign(pm_1, pm_1_flat__[(pos__ - 1)], - "assigning variable pm_1", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 17; - pos__ = (pos__ + 1); + current_statement__ = 34; + check_less_or_equal(function__, "tpr_3[sym1__, sym2__, sym3__]", + tpr_3[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - + 1)], + dr[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); } } } - current_statement__ = 17; - check_matching_dims("constraint", "pm_1", pm_1, "lower", - rvalue(dm, "dm", index_uni(1))); - Eigen::Matrix pm_1_free__; - pm_1_free__ = Eigen::Matrix(m, k); - stan::math::fill(pm_1_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 17; + current_statement__ = 35; for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - current_statement__ = 17; + current_statement__ = 35; for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - current_statement__ = 17; - assign(pm_1_free__, - stan::math::lb_free( - rvalue(pm_1, "pm_1", index_uni(sym1__), index_uni(sym2__)), - rvalue(rvalue(dm, "dm", index_uni(1)), "dm[1]", - index_uni(sym1__), index_uni(sym2__))), - "assigning variable pm_1_free__", index_uni(sym1__), - index_uni(sym2__)); - } - } - std::vector> pm_2; - pm_2 = std::vector>(n, Eigen::Matrix(m, k)); - stan::math::fill(pm_2, std::numeric_limits::quiet_NaN()); - - { - std::vector pm_2_flat__; - current_statement__ = 18; - pm_2_flat__ = context__.vals_r("pm_2"); - current_statement__ = 18; - pos__ = 1; - current_statement__ = 18; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 18; - for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 18; - for (int sym3__ = 1; sym3__ <= n; ++sym3__) { - current_statement__ = 18; - assign(pm_2, pm_2_flat__[(pos__ - 1)], - "assigning variable pm_2", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 18; - pos__ = (pos__ + 1); - } - } + current_statement__ = 35; + check_greater_or_equal(function__, "tpm_1[sym1__, sym2__]", + rvalue(tpm_1, "tpm_1", + index_uni(sym1__), index_uni(sym2__)), + rvalue(rvalue(dm, "dm", index_uni(1)), + "dm[1]", + index_uni(sym1__), index_uni(sym2__))); } } - current_statement__ = 18; - check_matching_dims("constraint", "pm_2", pm_2, "upper", dm); - std::vector> pm_2_free__; - pm_2_free__ = std::vector>(n, Eigen::Matrix(m, k)); - stan::math::fill(pm_2_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 18; + current_statement__ = 36; for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 18; + current_statement__ = 36; for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - current_statement__ = 18; + current_statement__ = 36; for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - current_statement__ = 18; - assign(pm_2_free__, - stan::math::ub_free( - rvalue(pm_2, "pm_2", - index_uni(sym1__), index_uni(sym2__), index_uni(sym3__)), - rvalue(dm, "dm", - index_uni(sym1__), index_uni(sym2__), index_uni(sym3__))), - "assigning variable pm_2_free__", index_uni(sym1__), - index_uni(sym2__), - index_uni(sym3__)); + current_statement__ = 36; + check_less_or_equal(function__, "tpm_2[sym1__, sym2__, sym3__]", + rvalue(tpm_2, "tpm_2", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__)), + rvalue(dm, "dm", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__))); } } } + if (emit_transformed_parameters__) { + out__.write(tp_1); + out__.write(tp_2); + out__.write(tp_3); + out__.write(tp_4); + out__.write(tp_5); + out__.write(tp_6); + out__.write(tp_7); + out__.write(tp_8); + out__.write(tp_9); + out__.write(tp_10); + out__.write(tpv_1); + out__.write(tpv_2); + out__.write(tpv_3); + out__.write(tpr_1); + out__.write(tpr_2); + out__.write(tpr_3); + out__.write(tpm_1); + out__.write(tpm_2); + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + // Next line prevents compiler griping about no return + throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); + } + } // write_array_impl() + + template * = nullptr, + stan::require_vector_like_vt* = nullptr> + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, + std::ostream* pstream__ = nullptr) const { + using local_scalar_t__ = double; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + std::vector p_1; + p_1 = std::vector(k, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_1_free__[(sym1__ - 1)]); + p_1[(sym1__ - 1)] = in__.read(); } + out__.write_free_lb(rvalue(ds, "ds", index_uni(1), index_uni(1)), p_1); + std::vector p_2; + p_2 = std::vector(k, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_2_free__[(sym1__ - 1)]); + p_2[(sym1__ - 1)] = in__.read(); } + out__.write_free_ub(rvalue(ds, "ds", index_uni(1), index_uni(1)), p_2); + std::vector p_3; + p_3 = std::vector(k, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_3_free__[(sym1__ - 1)]); + p_3[(sym1__ - 1)] = in__.read(); } + out__.write_free_lub(rvalue(ds, "ds", index_uni(1), index_uni(1)), + rvalue(ds, "ds", index_uni(1), index_uni(2)), p_3); + std::vector p_4; + p_4 = std::vector(k, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_4_free__[(sym1__ - 1)]); + p_4[(sym1__ - 1)] = in__.read(); } + out__.write_free_lub(0, rvalue(ds, "ds", index_uni(1), index_uni(2)), + p_4); + std::vector p_5; + p_5 = std::vector(k, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_5_free__[(sym1__ - 1)]); + p_5[(sym1__ - 1)] = in__.read(); } + out__.write_free_lub(rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, + p_5); + std::vector p_6; + p_6 = std::vector(k, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_6_free__[(sym1__ - 1)]); + p_6[(sym1__ - 1)] = in__.read(); } + out__.write_free_offset_multiplier( + rvalue(ds, "ds", index_uni(1), index_uni(1)), 1, p_6); + std::vector p_7; + p_7 = std::vector(k, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_7_free__[(sym1__ - 1)]); + p_7[(sym1__ - 1)] = in__.read(); } + out__.write_free_offset_multiplier(0, + rvalue(ds, "ds", index_uni(1), index_uni(1)), p_7); + std::vector p_8; + p_8 = std::vector(k, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(p_8_free__[(sym1__ - 1)]); + p_8[(sym1__ - 1)] = in__.read(); } - for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - vars__.emplace_back(p_9_free__[(sym1__ - 1)][(sym2__ - 1)]); + out__.write_free_offset_multiplier( + rvalue(ds, "ds", index_uni(1), index_uni(1)), + rvalue(ds, "ds", index_uni(1), index_uni(2)), p_8); + std::vector> p_9; + p_9 = std::vector>(m, std::vector(k, DUMMY_VAR__)); + + + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + for (int sym2__ = 1; sym2__ <= m; ++sym2__) { + p_9[(sym2__ - 1)][(sym1__ - 1)] = in__.read(); } } - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { + out__.write_free_lub(rvalue(ds, "ds", index_uni(1)), 1, p_9); + std::vector>> p_10; + p_10 = std::vector>>(n, std::vector>(m, std::vector(k, DUMMY_VAR__))); + + + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - vars__.emplace_back( - p_10_free__[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + for (int sym3__ = 1; sym3__ <= n; ++sym3__) { + p_10[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)] = in__.read( + ); } } } + out__.write_free_lub(0, ds, p_10); + Eigen::Matrix pv_1; + pv_1 = Eigen::Matrix(k); + stan::math::fill(pv_1, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(pv_1_free__[(sym1__ - 1)]); + assign(pv_1, in__.read(), + "assigning variable pv_1", index_uni(sym1__)); } - for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - vars__.emplace_back(pv_2_free__[(sym1__ - 1)][(sym2__ - 1)]); + out__.write_free_lub(rvalue(dv, "dv", index_uni(1), index_uni(1)), + rvalue(dv, "dv", index_uni(1), index_uni(2)), pv_1); + std::vector> pv_2; + pv_2 = std::vector>(m, Eigen::Matrix(k)); + stan::math::fill(pv_2, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + for (int sym2__ = 1; sym2__ <= m; ++sym2__) { + assign(pv_2, in__.read(), + "assigning variable pv_2", index_uni(sym2__), index_uni(sym1__)); } } - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { + out__.write_free_lb(rvalue(dv, "dv", index_uni(1)), pv_2); + std::vector>> pv_3; + pv_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + stan::math::fill(pv_3, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - vars__.emplace_back( - pv_3_free__[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + for (int sym3__ = 1; sym3__ <= n; ++sym3__) { + assign(pv_3, in__.read(), + "assigning variable pv_3", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write_free_ub(dv, pv_3); + Eigen::Matrix pr_1; + pr_1 = Eigen::Matrix(k); + stan::math::fill(pr_1, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - vars__.emplace_back(pr_1_free__[(sym1__ - 1)]); + assign(pr_1, in__.read(), + "assigning variable pr_1", index_uni(sym1__)); } - for (int sym1__ = 1; sym1__ <= m; ++sym1__) { - for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - vars__.emplace_back(pr_2_free__[(sym1__ - 1)][(sym2__ - 1)]); + out__.write_free_lub(rvalue(dr, "dr", index_uni(1), index_uni(1)), + rvalue(dr, "dr", index_uni(1), index_uni(2)), pr_1); + std::vector> pr_2; + pr_2 = std::vector>(m, Eigen::Matrix(k)); + stan::math::fill(pr_2, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + for (int sym2__ = 1; sym2__ <= m; ++sym2__) { + assign(pr_2, in__.read(), + "assigning variable pr_2", index_uni(sym2__), index_uni(sym1__)); } } - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { + out__.write_free_lb(rvalue(dr, "dr", index_uni(1)), pr_2); + std::vector>> pr_3; + pr_3 = std::vector>>(n, std::vector>(m, Eigen::Matrix(k))); + stan::math::fill(pr_3, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - for (int sym3__ = 1; sym3__ <= k; ++sym3__) { - vars__.emplace_back( - pr_3_free__[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + for (int sym3__ = 1; sym3__ <= n; ++sym3__) { + assign(pr_3, in__.read(), + "assigning variable pr_3", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write_free_ub(dr, pr_3); + Eigen::Matrix pm_1; + pm_1 = Eigen::Matrix(m, k); + stan::math::fill(pm_1, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { for (int sym2__ = 1; sym2__ <= m; ++sym2__) { - vars__.emplace_back( - rvalue(pm_1_free__, "pm_1_free__", - index_uni(sym2__), index_uni(sym1__))); + assign(pm_1, in__.read(), + "assigning variable pm_1", index_uni(sym2__), index_uni(sym1__)); } } - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - for (int sym2__ = 1; sym2__ <= k; ++sym2__) { - for (int sym3__ = 1; sym3__ <= m; ++sym3__) { - vars__.emplace_back( - rvalue(pm_2_free__, "pm_2_free__", - index_uni(sym1__), index_uni(sym3__), index_uni(sym2__))); + out__.write_free_lb(rvalue(dm, "dm", index_uni(1)), pm_1); + std::vector> pm_2; + pm_2 = std::vector>(n, Eigen::Matrix(m, k)); + stan::math::fill(pm_2, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + for (int sym2__ = 1; sym2__ <= m; ++sym2__) { + for (int sym3__ = 1; sym3__ <= n; ++sym3__) { + assign(pm_2, in__.read(), + "assigning variable pm_2", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } + out__.write_free_ub(dm, pm_2); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -31593,8 +29450,18 @@ class transform_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((((((((((((((((k + k) + k) + k) + k) + k) + k) + k) + (m * k)) + + ((n * m) * k)) + k) + (m * k)) + ((n * m) * k)) + k) + (m * k)) + + ((n * m) * k)) + (m * k)) + ((n * m) * k)); + const size_t num_transformed = + (((((((((((((((((k + k) + k) + k) + k) + k) + k) + k) + (m * k)) + + ((n * m) * k)) + k) + (m * k)) + ((n * m) * k)) + k) + (m * k)) + + ((n * m) * k)) + (m * k)) + ((n * m) * k)); + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -31609,8 +29476,19 @@ class transform_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (((((((((((((((((k + k) + k) + k) + k) + k) + k) + k) + (m * k)) + + ((n * m) * k)) + k) + (m * k)) + ((n * m) * k)) + k) + (m * k)) + + ((n * m) * k)) + (m * k)) + ((n * m) * k)); + const size_t num_transformed = + (((((((((((((((((k + k) + k) + k) + k) + k) + k) + k) + (m * k)) + + ((n * m) * k)) + k) + (m * k)) + ((n * m) * k)) + k) + (m * k)) + + ((n * m) * k)) + (m * k)) + ((n * m) * k)); + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -31631,20 +29509,36 @@ class transform_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"p_1", + "p_2", "p_3", "p_4", "p_5", "p_6", "p_7", "p_8", "p_9", "p_10", "pv_1", + "pv_2", "pv_3", "pr_1", "pr_2", "pr_3", "pm_1", "pm_2", "tp_1", "tp_2", + "tp_3", "tp_4", "tp_5", "tp_6", "tp_7", "tp_8", "tp_9", "tp_10", + "tpv_1", "tpv_2", "tpv_3", "tpr_1", "tpr_2", "tpr_3", "tpm_1", + "tpm_2"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = transform_model_namespace::transform_model; @@ -31900,8 +29794,8 @@ class truncate_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -31926,8 +29820,8 @@ class truncate_model final : public model_base_crtp { current_statement__ = 2; y = in__.template read_constrain_lb(0, lp__); - vars__.emplace_back(m); - vars__.emplace_back(y); + out__.write(m); + out__.write(y); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -31945,36 +29839,30 @@ class truncate_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double m; - m = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - m = context__.vals_r("m")[(1 - 1)]; - double y; - y = std::numeric_limits::quiet_NaN(); + local_scalar_t__ m; + m = DUMMY_VAR__; - current_statement__ = 2; - y = context__.vals_r("y")[(1 - 1)]; - double y_free__; - y_free__ = std::numeric_limits::quiet_NaN(); + m = in__.read(); + out__.write(m); + local_scalar_t__ y; + y = DUMMY_VAR__; - current_statement__ = 2; - y_free__ = stan::math::lb_free(y, 0); - vars__.emplace_back(m); - vars__.emplace_back(y_free__); + y = in__.read(); + out__.write_free_lb(0, y); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -32052,8 +29940,13 @@ class truncate_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (1 + 1); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -32068,8 +29961,14 @@ class truncate_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (1 + 1); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -32090,20 +29989,32 @@ class truncate_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"m", + "y"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = truncate_model_namespace::truncate_model; @@ -32272,8 +30183,8 @@ class udf_tilde_stmt_conflict_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -32292,7 +30203,7 @@ class udf_tilde_stmt_conflict_model final : public model_base_crtp(); - vars__.emplace_back(x); + out__.write(x); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -32310,25 +30221,25 @@ class udf_tilde_stmt_conflict_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double x; - x = std::numeric_limits::quiet_NaN(); + local_scalar_t__ x; + x = DUMMY_VAR__; - current_statement__ = 1; - x = context__.vals_r("x")[(1 - 1)]; - vars__.emplace_back(x); + x = in__.read(); + out__.write(x); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -32403,8 +30314,12 @@ class udf_tilde_stmt_conflict_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 1; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -32419,8 +30334,13 @@ class udf_tilde_stmt_conflict_model final : public model_base_crtp @@ -32441,20 +30361,31 @@ class udf_tilde_stmt_conflict_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"x"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } @@ -32627,8 +30558,8 @@ class user_constrain_model final : public model_base_crtp const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -32648,7 +30579,7 @@ class user_constrain_model final : public model_base_crtp current_statement__ = 1; x = in__.template read_constrain_lb(0, lp__); - vars__.emplace_back(x); + out__.write(x); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -32666,30 +30597,25 @@ class user_constrain_model final : public model_base_crtp template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double x; - x = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - x = context__.vals_r("x")[(1 - 1)]; - double x_free__; - x_free__ = std::numeric_limits::quiet_NaN(); + local_scalar_t__ x; + x = DUMMY_VAR__; - current_statement__ = 1; - x_free__ = stan::math::lb_free(x, 0); - vars__.emplace_back(x_free__); + x = in__.read(); + out__.write_free_lb(0, x); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -32764,8 +30690,12 @@ class user_constrain_model final : public model_base_crtp const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 1; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -32780,8 +30710,13 @@ class user_constrain_model final : public model_base_crtp bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = 1; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -32802,20 +30737,31 @@ class user_constrain_model final : public model_base_crtp inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"x"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = user_constrain_model_namespace::user_constrain_model; diff --git a/test/integration/good/code-gen/expressions/cpp.expected b/test/integration/good/code-gen/expressions/cpp.expected index edece28ee1..1e3a3ed7b2 100644 --- a/test/integration/good/code-gen/expressions/cpp.expected +++ b/test/integration/good/code-gen/expressions/cpp.expected @@ -267,8 +267,8 @@ class simple_function_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -299,13 +299,14 @@ class simple_function_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; @@ -386,8 +387,12 @@ class simple_function_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -402,8 +407,13 @@ class simple_function_model final : public model_base_crtp @@ -424,20 +434,31 @@ class simple_function_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = simple_function_model_namespace::simple_function_model; diff --git a/test/integration/good/code-gen/mir.expected b/test/integration/good/code-gen/mir.expected index 7b9805be30..d6de7eeaee 100644 --- a/test/integration/good/code-gen/mir.expected +++ b/test/integration/good/code-gen/mir.expected @@ -2560,45 +2560,74 @@ (Decl (decl_adtype DataOnly) (decl_id N) (decl_type (Sized SInt)))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name N) + (var + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta )) ((pattern (Decl (decl_adtype DataOnly) (decl_id M) (decl_type (Sized SInt)))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name M) + (var + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta )) ((pattern (Decl (decl_adtype DataOnly) (decl_id K) (decl_type (Sized SInt)))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name K) + (var + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern + (FunApp (StanLib Times__ FnPlain) + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name K) + (var + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (((pattern (FunApp (StanLib Times__ FnPlain) (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) @@ -2635,19 +2664,27 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str d_int_1d_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_int_1d_ar)) - (meta - ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name d_int_1d_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var d_int_1d_ar)) + (meta + ((type_ (UArray UInt)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -2730,38 +2767,43 @@ (Block (((pattern (NRFunApp - (CompilerInternal (FnCheck less_or_equal)) - (((pattern - (Lit Str - "d_int_3d_ar[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_int_3d_ar)) + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Var N)) (meta - ((type_ (UArray (UArray (UArray UInt)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "d_int_3d_ar[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var d_int_3d_ar)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Var N)) + ((type_ + (UArray (UArray (UArray UInt)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -2776,24 +2818,39 @@ (Decl (decl_adtype DataOnly) (decl_id J) (decl_type (Sized SReal)))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str J)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var J)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern + (FunApp (StanLib PMinus__ FnPlain) + (((pattern (Lit Real 2.0)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) + (var_name J) + (var + ((pattern (Var J)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (FunApp (StanLib PMinus__ FnPlain) (((pattern (Lit Real 2.0)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str J)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var J)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Real 2.0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Lit Real 2.0)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) + (var_name J) + (var + ((pattern (Var J)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Real 2.0)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) (meta )) ((pattern @@ -3121,45 +3178,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "d_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_ar_mat)) + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "d_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var d_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -3225,45 +3285,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck less_or_equal)) - (((pattern - (Lit Str - "d_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_ar_mat)) + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "d_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var d_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -3294,11 +3357,13 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str d_simplex)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var d_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name d_simplex) + (var + ((pattern (Var d_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (NRFunApp (CompilerInternal FnValidateSize) @@ -3341,19 +3406,22 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str d_1d_simplex[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name d_1d_simplex[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var d_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -3446,38 +3514,38 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern - (Lit Str - "d_3d_simplex[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) + (var_name + "d_3d_simplex[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var d_3d_simplex)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly))))))) + ((type_ + (UArray (UArray (UArray UVector)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) + (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta ))))) @@ -3496,11 +3564,13 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str d_cfcov_54)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var d_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name d_cfcov_54) + (var + ((pattern (Var d_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (Decl (decl_adtype DataOnly) (decl_id d_cfcov_33) @@ -3513,11 +3583,13 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str d_cfcov_33)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var d_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name d_cfcov_33) + (var + ((pattern (Var d_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (NRFunApp (CompilerInternal FnValidateSize) @@ -3553,19 +3625,22 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str d_cfcov_33_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name d_cfcov_33_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var d_cfcov_33_ar)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -6761,45 +6836,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "td_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var td_ar_mat)) + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "td_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var td_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -6865,45 +6943,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck less_or_equal)) - (((pattern - (Lit Str - "td_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var td_ar_mat)) + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "td_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var td_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -6917,11 +6998,13 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str td_simplex)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var td_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name td_simplex) + (var + ((pattern (Var td_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -6935,19 +7018,22 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str td_1d_simplex[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var td_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name td_1d_simplex[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var td_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -6987,38 +7073,38 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern - (Lit Str - "td_3d_simplex[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var td_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) + (var_name + "td_3d_simplex[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var td_3d_simplex)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly))))))) + ((type_ + (UArray (UArray (UArray UVector)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) + (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta ))))) @@ -7027,18 +7113,22 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str td_cfcov_54)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var td_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name td_cfcov_54) + (var + ((pattern (Var td_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str td_cfcov_33)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var td_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name td_cfcov_33) + (var + ((pattern (Var td_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (NRFunApp (CompilerInternal FnValidateSize) @@ -8667,20 +8757,28 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str tp_real_1d_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name tp_real_1d_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_real_1d_ar)) + (meta + ((type_ (UArray UReal)) (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -8722,38 +8820,43 @@ (Block (((pattern (NRFunApp - (CompilerInternal (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "tp_real_3d_ar[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_real_3d_ar)) + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ (UArray (UArray (UArray UReal)))) - (loc ) (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_real_3d_ar[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_real_3d_ar)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray (UArray UReal)))) + (loc ) (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel AutoDiffable))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -8776,19 +8879,27 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str tp_vec[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_vec)) - (meta - ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name tp_vec[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_vec)) + (meta + ((type_ UVector) (loc ) (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -8846,45 +8957,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_ar_mat)) + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel AutoDiffable))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -8950,45 +9064,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck less_or_equal)) - (((pattern - (Lit Str - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_ar_mat)) + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Lit Int 1)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel AutoDiffable))))))) + (((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -9002,11 +9119,13 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str tp_simplex)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_simplex)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name tp_simplex) + (var + ((pattern (Var tp_simplex)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -9020,20 +9139,23 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str tp_1d_simplex[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name tp_1d_simplex[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -9073,38 +9195,38 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern - (Lit Str - "tp_3d_simplex[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) + (var_name + "tp_3d_simplex[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_3d_simplex)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel AutoDiffable))))))) + ((type_ + (UArray (UArray (UArray UVector)))) + (loc ) (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) + (adlevel AutoDiffable))))))) + ())) (meta ))))) (meta ))))) (meta ))))) @@ -9113,18 +9235,22 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_54)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_54) + (var + ((pattern (Var tp_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + ())) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_33)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_33) + (var + ((pattern (Var tp_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -9138,20 +9264,23 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_33_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_33_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_cfcov_33_ar)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -10818,20 +10947,27 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str tp_real_1d_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name tp_real_1d_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_real_1d_ar)) + (meta + ((type_ (UArray UReal)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -10873,38 +11009,43 @@ (Block (((pattern (NRFunApp - (CompilerInternal (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "tp_real_3d_ar[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_real_3d_ar)) + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ (UArray (UArray (UArray UReal)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_real_3d_ar[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_real_3d_ar)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray (UArray UReal)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -10927,18 +11068,26 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str tp_vec[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_vec)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name tp_vec[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_vec)) + (meta + ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -10996,45 +11145,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_ar_mat)) + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -11100,45 +11252,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck less_or_equal)) - (((pattern - (Lit Str - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_ar_mat)) + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -11152,11 +11307,13 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str tp_simplex)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name tp_simplex) + (var + ((pattern (Var tp_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -11170,19 +11327,22 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str tp_1d_simplex[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name tp_1d_simplex[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -11222,38 +11382,38 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern - (Lit Str - "tp_3d_simplex[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) + (var_name + "tp_3d_simplex[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_3d_simplex)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly))))))) + ((type_ + (UArray (UArray (UArray UVector)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) + (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta ))))) @@ -11262,18 +11422,22 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_54)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_54) + (var + ((pattern (Var tp_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_33)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_33) + (var + ((pattern (Var tp_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -11287,19 +11451,22 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_33_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_33_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_cfcov_33_ar)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -12452,20 +12619,27 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str gq_real_1d_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name gq_real_1d_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var gq_real_1d_ar)) + (meta + ((type_ (UArray UReal)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -12507,38 +12681,43 @@ (Block (((pattern (NRFunApp - (CompilerInternal (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "gq_real_3d_ar[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_real_3d_ar)) + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ (UArray (UArray (UArray UReal)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "gq_real_3d_ar[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var gq_real_3d_ar)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray (UArray UReal)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -12561,18 +12740,26 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str gq_vec[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_vec)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name gq_vec[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var gq_vec)) + (meta + ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -12630,45 +12817,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_ar_mat)) + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var gq_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -12734,45 +12924,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck less_or_equal)) - (((pattern - (Lit Str - "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_ar_mat)) + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var gq_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -12786,11 +12979,13 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str gq_simplex)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var gq_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name gq_simplex) + (var + ((pattern (Var gq_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -12804,19 +12999,22 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str gq_1d_simplex[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name gq_1d_simplex[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var gq_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -12856,38 +13054,38 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern - (Lit Str - "gq_3d_simplex[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) + (var_name + "gq_3d_simplex[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var gq_3d_simplex)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly))))))) + ((type_ + (UArray (UArray (UArray UVector)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) + (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta ))))) @@ -12896,18 +13094,22 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str gq_cfcov_54)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var gq_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name gq_cfcov_54) + (var + ((pattern (Var gq_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str gq_cfcov_33)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var gq_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name gq_cfcov_33) + (var + ((pattern (Var gq_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -12921,1159 +13123,26 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str gq_cfcov_33_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )))) - (transform_inits - (((pattern - (Decl (decl_adtype DataOnly) (decl_id p_real) (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_upper) - (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_upper_free__) - (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Assignment (p_upper_free__ UReal ()) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain lb)) - (((pattern (Var p_upper)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_lower) - (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_lower_free__) - (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Assignment (p_lower_free__ UReal ()) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain ub)) - (((pattern (Var p_lower)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Var p_upper)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id offset_multiplier) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id offset_multiplier_free__) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (offset_multiplier_free__ (UArray UReal) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain offset_multiplier)) - (((pattern - (Indexed - ((pattern (Var offset_multiplier)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id no_offset_multiplier) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id no_offset_multiplier_free__) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (no_offset_multiplier_free__ (UArray UReal) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain offset_multiplier)) - (((pattern - (Indexed - ((pattern (Var no_offset_multiplier)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name gq_cfcov_33_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var gq_cfcov_33_ar)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id offset_no_multiplier) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id offset_no_multiplier_free__) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (offset_no_multiplier_free__ (UArray UReal) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain offset_multiplier)) - (((pattern - (Indexed - ((pattern (Var offset_no_multiplier)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_real_1d_ar) - (decl_type - (Sized - (SArray SReal - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_real_1d_ar_free__) - (decl_type - (Sized - (SArray SReal - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_real_1d_ar_free__ (UArray UReal) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain lb)) - (((pattern - (Indexed - ((pattern (Var p_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_real_3d_ar) - (decl_type - (Sized - (SArray - (SArray - (SArray SReal - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_real_3d_ar_free__) - (decl_type - (Sized - (SArray - (SArray - (SArray SReal - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_real_3d_ar_free__ - (UArray (UArray (UArray UReal))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain lb)) - (((pattern - (Indexed - ((pattern (Var p_real_3d_ar)) - (meta - ((type_ - (UArray (UArray (UArray UReal)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_vec) - (decl_type - (Sized - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_vec_free__) - (decl_type - (Sized - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_vec_free__ UVector - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain lb)) - (((pattern - (Indexed - ((pattern (Var p_vec)) - (meta - ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_1d_vec) - (decl_type - (Sized - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_3d_vec) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_row_vec) - (decl_type - (Sized - (SRowVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_1d_row_vec) - (decl_type - (Sized - (SArray - (SRowVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_3d_row_vec) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SRowVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_mat) - (decl_type - (Sized - (SMatrix - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_ar_mat) - (decl_type - (Sized - (SArray - (SArray - (SMatrix - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_ar_mat_free__) - (decl_type - (Sized - (SArray - (SArray - (SMatrix - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_ar_mat_free__ - (UArray (UArray UMatrix)) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (FunApp - (CompilerInternal - (FnUnconstrain lub)) - (((pattern - (Indexed - ((pattern (Var p_ar_mat)) - (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_simplex) - (decl_type - (Sized - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_simplex_free__) - (decl_type - (Sized - (SVector - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (p_simplex_free__ UVector ()) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain simplex)) - (((pattern (Var p_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_1d_simplex) - (decl_type - (Sized - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_1d_simplex_free__) - (decl_type - (Sized - (SArray - (SVector - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_1d_simplex_free__ (UArray UVector) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain simplex)) - (((pattern - (Indexed - ((pattern (Var p_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_3d_simplex) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_3d_simplex_free__) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SVector - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_3d_simplex_free__ - (UArray (UArray (UArray UVector))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (FunApp - (CompilerInternal (FnUnconstrain simplex)) - (((pattern - (Indexed - ((pattern (Var p_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_54) - (decl_type - (Sized - (SMatrix - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_54_free__) - (decl_type - (Sized - (SVector - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Divide__ FnPlain) - (((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (p_cfcov_54_free__ UVector ()) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain cholesky_factor)) - (((pattern (Var p_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_33) - (decl_type - (Sized - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_33_free__) - (decl_type - (Sized - (SVector - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Divide__ FnPlain) - (((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (p_cfcov_33_free__ UVector ()) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain cholesky_factor)) - (((pattern (Var p_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_33_ar) - (decl_type - (Sized - (SArray - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_33_ar_free__) - (decl_type - (Sized - (SArray - (SVector - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Divide__ FnPlain) - (((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_cfcov_33_ar_free__ (UArray UVector) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain cholesky_factor)) - (((pattern - (Indexed - ((pattern (Var p_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id x_p) - (decl_type - (Sized - (SVector - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id y_p) - (decl_type - (Sized - (SVector - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )))) + (transform_inits ()) (output_vars ((p_real ((out_unconstrained_st SReal) (out_constrained_st SReal) diff --git a/test/integration/good/code-gen/ode/cpp.expected b/test/integration/good/code-gen/ode/cpp.expected index 987b809ba1..fdc20cb20d 100644 --- a/test/integration/good/code-gen/ode/cpp.expected +++ b/test/integration/good/code-gen/ode/cpp.expected @@ -407,8 +407,8 @@ class ode_adjoint_test_model_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -448,14 +448,10 @@ class ode_adjoint_test_model_model final : public model_base_crtp>(M, Eigen::Matrix(N)); stan::math::fill(z, std::numeric_limits::quiet_NaN()); - vars__.emplace_back(y); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y0[(sym1__ - 1)]); - } - vars__.emplace_back(t0); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(times[(sym1__ - 1)]); - } + out__.write(y); + out__.write(y0); + out__.write(t0); + out__.write(times); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -479,11 +475,7 @@ class ode_adjoint_test_model_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double y; - y = std::numeric_limits::quiet_NaN(); + local_scalar_t__ y; + y = DUMMY_VAR__; - current_statement__ = 1; - y = context__.vals_r("y")[(1 - 1)]; - Eigen::Matrix y0; - y0 = Eigen::Matrix(N); - stan::math::fill(y0, std::numeric_limits::quiet_NaN()); + y = in__.read(); + out__.write(y); + Eigen::Matrix y0; + y0 = Eigen::Matrix(N); + stan::math::fill(y0, DUMMY_VAR__); - { - std::vector y0_flat__; - current_statement__ = 2; - y0_flat__ = context__.vals_r("y0"); - current_statement__ = 2; - pos__ = 1; - current_statement__ = 2; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 2; - assign(y0, y0_flat__[(pos__ - 1)], - "assigning variable y0", index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + assign(y0, in__.read(), + "assigning variable y0", index_uni(sym1__)); } - double t0; - t0 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - t0 = context__.vals_r("t0")[(1 - 1)]; - std::vector times; - times = std::vector(N, std::numeric_limits::quiet_NaN()); + out__.write(y0); + local_scalar_t__ t0; + t0 = DUMMY_VAR__; + t0 = in__.read(); + out__.write(t0); + std::vector times; + times = std::vector(N, DUMMY_VAR__); - current_statement__ = 4; - times = context__.vals_r("times"); - vars__.emplace_back(y); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y0[(sym1__ - 1)]); - } - vars__.emplace_back(t0); for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - vars__.emplace_back(times[(sym1__ - 1)]); + times[(sym1__ - 1)] = in__.read(); } + out__.write(times); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -669,8 +645,13 @@ class ode_adjoint_test_model_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((1 + N) + 1) + N); + const size_t num_transformed = (M * N); + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -685,8 +666,14 @@ class ode_adjoint_test_model_model final : public model_base_crtp @@ -707,20 +694,32 @@ class ode_adjoint_test_model_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"y", + "y0", "t0", "times", "z"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } diff --git a/test/integration/good/code-gen/opencl/cpp.expected b/test/integration/good/code-gen/opencl/cpp.expected index 406e2b8903..7068af1a5d 100644 --- a/test/integration/good/code-gen/opencl/cpp.expected +++ b/test/integration/good/code-gen/opencl/cpp.expected @@ -3497,8 +3497,8 @@ class distributions_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -3553,24 +3553,12 @@ class distributions_model final : public model_base_crtp { double transformed_param_real; transformed_param_real = std::numeric_limits::quiet_NaN(); - vars__.emplace_back(p_real); - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_real_array[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - vars__.emplace_back( - rvalue(p_matrix, "p_matrix", - index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_vector[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_row_vector[(sym1__ - 1)]); - } - vars__.emplace_back(y_p); + out__.write(p_real); + out__.write(p_real_array); + out__.write(p_matrix); + out__.write(p_vector); + out__.write(p_row_vector); + out__.write(y_p); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -6045,7 +6033,7 @@ class distributions_model final : public model_base_crtp { to_matrix_cl(p_row_vector), to_matrix_cl(p_row_vector)); if (emit_transformed_parameters__) { - vars__.emplace_back(transformed_param_real); + out__.write(transformed_param_real); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -6060,115 +6048,67 @@ class distributions_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double p_real; - p_real = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - p_real = context__.vals_r("p_real")[(1 - 1)]; - std::vector p_real_array; - p_real_array = std::vector(d_int, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 2; - p_real_array = context__.vals_r("p_real_array"); - Eigen::Matrix p_matrix; - p_matrix = Eigen::Matrix(d_int, d_int); - stan::math::fill(p_matrix, std::numeric_limits::quiet_NaN()); - - { - std::vector p_matrix_flat__; - current_statement__ = 3; - p_matrix_flat__ = context__.vals_r("p_matrix"); - current_statement__ = 3; - pos__ = 1; - current_statement__ = 3; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 3; - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - current_statement__ = 3; - assign(p_matrix, p_matrix_flat__[(pos__ - 1)], - "assigning variable p_matrix", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix p_vector; - p_vector = Eigen::Matrix(d_int); - stan::math::fill(p_vector, std::numeric_limits::quiet_NaN()); - - { - std::vector p_vector_flat__; - current_statement__ = 4; - p_vector_flat__ = context__.vals_r("p_vector"); - current_statement__ = 4; - pos__ = 1; - current_statement__ = 4; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 4; - assign(p_vector, p_vector_flat__[(pos__ - 1)], - "assigning variable p_vector", index_uni(sym1__)); - current_statement__ = 4; - pos__ = (pos__ + 1); - } - } - Eigen::Matrix p_row_vector; - p_row_vector = Eigen::Matrix(d_int); - stan::math::fill(p_row_vector, std::numeric_limits::quiet_NaN()); - + local_scalar_t__ p_real; + p_real = DUMMY_VAR__; - { - std::vector p_row_vector_flat__; - current_statement__ = 5; - p_row_vector_flat__ = context__.vals_r("p_row_vector"); - current_statement__ = 5; - pos__ = 1; - current_statement__ = 5; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 5; - assign(p_row_vector, p_row_vector_flat__[(pos__ - 1)], - "assigning variable p_row_vector", index_uni(sym1__)); - current_statement__ = 5; - pos__ = (pos__ + 1); - } - } - double y_p; - y_p = std::numeric_limits::quiet_NaN(); + p_real = in__.read(); + out__.write(p_real); + std::vector p_real_array; + p_real_array = std::vector(d_int, DUMMY_VAR__); - current_statement__ = 6; - y_p = context__.vals_r("y_p")[(1 - 1)]; - vars__.emplace_back(p_real); for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_real_array[(sym1__ - 1)]); + p_real_array[(sym1__ - 1)] = in__.read(); } + out__.write(p_real_array); + Eigen::Matrix p_matrix; + p_matrix = Eigen::Matrix(d_int, d_int); + stan::math::fill(p_matrix, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - vars__.emplace_back( - rvalue(p_matrix, "p_matrix", - index_uni(sym2__), index_uni(sym1__))); + assign(p_matrix, in__.read(), + "assigning variable p_matrix", index_uni(sym2__), + index_uni(sym1__)); } } + out__.write(p_matrix); + Eigen::Matrix p_vector; + p_vector = Eigen::Matrix(d_int); + stan::math::fill(p_vector, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_vector[(sym1__ - 1)]); + assign(p_vector, in__.read(), + "assigning variable p_vector", index_uni(sym1__)); } + out__.write(p_vector); + Eigen::Matrix p_row_vector; + p_row_vector = Eigen::Matrix(d_int); + stan::math::fill(p_row_vector, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_row_vector[(sym1__ - 1)]); + assign(p_row_vector, in__.read(), + "assigning variable p_row_vector", index_uni(sym1__)); } - vars__.emplace_back(y_p); + out__.write(p_row_vector); + local_scalar_t__ y_p; + y_p = DUMMY_VAR__; + + y_p = in__.read(); + out__.write(y_p); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -6300,8 +6240,13 @@ class distributions_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((((1 + d_int) + (d_int * d_int)) + d_int) + d_int) + 1); + const size_t num_transformed = 1; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -6316,8 +6261,14 @@ class distributions_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (((((1 + d_int) + (d_int * d_int)) + d_int) + d_int) + 1); + const size_t num_transformed = 1; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -6338,20 +6289,33 @@ class distributions_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"p_real", + "p_real_array", "p_matrix", "p_vector", "p_row_vector", "y_p", + "transformed_param_real"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = distributions_model_namespace::distributions_model; @@ -6700,8 +6664,8 @@ class restricted_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -6756,24 +6720,12 @@ class restricted_model final : public model_base_crtp { double transformed_param_real; transformed_param_real = std::numeric_limits::quiet_NaN(); - vars__.emplace_back(p_real); - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_real_array[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - vars__.emplace_back( - rvalue(p_matrix, "p_matrix", - index_uni(sym2__), index_uni(sym1__))); - } - } - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_vector[(sym1__ - 1)]); - } - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_row_vector[(sym1__ - 1)]); - } - vars__.emplace_back(y_p); + out__.write(p_real); + out__.write(p_real_array); + out__.write(p_matrix); + out__.write(p_vector); + out__.write(p_row_vector); + out__.write(y_p); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -6817,7 +6769,7 @@ class restricted_model final : public model_base_crtp { transformed_param_real = uniform_lpdf(d_vector_opencl__, p_real, p_real); if (emit_transformed_parameters__) { - vars__.emplace_back(transformed_param_real); + out__.write(transformed_param_real); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -6832,115 +6784,67 @@ class restricted_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double p_real; - p_real = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - p_real = context__.vals_r("p_real")[(1 - 1)]; - std::vector p_real_array; - p_real_array = std::vector(d_int, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 2; - p_real_array = context__.vals_r("p_real_array"); - Eigen::Matrix p_matrix; - p_matrix = Eigen::Matrix(d_int, d_int); - stan::math::fill(p_matrix, std::numeric_limits::quiet_NaN()); - - { - std::vector p_matrix_flat__; - current_statement__ = 3; - p_matrix_flat__ = context__.vals_r("p_matrix"); - current_statement__ = 3; - pos__ = 1; - current_statement__ = 3; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 3; - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - current_statement__ = 3; - assign(p_matrix, p_matrix_flat__[(pos__ - 1)], - "assigning variable p_matrix", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix p_vector; - p_vector = Eigen::Matrix(d_int); - stan::math::fill(p_vector, std::numeric_limits::quiet_NaN()); - - { - std::vector p_vector_flat__; - current_statement__ = 4; - p_vector_flat__ = context__.vals_r("p_vector"); - current_statement__ = 4; - pos__ = 1; - current_statement__ = 4; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 4; - assign(p_vector, p_vector_flat__[(pos__ - 1)], - "assigning variable p_vector", index_uni(sym1__)); - current_statement__ = 4; - pos__ = (pos__ + 1); - } - } - Eigen::Matrix p_row_vector; - p_row_vector = Eigen::Matrix(d_int); - stan::math::fill(p_row_vector, std::numeric_limits::quiet_NaN()); - + local_scalar_t__ p_real; + p_real = DUMMY_VAR__; - { - std::vector p_row_vector_flat__; - current_statement__ = 5; - p_row_vector_flat__ = context__.vals_r("p_row_vector"); - current_statement__ = 5; - pos__ = 1; - current_statement__ = 5; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 5; - assign(p_row_vector, p_row_vector_flat__[(pos__ - 1)], - "assigning variable p_row_vector", index_uni(sym1__)); - current_statement__ = 5; - pos__ = (pos__ + 1); - } - } - double y_p; - y_p = std::numeric_limits::quiet_NaN(); + p_real = in__.read(); + out__.write(p_real); + std::vector p_real_array; + p_real_array = std::vector(d_int, DUMMY_VAR__); - current_statement__ = 6; - y_p = context__.vals_r("y_p")[(1 - 1)]; - vars__.emplace_back(p_real); for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_real_array[(sym1__ - 1)]); + p_real_array[(sym1__ - 1)] = in__.read(); } + out__.write(p_real_array); + Eigen::Matrix p_matrix; + p_matrix = Eigen::Matrix(d_int, d_int); + stan::math::fill(p_matrix, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - vars__.emplace_back( - rvalue(p_matrix, "p_matrix", - index_uni(sym2__), index_uni(sym1__))); + assign(p_matrix, in__.read(), + "assigning variable p_matrix", index_uni(sym2__), + index_uni(sym1__)); } } + out__.write(p_matrix); + Eigen::Matrix p_vector; + p_vector = Eigen::Matrix(d_int); + stan::math::fill(p_vector, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_vector[(sym1__ - 1)]); + assign(p_vector, in__.read(), + "assigning variable p_vector", index_uni(sym1__)); } + out__.write(p_vector); + Eigen::Matrix p_row_vector; + p_row_vector = Eigen::Matrix(d_int); + stan::math::fill(p_row_vector, DUMMY_VAR__); + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - vars__.emplace_back(p_row_vector[(sym1__ - 1)]); + assign(p_row_vector, in__.read(), + "assigning variable p_row_vector", index_uni(sym1__)); } - vars__.emplace_back(y_p); + out__.write(p_row_vector); + local_scalar_t__ y_p; + y_p = DUMMY_VAR__; + + y_p = in__.read(); + out__.write(y_p); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -7072,8 +6976,13 @@ class restricted_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((((1 + d_int) + (d_int * d_int)) + d_int) + d_int) + 1); + const size_t num_transformed = 1; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -7088,8 +6997,14 @@ class restricted_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (((((1 + d_int) + (d_int * d_int)) + d_int) + d_int) + 1); + const size_t num_transformed = 1; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -7110,20 +7025,33 @@ class restricted_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"p_real", + "p_real_array", "p_matrix", "p_vector", "p_row_vector", "y_p", + "transformed_param_real"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = restricted_model_namespace::restricted_model; diff --git a/test/integration/good/code-gen/profiling/cpp.expected b/test/integration/good/code-gen/profiling/cpp.expected index 710f4de493..0050f1b1d6 100644 --- a/test/integration/good/code-gen/profiling/cpp.expected +++ b/test/integration/good/code-gen/profiling/cpp.expected @@ -261,8 +261,8 @@ class simple_function_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -294,9 +294,9 @@ class simple_function_model final : public model_base_crtp( 0, lp__); - vars__.emplace_back(rho); - vars__.emplace_back(alpha); - vars__.emplace_back(sigma); + out__.write(rho); + out__.write(alpha); + out__.write(sigma); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -314,52 +314,35 @@ class simple_function_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double rho; - rho = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - rho = context__.vals_r("rho")[(1 - 1)]; - double rho_free__; - rho_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - rho_free__ = stan::math::lb_free(rho, 0); - double alpha; - alpha = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - alpha = context__.vals_r("alpha")[(1 - 1)]; - double alpha_free__; - alpha_free__ = std::numeric_limits::quiet_NaN(); + local_scalar_t__ rho; + rho = DUMMY_VAR__; - current_statement__ = 2; - alpha_free__ = stan::math::lb_free(alpha, 0); - double sigma; - sigma = std::numeric_limits::quiet_NaN(); + rho = in__.read(); + out__.write_free_lb(0, rho); + local_scalar_t__ alpha; + alpha = DUMMY_VAR__; - current_statement__ = 3; - sigma = context__.vals_r("sigma")[(1 - 1)]; - double sigma_free__; - sigma_free__ = std::numeric_limits::quiet_NaN(); + alpha = in__.read(); + out__.write_free_lb(0, alpha); + local_scalar_t__ sigma; + sigma = DUMMY_VAR__; - current_statement__ = 3; - sigma_free__ = stan::math::lb_free(sigma, 0); - vars__.emplace_back(rho_free__); - vars__.emplace_back(alpha_free__); - vars__.emplace_back(sigma_free__); + sigma = in__.read(); + out__.write_free_lb(0, sigma); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -439,8 +422,13 @@ class simple_function_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((1 + 1) + 1); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -455,8 +443,14 @@ class simple_function_model final : public model_base_crtp @@ -477,20 +471,32 @@ class simple_function_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"rho", + "alpha", "sigma"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = simple_function_model_namespace::simple_function_model; diff --git a/test/integration/good/code-gen/transformed_mir.expected b/test/integration/good/code-gen/transformed_mir.expected index 591e98727f..51767b7b83 100644 --- a/test/integration/good/code-gen/transformed_mir.expected +++ b/test/integration/good/code-gen/transformed_mir.expected @@ -2614,12 +2614,18 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name N) + (var + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta )) ((pattern @@ -2640,12 +2646,18 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name M) + (var + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta )) ((pattern @@ -2666,21 +2678,38 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name K) + (var + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern + (FunApp (StanLib Times__ FnPlain) + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name K) + (var + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (((pattern (FunApp (StanLib Times__ FnPlain) (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) @@ -2725,19 +2754,27 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str d_int_1d_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_int_1d_ar)) - (meta - ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name d_int_1d_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var d_int_1d_ar)) + (meta + ((type_ (UArray UInt)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -2933,38 +2970,43 @@ (Block (((pattern (NRFunApp - (CompilerInternal (FnCheck less_or_equal)) - (((pattern - (Lit Str - "d_int_3d_ar[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_int_3d_ar)) + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Var N)) (meta - ((type_ (UArray (UArray (UArray UInt)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "d_int_3d_ar[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var d_int_3d_ar)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Var N)) + ((type_ + (UArray (UArray (UArray UInt)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + (((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -2993,24 +3035,39 @@ (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str J)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var J)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern + (FunApp (StanLib PMinus__ FnPlain) + (((pattern (Lit Real 2.0)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) + (var_name J) + (var + ((pattern (Var J)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (FunApp (StanLib PMinus__ FnPlain) (((pattern (Lit Real 2.0)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str J)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var J)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Real 2.0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Lit Real 2.0)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) + (var_name J) + (var + ((pattern (Var J)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Real 2.0)) (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) (meta )) ((pattern @@ -4173,45 +4230,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "d_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_ar_mat)) + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "d_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var d_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -4277,45 +4337,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck less_or_equal)) - (((pattern - (Lit Str - "d_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_ar_mat)) + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "d_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var d_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -4409,11 +4472,13 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str d_simplex)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var d_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name d_simplex) + (var + ((pattern (Var d_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (NRFunApp (CompilerInternal FnValidateSize) @@ -4545,19 +4610,22 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str d_1d_simplex[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name d_1d_simplex[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var d_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -4787,38 +4855,38 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern - (Lit Str - "d_3d_simplex[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) + (var_name + "d_3d_simplex[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var d_3d_simplex)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly))))))) + ((type_ + (UArray (UArray (UArray UVector)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) + (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta ))))) @@ -4925,11 +4993,13 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str d_cfcov_54)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var d_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name d_cfcov_54) + (var + ((pattern (Var d_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (Decl (decl_adtype DataOnly) (decl_id d_cfcov_33) @@ -5030,11 +5100,13 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str d_cfcov_33)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var d_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name d_cfcov_33) + (var + ((pattern (Var d_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (NRFunApp (CompilerInternal FnValidateSize) @@ -5181,19 +5253,22 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str d_cfcov_33_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var d_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name d_cfcov_33_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var d_cfcov_33_ar)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -10159,45 +10234,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "td_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var td_ar_mat)) + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "td_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var td_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -10263,45 +10341,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck less_or_equal)) - (((pattern - (Lit Str - "td_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var td_ar_mat)) + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "td_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var td_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -10315,11 +10396,13 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str td_simplex)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var td_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name td_simplex) + (var + ((pattern (Var td_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -10333,19 +10416,22 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str td_1d_simplex[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var td_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name td_1d_simplex[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var td_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -10385,38 +10471,38 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern - (Lit Str - "td_3d_simplex[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var td_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) + (var_name + "td_3d_simplex[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var td_3d_simplex)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly))))))) + ((type_ + (UArray (UArray (UArray UVector)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) + (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta ))))) @@ -10425,18 +10511,22 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str td_cfcov_54)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var td_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name td_cfcov_54) + (var + ((pattern (Var td_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str td_cfcov_33)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var td_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name td_cfcov_33) + (var + ((pattern (Var td_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (NRFunApp (CompilerInternal FnValidateSize) @@ -11180,7 +11270,9 @@ (meta )) ((pattern (Assignment (p_real UReal ()) - ((pattern (FunApp (CompilerInternal (FnReadParam ())) ())) + ((pattern + (FunApp + (CompilerInternal (FnReadParam (constrain Identity) (dims ()))) ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11190,11 +11282,15 @@ ((pattern (Assignment (p_upper UReal ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (lb))) - (((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var lp__)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Lower + ((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (dims ()))) + ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11204,11 +11300,15 @@ ((pattern (Assignment (p_lower UReal ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (ub))) - (((pattern (Var p_upper)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var lp__)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Upper + ((pattern (Var p_upper)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (dims ()))) + ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11222,16 +11322,19 @@ ((pattern (Assignment (offset_multiplier (UArray UReal) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (offset_multiplier))) - (((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (OffsetMultiplier + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11245,16 +11348,17 @@ ((pattern (Assignment (no_offset_multiplier (UArray UReal) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (offset_multiplier))) - (((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Multiplier + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11268,16 +11372,17 @@ ((pattern (Assignment (offset_no_multiplier (UArray UReal) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (offset_multiplier))) - (((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Offset + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11291,14 +11396,17 @@ ((pattern (Assignment (p_real_1d_ar (UArray UReal) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (lb))) - (((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11318,19 +11426,21 @@ ((pattern (Assignment (p_real_3d_ar (UArray (UArray (UArray UReal))) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (lb))) - (((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray (UArray (UArray UReal)))) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray (UArray (UArray UReal)))) (loc ) (adlevel AutoDiffable)))))) @@ -11346,13 +11456,17 @@ ((pattern (Assignment (p_vec UVector ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (lb))) - (((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11369,11 +11483,15 @@ ((pattern (Assignment (p_1d_vec (UArray UVector) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UVector)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11397,15 +11515,19 @@ ((pattern (Assignment (p_3d_vec (UArray (UArray (UArray UVector))) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray (UArray (UArray UVector)))) (loc ) (adlevel AutoDiffable)))))) @@ -11421,9 +11543,13 @@ ((pattern (Assignment (p_row_vec URowVector ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ URowVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11440,11 +11566,15 @@ ((pattern (Assignment (p_1d_row_vec (UArray URowVector) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray URowVector)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11468,15 +11598,19 @@ ((pattern (Assignment (p_3d_row_vec (UArray (UArray (UArray URowVector))) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray (UArray (UArray URowVector)))) (loc ) (adlevel AutoDiffable)))))) @@ -11494,11 +11628,15 @@ ((pattern (Assignment (p_mat UMatrix ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11520,23 +11658,25 @@ ((pattern (Assignment (p_ar_mat (UArray (UArray UMatrix)) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (lub))) - (((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray (UArray UMatrix))) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (LowerUpper + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray (UArray UMatrix))) (loc ) (adlevel AutoDiffable)))))) @@ -11552,11 +11692,13 @@ ((pattern (Assignment (p_simplex UVector ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (simplex))) - (((pattern (Var lp__)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Simplex) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11573,14 +11715,15 @@ ((pattern (Assignment (p_1d_simplex (UArray UVector) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (simplex))) - (((pattern (Var lp__)) - (meta - ((type_ (UArray UVector)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Simplex) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UVector)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11604,19 +11747,19 @@ ((pattern (Assignment (p_3d_simplex (UArray (UArray (UArray UVector))) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (simplex))) - (((pattern (Var lp__)) - (meta - ((type_ (UArray (UArray (UArray UVector)))) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Simplex) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray (UArray (UArray UVector)))) (loc ) (adlevel AutoDiffable)))))) @@ -11634,13 +11777,15 @@ ((pattern (Assignment (p_cfcov_54 UMatrix ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (cholesky_factor_cov))) - (((pattern (Var lp__)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain CholeskyCov) + (dims + (((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11656,13 +11801,15 @@ ((pattern (Assignment (p_cfcov_33 UMatrix ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (cholesky_factor_cov))) - (((pattern (Var lp__)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain CholeskyCov) + (dims + (((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11681,16 +11828,17 @@ ((pattern (Assignment (p_cfcov_33_ar (UArray UMatrix) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (cholesky_factor_cov))) - (((pattern (Var lp__)) - (meta - ((type_ (UArray UMatrix)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain CholeskyCov) + (dims + (((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UMatrix)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -11705,9 +11853,13 @@ ((pattern (Assignment (x_p UVector ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -11721,9 +11873,13 @@ ((pattern (Assignment (y_p UVector ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -12376,20 +12532,28 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str tp_real_1d_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 0)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name tp_real_1d_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_real_1d_ar)) + (meta + ((type_ (UArray UReal)) (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -12431,38 +12595,43 @@ (Block (((pattern (NRFunApp - (CompilerInternal (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "tp_real_3d_ar[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_real_3d_ar)) + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ (UArray (UArray (UArray UReal)))) - (loc ) (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_real_3d_ar[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_real_3d_ar)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray (UArray UReal)))) + (loc ) (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel AutoDiffable))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -12485,23 +12654,31 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str tp_vec[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_vec)) - (meta - ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name tp_vec[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_vec)) + (meta + ((type_ UVector) (loc ) (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ))))) + (meta ))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -12555,45 +12732,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_ar_mat)) + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Lit Int 0)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel AutoDiffable))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -12659,45 +12839,48 @@ (((pattern (NRFunApp (CompilerInternal - (FnCheck less_or_equal)) - (((pattern - (Lit Str - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_ar_mat)) + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Lit Int 1)) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel AutoDiffable))))))) + (((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) @@ -12711,11 +12894,13 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str tp_simplex)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_simplex)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name tp_simplex) + (var + ((pattern (Var tp_simplex)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -12729,20 +12914,23 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str tp_1d_simplex[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name tp_1d_simplex[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -12782,38 +12970,38 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern - (Lit Str - "tp_3d_simplex[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) + (var_name + "tp_3d_simplex[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_3d_simplex)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel AutoDiffable))))))) + ((type_ + (UArray (UArray (UArray UVector)))) + (loc ) (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) + (adlevel AutoDiffable))))))) + ())) (meta ))))) (meta ))))) (meta ))))) @@ -12822,18 +13010,22 @@ (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_54)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_54) + (var + ((pattern (Var tp_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + ())) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_33)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_33) + (var + ((pattern (Var tp_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -12847,20 +13039,23 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_33_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_33_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_cfcov_33_ar)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -13628,7 +13823,9 @@ (meta )) ((pattern (Assignment (p_real UReal ()) - ((pattern (FunApp (CompilerInternal (FnReadParam ())) ())) + ((pattern + (FunApp + (CompilerInternal (FnReadParam (constrain Identity) (dims ()))) ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -13638,11 +13835,15 @@ ((pattern (Assignment (p_upper UReal ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (lb))) - (((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var lp__)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Lower + ((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (dims ()))) + ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -13652,11 +13853,15 @@ ((pattern (Assignment (p_lower UReal ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (ub))) - (((pattern (Var p_upper)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var lp__)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Upper + ((pattern (Var p_upper)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (dims ()))) + ())) (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -13670,16 +13875,19 @@ ((pattern (Assignment (offset_multiplier (UArray UReal) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (offset_multiplier))) - (((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (OffsetMultiplier + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -13693,16 +13901,17 @@ ((pattern (Assignment (no_offset_multiplier (UArray UReal) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (offset_multiplier))) - (((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Multiplier + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -13716,16 +13925,17 @@ ((pattern (Assignment (offset_no_multiplier (UArray UReal) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (offset_multiplier))) - (((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Offset + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -13739,14 +13949,17 @@ ((pattern (Assignment (p_real_1d_ar (UArray UReal) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (lb))) - (((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -13766,19 +13979,21 @@ ((pattern (Assignment (p_real_3d_ar (UArray (UArray (UArray UReal))) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (lb))) - (((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray (UArray (UArray UReal)))) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray (UArray (UArray UReal)))) (loc ) (adlevel AutoDiffable)))))) @@ -13794,13 +14009,17 @@ ((pattern (Assignment (p_vec UVector ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (lb))) - (((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -13817,11 +14036,15 @@ ((pattern (Assignment (p_1d_vec (UArray UVector) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UVector)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -13845,15 +14068,19 @@ ((pattern (Assignment (p_3d_vec (UArray (UArray (UArray UVector))) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray (UArray (UArray UVector)))) (loc ) (adlevel AutoDiffable)))))) @@ -13869,9 +14096,13 @@ ((pattern (Assignment (p_row_vec URowVector ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ URowVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -13888,11 +14119,15 @@ ((pattern (Assignment (p_1d_row_vec (UArray URowVector) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray URowVector)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -13916,15 +14151,19 @@ ((pattern (Assignment (p_3d_row_vec (UArray (UArray (UArray URowVector))) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray (UArray (UArray URowVector)))) (loc ) (adlevel AutoDiffable)))))) @@ -13942,11 +14181,15 @@ ((pattern (Assignment (p_mat UMatrix ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -13968,23 +14211,25 @@ ((pattern (Assignment (p_ar_mat (UArray (UArray UMatrix)) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (lub))) - (((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var lp__)) - (meta - ((type_ (UArray (UArray UMatrix))) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam + (constrain + (LowerUpper + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (dims + (((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray (UArray UMatrix))) (loc ) (adlevel AutoDiffable)))))) @@ -14000,11 +14245,13 @@ ((pattern (Assignment (p_simplex UVector ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (simplex))) - (((pattern (Var lp__)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Simplex) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -14021,14 +14268,15 @@ ((pattern (Assignment (p_1d_simplex (UArray UVector) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (simplex))) - (((pattern (Var lp__)) - (meta - ((type_ (UArray UVector)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Simplex) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UVector)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -14052,19 +14300,19 @@ ((pattern (Assignment (p_3d_simplex (UArray (UArray (UArray UVector))) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (simplex))) - (((pattern (Var lp__)) - (meta - ((type_ (UArray (UArray (UArray UVector)))) (loc ) - (adlevel AutoDiffable)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Simplex) + (dims + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray (UArray (UArray UVector)))) (loc ) (adlevel AutoDiffable)))))) @@ -14082,13 +14330,15 @@ ((pattern (Assignment (p_cfcov_54 UMatrix ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (cholesky_factor_cov))) - (((pattern (Var lp__)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain CholeskyCov) + (dims + (((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -14104,13 +14354,15 @@ ((pattern (Assignment (p_cfcov_33 UMatrix ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (cholesky_factor_cov))) - (((pattern (Var lp__)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain CholeskyCov) + (dims + (((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -14129,16 +14381,17 @@ ((pattern (Assignment (p_cfcov_33_ar (UArray UMatrix) ()) ((pattern - (FunApp (CompilerInternal (FnReadParam (cholesky_factor_cov))) - (((pattern (Var lp__)) - (meta - ((type_ (UArray UMatrix)) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain CholeskyCov) + (dims + (((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ (UArray UMatrix)) (loc ) (adlevel AutoDiffable)))))) (meta )) @@ -14153,9 +14406,13 @@ ((pattern (Assignment (x_p UVector ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -14169,9 +14426,13 @@ ((pattern (Assignment (y_p UVector ()) ((pattern - (FunApp (CompilerInternal (FnReadParam ())) - (((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (FunApp + (CompilerInternal + (FnReadParam (constrain Identity) + (dims + (((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + ())) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern @@ -14376,307 +14637,375 @@ (decl_type (Sized SReal)))) (meta )) ((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern (Var p_upper)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_upper)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern (Var p_lower)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_lower)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var offset_multiplier)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var offset_multiplier)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var no_offset_multiplier)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var no_offset_multiplier)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var offset_no_multiplier)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var offset_no_multiplier)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (For (loopvar sym1__) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_real_1d_ar)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_real_3d_ar)) + (meta + ((type_ (UArray (UArray (UArray UReal)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_vec)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_1d_vec)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_3d_vec)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_row_vec)) + (meta ((type_ URowVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_1d_row_vec)) + (meta + ((type_ (UArray URowVector)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_3d_row_vec)) + (meta + ((type_ (UArray (UArray (UArray URowVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_mat)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_ar_mat)) + (meta + ((type_ (UArray (UArray UMatrix))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_1d_simplex)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_3d_simplex)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var p_cfcov_33_ar)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var x_p)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var y_p)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (IfElse + ((pattern + (FunApp (StanLib PNot__ FnPlain) + (((pattern + (EOr + ((pattern (Var emit_transformed_parameters__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var emit_generated_quantities__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Block (((pattern (Return ())) (meta ))))) + (meta )) + ())) + (meta )) + ((pattern + (Assignment (tp_real_1d_ar (UArray UReal) ()) + ((pattern (Var p_real_1d_ar)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_real_3d_ar (UArray (UArray (UArray UReal))) ()) + ((pattern (Var p_real_3d_ar)) + (meta + ((type_ (UArray (UArray (UArray UReal)))) (loc ) + (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_1d_vec (UArray UVector) ()) + ((pattern (Var p_1d_vec)) + (meta + ((type_ (UArray UVector)) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_3d_vec (UArray (UArray (UArray UVector))) ()) + ((pattern (Var p_3d_vec)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_simplex UVector ()) + ((pattern (Var p_simplex)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_1d_simplex (UArray UVector) ()) + ((pattern (Var p_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_3d_simplex (UArray (UArray (UArray UVector))) ()) + ((pattern (Var p_3d_simplex)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_cfcov_54 UMatrix ()) + ((pattern (Var p_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_cfcov_33 UMatrix ()) + ((pattern (Var p_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_cfcov_33_ar (UArray UMatrix) ()) + ((pattern (Var p_cfcov_33_ar)) + (meta + ((type_ (UArray UMatrix)) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_mat UMatrix ()) + ((pattern + (FunApp (StanLib fma FnPlain) + (((pattern (Var d_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))) + ((pattern (Var p_mat)) + (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var p_mat)) + (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) + (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_vec UVector ()) + ((pattern + (FunApp (StanLib fma FnPlain) + (((pattern (Var d_vec)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((pattern (Var p_vec)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var p_vec)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (For (loopvar i) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var N)) + ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_real_3d_ar)) - (meta - ((type_ (UArray (UArray (UArray UReal)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_vec)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_1d_vec)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) + (For (loopvar j) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var K)) + ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym3__) + (For (loopvar m) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var M)) + ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym4__) + (For (loopvar n) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var N)) + ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) @@ -14684,40 +15013,32 @@ ((pattern (Block (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_3d_vec)) - (meta - ((type_ - (UArray - (UArray (UArray UVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) + (Assignment + (tp_ar_mat (UArray (UArray UMatrix)) + ((Single + ((pattern (Var m)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var n)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var j)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + ((pattern (Lit Real 0.4)) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly)))))) (meta ))))) (meta ))))) (meta ))))) @@ -14728,7 +15049,7 @@ (meta ))))) (meta )) ((pattern - (For (loopvar sym1__) + (For (loopvar i) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) @@ -14739,84 +15060,317 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_row_vec)) + (Assignment + (tp_vec UVector + ((Single + ((pattern (Var i)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (StanLib Times__ FnPlain) + (((pattern + (FunApp (StanLib PMinus__ FnPlain) + (((pattern (Lit Real 1.0)) + (meta + ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern + (Indexed + ((pattern (Var p_vec)) + (meta + ((type_ UVector) (loc ) + (adlevel AutoDiffable)))) + ((Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) (meta - ((type_ URowVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta )) ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower + (Assignment (tp_row_vec URowVector ()) + ((pattern + (FunApp (StanLib Transpose__ FnPlain) + (((pattern + (Indexed + ((pattern (Var tp_1d_vec)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel AutoDiffable)))) + ((Single ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_1d_row_vec)) - (meta - ((type_ (UArray URowVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) + (meta ((type_ URowVector) (loc ) (adlevel AutoDiffable)))))) (meta )) ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Assignment (tp_1d_row_vec (UArray URowVector) ()) + ((pattern (Var p_1d_row_vec)) + (meta + ((type_ (UArray URowVector)) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_3d_row_vec (UArray (UArray (UArray URowVector))) ()) + ((pattern (Var p_3d_row_vec)) + (meta + ((type_ (UArray (UArray (UArray URowVector)))) (loc ) + (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (theta_p UVector ()) + ((pattern + (FunApp (StanLib algebra_solver FnPlain) + (((pattern (Var algebra_system)) + (meta + ((type_ + (UFun + ((AutoDiffable UVector) (AutoDiffable UVector) + (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) + (ReturnType UVector) FnPlain)) + (loc ) (adlevel AutoDiffable)))) + ((pattern (Var x)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((pattern (Var y)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat_int)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (theta_p UVector ()) + ((pattern + (FunApp (StanLib algebra_solver FnPlain) + (((pattern (Var algebra_system)) + (meta + ((type_ + (UFun + ((AutoDiffable UVector) (AutoDiffable UVector) + (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) + (ReturnType UVector) FnPlain)) + (loc ) (adlevel AutoDiffable)))) + ((pattern (Var x)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((pattern (Var y)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat_int)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Real 0.01)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Real 0.01)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 10)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (theta_p UVector ()) + ((pattern + (FunApp (StanLib algebra_solver FnPlain) + (((pattern (Var algebra_system)) + (meta + ((type_ + (UFun + ((AutoDiffable UVector) (AutoDiffable UVector) + (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) + (ReturnType UVector) FnPlain)) + (loc ) (adlevel AutoDiffable)))) + ((pattern (Var x)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((pattern (Var y_p)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var dat)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat_int)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Real 0.01)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Real 0.01)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 10)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (theta_p UVector ()) + ((pattern + (FunApp (StanLib algebra_solver FnPlain) + (((pattern (Var algebra_system)) + (meta + ((type_ + (UFun + ((AutoDiffable UVector) (AutoDiffable UVector) + (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) + (ReturnType UVector) FnPlain)) + (loc ) (adlevel AutoDiffable)))) + ((pattern (Var x_p)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var y)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat_int)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (theta_p UVector ()) + ((pattern + (FunApp (StanLib algebra_solver FnPlain) + (((pattern (Var algebra_system)) + (meta + ((type_ + (UFun + ((AutoDiffable UVector) (AutoDiffable UVector) + (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) + (ReturnType UVector) FnPlain)) + (loc ) (adlevel AutoDiffable)))) + ((pattern (Var x_p)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var y)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat_int)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Real 0.01)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Real 0.01)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 10)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (theta_p UVector ()) + ((pattern + (FunApp (StanLib algebra_solver FnPlain) + (((pattern (Var algebra_system)) + (meta + ((type_ + (UFun + ((AutoDiffable UVector) (AutoDiffable UVector) + (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) + (ReturnType UVector) FnPlain)) + (loc ) (adlevel AutoDiffable)))) + ((pattern (Var x_p)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var y_p)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var dat)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat_int)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (theta_p UVector ()) + ((pattern + (FunApp (StanLib algebra_solver FnPlain) + (((pattern (Var algebra_system)) + (meta + ((type_ + (UFun + ((AutoDiffable UVector) (AutoDiffable UVector) + (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) + (ReturnType UVector) FnPlain)) + (loc ) (adlevel AutoDiffable)))) + ((pattern (Var x_p)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var y_p)) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var dat)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) + ((pattern (Var dat_int)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Real 0.01)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Real 0.01)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 10)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_real UReal ()) + ((pattern + (FunApp (StanLib EltTimes__ FnPlain) + (((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (Assignment (tp_real UReal ()) + ((pattern + (FunApp (StanLib EltDivide__ FnPlain) + (((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) + ((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (For (loopvar sym1__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name tp_real_1d_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_real_1d_ar)) + (meta + ((type_ (UArray UReal)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ))))) + (meta ))))) + (meta )) + ((pattern + (For (loopvar sym1__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar sym2__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var K)) + ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -14828,64 +15382,54 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var M)) + ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_real_3d_ar[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_real_3d_ar)) + (meta + ((type_ + (UArray (UArray (UArray UReal)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_3d_row_vec)) - (meta - ((type_ - (UArray - (UArray (UArray URowVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) + (adlevel DataOnly))))))) (meta ))))) (meta ))))) (meta ))))) @@ -14899,44 +15443,33 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 4)) + ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_mat)) - (meta - ((type_ UMatrix) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name tp_vec[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_vec)) + (meta + ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) (meta )) @@ -14946,7 +15479,7 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 3)) + ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -14957,7 +15490,7 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 2)) + ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -14969,7 +15502,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 5)) + ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body @@ -14983,7 +15516,7 @@ ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 4)) + ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) @@ -14992,37 +15525,51 @@ (Block (((pattern (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_ar_mat)) + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta - ((type_ UReal) (loc ) + ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -15039,78 +15586,7 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) + ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -15121,7 +15597,7 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var K)) + ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -15133,7 +15609,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var M)) + ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body @@ -15147,7 +15623,7 @@ ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var N)) + ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) @@ -15156,38 +15632,51 @@ (Block (((pattern (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_3d_simplex)) + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) (meta - ((type_ - (UArray - (UArray (UArray UVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_ar_mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 1)) (meta - ((type_ UReal) (loc ) + ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) @@ -15198,50 +15687,43 @@ (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name tp_simplex) + (var + ((pattern (Var tp_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) ((pattern (For (loopvar sym1__) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 4)) + ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_cfcov_54)) - (meta - ((type_ UMatrix) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name tp_1d_simplex[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) @@ -15251,7 +15733,7 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 3)) + ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -15262,62 +15744,15 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 3)) + ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_cfcov_33)) - (meta - ((type_ UMatrix) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) + (For (loopvar sym3__) + (lower + ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper @@ -15328,31 +15763,38 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) + (var_name + "tp_3d_simplex[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var tp_3d_simplex)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) + ((type_ + (UArray (UArray (UArray UVector)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) + (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta ))))) @@ -15361,28 +15803,22 @@ (meta ))))) (meta )) ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var x_p)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_54) + (var + ((pattern (Var tp_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_33) + (var + ((pattern (Var tp_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -15390,34 +15826,227 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 2)) + ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var y_p)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name tp_cfcov_33_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var tp_cfcov_33_ar)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) ((pattern (IfElse + ((pattern (Var emit_transformed_parameters__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern - (FunApp (StanLib PNot__ FnPlain) + (Block (((pattern - (EOr - ((pattern (Var emit_transformed_parameters__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var emit_generated_quantities__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_real_1d_ar)) + (meta + ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_real_3d_ar)) + (meta + ((type_ (UArray (UArray (UArray UReal)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_vec)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_1d_vec)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_3d_vec)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_row_vec)) + (meta + ((type_ URowVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_1d_row_vec)) + (meta + ((type_ (UArray URowVector)) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_3d_row_vec)) + (meta + ((type_ (UArray (UArray (UArray URowVector)))) + (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_mat)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_ar_mat)) + (meta + ((type_ (UArray (UArray UMatrix))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_3d_simplex)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_cfcov_33_ar)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var theta_p)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var tp_real)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ())) + (meta ))))) + (meta )) + ())) + (meta )) + ((pattern + (IfElse + ((pattern + (FunApp (StanLib PNot__ FnPlain) + (((pattern (Var emit_generated_quantities__)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) ((pattern (Block (((pattern (Return ())) (meta ))))) @@ -15425,544 +16054,509 @@ ())) (meta )) ((pattern - (Assignment (tp_real_1d_ar (UArray UReal) ()) - ((pattern (Var p_real_1d_ar)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_r1) (decl_type (Sized SReal)))) (meta )) ((pattern - (Assignment (tp_real_3d_ar (UArray (UArray (UArray UReal))) ()) - ((pattern (Var p_real_3d_ar)) - (meta - ((type_ (UArray (UArray (UArray UReal)))) (loc ) - (adlevel AutoDiffable)))))) + (Assignment (gq_r1 UReal ()) + ((pattern + (FunApp (UserDefined foo_bar1 FnPlain) + (((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern - (Assignment (tp_1d_vec (UArray UVector) ()) - ((pattern (Var p_1d_vec)) - (meta - ((type_ (UArray UVector)) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_r2) (decl_type (Sized SReal)))) (meta )) ((pattern - (Assignment (tp_3d_vec (UArray (UArray (UArray UVector))) ()) - ((pattern (Var p_3d_vec)) - (meta - ((type_ (UArray (UArray (UArray UVector)))) (loc ) - (adlevel AutoDiffable)))))) + (Assignment (gq_r2 UReal ()) + ((pattern + (FunApp (UserDefined foo_bar1 FnPlain) + (((pattern (Var J)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern - (Assignment (tp_simplex UVector ()) - ((pattern (Var p_simplex)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_real_1d_ar) + (decl_type + (Sized + (SArray SReal + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_1d_simplex (UArray UVector) ()) - ((pattern (Var p_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_real_3d_ar) + (decl_type + (Sized + (SArray + (SArray + (SArray SReal + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_3d_simplex (UArray (UArray (UArray UVector))) ()) - ((pattern (Var p_3d_simplex)) - (meta - ((type_ (UArray (UArray (UArray UVector)))) (loc ) - (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_vec) + (decl_type + (Sized + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_cfcov_54 UMatrix ()) - ((pattern (Var p_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_1d_vec) + (decl_type + (Sized + (SArray + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_cfcov_33 UMatrix ()) - ((pattern (Var p_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_3d_vec) + (decl_type + (Sized + (SArray + (SArray + (SArray + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_cfcov_33_ar (UArray UMatrix) ()) - ((pattern (Var p_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_row_vec) + (decl_type + (Sized + (SRowVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_mat UMatrix ()) - ((pattern - (FunApp (StanLib fma FnPlain) - (((pattern (Var d_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))) - ((pattern (Var p_mat)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var p_mat)) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable))))))) - (meta ((type_ UMatrix) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_1d_row_vec) + (decl_type + (Sized + (SArray + (SRowVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_vec UVector ()) - ((pattern - (FunApp (StanLib fma FnPlain) - (((pattern (Var d_vec)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((pattern (Var p_vec)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var p_vec)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_3d_row_vec) + (decl_type + (Sized + (SArray + (SArray + (SArray + (SRowVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (For (loopvar i) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar j) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar m) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar n) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (tp_ar_mat (UArray (UArray UMatrix)) - ((Single - ((pattern (Var m)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var n)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var j)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern (Lit Real 0.4)) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) + (Decl (decl_adtype DataOnly) (decl_id gq_ar_mat) + (decl_type + (Sized + (SArray + (SArray + (SMatrix + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (For (loopvar i) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (tp_vec UVector - ((Single - ((pattern (Var i)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib PMinus__ FnPlain) - (((pattern (Lit Real 1.0)) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var p_vec)) - (meta - ((type_ UVector) (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) - (meta ))))) - (meta ))))) + (Decl (decl_adtype DataOnly) (decl_id gq_simplex) + (decl_type + (Sized + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_row_vec URowVector ()) - ((pattern - (FunApp (StanLib Transpose__ FnPlain) - (((pattern - (Indexed - ((pattern (Var tp_1d_vec)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel AutoDiffable)))) - ((Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable))))))) - (meta ((type_ URowVector) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_1d_simplex) + (decl_type + (Sized + (SArray + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_1d_row_vec (UArray URowVector) ()) - ((pattern (Var p_1d_row_vec)) - (meta - ((type_ (UArray URowVector)) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_3d_simplex) + (decl_type + (Sized + (SArray + (SArray + (SArray + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_3d_row_vec (UArray (UArray (UArray URowVector))) ()) - ((pattern (Var p_3d_row_vec)) - (meta - ((type_ (UArray (UArray (UArray URowVector)))) (loc ) - (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_cfcov_54) + (decl_type + (Sized + (SMatrix + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (theta_p UVector ()) - ((pattern - (FunApp (StanLib algebra_solver FnPlain) - (((pattern (Var algebra_system)) - (meta - ((type_ - (UFun - ((AutoDiffable UVector) (AutoDiffable UVector) - (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain)) - (loc ) (adlevel AutoDiffable)))) - ((pattern (Var x)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((pattern (Var y)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat_int)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) - (meta )) - ((pattern - (Assignment (theta_p UVector ()) - ((pattern - (FunApp (StanLib algebra_solver FnPlain) - (((pattern (Var algebra_system)) - (meta - ((type_ - (UFun - ((AutoDiffable UVector) (AutoDiffable UVector) - (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain)) - (loc ) (adlevel AutoDiffable)))) - ((pattern (Var x)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((pattern (Var y)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat_int)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Real 0.01)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Real 0.01)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 10)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_cfcov_33) + (decl_type + (Sized + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (theta_p UVector ()) - ((pattern - (FunApp (StanLib algebra_solver FnPlain) - (((pattern (Var algebra_system)) - (meta - ((type_ - (UFun - ((AutoDiffable UVector) (AutoDiffable UVector) - (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain)) - (loc ) (adlevel AutoDiffable)))) - ((pattern (Var x)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((pattern (Var y_p)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var dat)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat_int)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Real 0.01)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Real 0.01)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 10)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id gq_cfcov_33_ar) + (decl_type + (Sized + (SArray + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (theta_p UVector ()) - ((pattern - (FunApp (StanLib algebra_solver FnPlain) - (((pattern (Var algebra_system)) - (meta - ((type_ - (UFun - ((AutoDiffable UVector) (AutoDiffable UVector) - (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain)) - (loc ) (adlevel AutoDiffable)))) - ((pattern (Var x_p)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var y)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat_int)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id indices) + (decl_type + (Sized + (SArray SInt + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (theta_p UVector ()) + (Assignment (indices (UArray UInt) ()) ((pattern - (FunApp (StanLib algebra_solver FnPlain) - (((pattern (Var algebra_system)) - (meta - ((type_ - (UFun - ((AutoDiffable UVector) (AutoDiffable UVector) - (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain)) - (loc ) (adlevel AutoDiffable)))) - ((pattern (Var x_p)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var y)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat_int)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Real 0.01)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Real 0.01)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 10)) + (FunApp (CompilerInternal FnMakeArray) + (((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern - (Assignment (theta_p UVector ()) - ((pattern - (FunApp (StanLib algebra_solver FnPlain) - (((pattern (Var algebra_system)) - (meta - ((type_ - (UFun - ((AutoDiffable UVector) (AutoDiffable UVector) - (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain)) - (loc ) (adlevel AutoDiffable)))) - ((pattern (Var x_p)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var y_p)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var dat)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat_int)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id indexing_mat) + (decl_type + (Sized + (SArray + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (theta_p UVector ()) - ((pattern - (FunApp (StanLib algebra_solver FnPlain) - (((pattern (Var algebra_system)) - (meta - ((type_ - (UFun - ((AutoDiffable UVector) (AutoDiffable UVector) - (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain)) - (loc ) (adlevel AutoDiffable)))) - ((pattern (Var x_p)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var y_p)) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var dat)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) - ((pattern (Var dat_int)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Real 0.01)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Real 0.01)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 10)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id idx_res1) + (decl_type + (Sized + (SArray + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_real UReal ()) - ((pattern - (FunApp (StanLib EltTimes__ FnPlain) - (((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id idx_res2) + (decl_type + (Sized + (SArray + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (Assignment (tp_real UReal ()) - ((pattern - (FunApp (StanLib EltDivide__ FnPlain) - (((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))) - ((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (Decl (decl_adtype DataOnly) (decl_id idx_res3) + (decl_type + (Sized + (SArray + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str tp_real_1d_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) + (Decl (decl_adtype DataOnly) (decl_id idx_res11) + (decl_type + (Sized + (SArray + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern - (For (loopvar sym1__) + (Decl (decl_adtype DataOnly) (decl_id idx_res21) + (decl_type + (Sized + (SArray + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) + ((pattern + (Decl (decl_adtype DataOnly) (decl_id idx_res31) + (decl_type + (Sized + (SArray + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) + ((pattern + (Decl (decl_adtype DataOnly) (decl_id idx_res4) + (decl_type + (Sized + (SArray + (SRowVector + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) + ((pattern + (Decl (decl_adtype DataOnly) (decl_id idx_res5) + (decl_type + (Sized + (SArray + (SVector + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) + ((pattern + (Assignment (gq_real_1d_ar (UArray UReal) ()) + ((pattern + (Indexed + ((pattern (Var p_1d_simplex)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly)))) + (All + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_real_3d_ar (UArray (UArray (UArray UReal))) ()) + ((pattern (Var p_real_3d_ar)) + (meta + ((type_ (UArray (UArray (UArray UReal)))) (loc ) + (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_1d_vec (UArray UVector) ()) + ((pattern (Var p_1d_vec)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_3d_vec (UArray (UArray (UArray UVector))) ()) + ((pattern (Var p_3d_vec)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_row_vec URowVector ()) + ((pattern (Var p_row_vec)) + (meta ((type_ URowVector) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_1d_row_vec (UArray URowVector) ()) + ((pattern (Var p_1d_row_vec)) + (meta ((type_ (UArray URowVector)) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_3d_row_vec (UArray (UArray (UArray URowVector))) ()) + ((pattern (Var p_3d_row_vec)) + (meta + ((type_ (UArray (UArray (UArray URowVector)))) (loc ) + (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_simplex UVector ()) + ((pattern + (Indexed + ((pattern (Var p_1d_simplex)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Between + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UVector) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_1d_simplex (UArray UVector) ()) + ((pattern (Var p_1d_simplex)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_3d_simplex (UArray (UArray (UArray UVector))) ()) + ((pattern (Var p_3d_simplex)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_cfcov_54 UMatrix ()) + ((pattern (Var p_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_cfcov_33 UMatrix ()) + ((pattern (Var p_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (gq_cfcov_33_ar (UArray UMatrix) ()) + ((pattern (Var p_cfcov_33_ar)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (For (loopvar i) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var N)) + ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym2__) + (For (loopvar j) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var M)) + ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym3__) + (For (loopvar m) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var K)) + ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp - (CompilerInternal (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "tp_real_3d_ar[sym1__, sym2__, sym3__]")) + (For (loopvar n) + (lower + ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_real_3d_ar)) - (meta - ((type_ (UArray (UArray (UArray UReal)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) - (adlevel DataOnly))))))) + (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (Assignment + (gq_ar_mat (UArray (UArray UMatrix)) + ((Single + ((pattern (Var m)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var n)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var j)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + ((pattern (Lit Real 0.4)) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly)))))) + (meta ))))) + (meta ))))) (meta ))))) (meta ))))) (meta ))))) @@ -15971,7 +16565,7 @@ (meta ))))) (meta )) ((pattern - (For (loopvar sym1__) + (For (loopvar i) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) @@ -15982,119 +16576,99 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str tp_vec[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_vec)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (Assignment + (gq_vec UVector + ((Single + ((pattern (Var i)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (StanLib Times__ FnPlain) + (((pattern + (FunApp (StanLib PMinus__ FnPlain) + (((pattern (Lit Real 1.0)) + (meta + ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern + (Indexed + ((pattern (Var p_vec)) + (meta + ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) (meta ))))) (meta ))))) (meta )) ((pattern - (For (loopvar sym1__) + (For (loopvar i) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 4)) + ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym2__) + (For (loopvar j) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 5)) + ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym3__) + (For (loopvar k) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 2)) + ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal - (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_ar_mat)) - (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) + (Assignment + (indexing_mat (UArray UMatrix) + ((Single + ((pattern (Var k)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var j)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + ((pattern + (FunApp (StanLib normal_rng FnRng) + (((pattern (Lit Int 0)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))) + ((pattern (Lit Int 1)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly)))))) (meta ))))) (meta ))))) (meta ))))) @@ -16103,6216 +16677,403 @@ (meta ))))) (meta )) ((pattern - (For (loopvar sym1__) + (For (loopvar i) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 4)) + ((pattern + (FunApp (StanLib size FnPlain) + (((pattern (Var indices)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym2__) + (For (loopvar j) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 5)) + ((pattern + (FunApp (StanLib size FnPlain) + (((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) + (adlevel DataOnly))))))) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal - (FnCheck less_or_equal)) - (((pattern - (Lit Str - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_ar_mat)) - (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) + (Assignment + (idx_res1 (UArray UMatrix) + ((Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Var j)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (Indexed + ((pattern (Var indexing_mat)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern + (Indexed + ((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern + (Indexed + ((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var j)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ URowVector) (loc ) + (adlevel DataOnly)))))) (meta ))))) (meta ))))) (meta ))))) (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str tp_simplex)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + (Assignment (idx_res11 (UArray UMatrix) ()) + ((pattern + (Indexed + ((pattern (Var indexing_mat)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + ((MultiIndex + ((pattern (Var indices)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))) + (MultiIndex + ((pattern (Var indices)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str tp_1d_simplex[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_1d_simplex)) + (IfElse + ((pattern + (FunApp (StanLib NEquals__ FnPlain) + (((pattern + (Indexed + ((pattern + (Indexed + ((pattern (Var indexing_mat)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((MultiIndex + ((pattern (Var indices)) (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern + ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))) + (MultiIndex + ((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern + (Indexed + ((pattern (Var idx_res1)) + (meta + ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern + (Block + (((pattern + (NRFunApp (CompilerInternal FnReject) + (((pattern (Lit Str "indexing test 1 failed")) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ))))) + (meta )) + ())) + (meta )) + ((pattern + (For (loopvar i) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar j) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern + (FunApp (StanLib size FnPlain) + (((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) + (adlevel DataOnly))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern (Block (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern - (Lit Str - "tp_3d_simplex[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var tp_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) + (Assignment + (idx_res2 (UArray UMatrix) + ((Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Var j)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (Indexed + ((pattern (Var indexing_mat)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern + (Indexed + ((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var j)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ URowVector) (loc ) + (adlevel DataOnly)))))) (meta ))))) (meta ))))) (meta ))))) (meta ))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_54)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (Assignment (idx_res21 (UArray UMatrix) ()) + ((pattern + (Indexed + ((pattern (Var indexing_mat)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + (All + (MultiIndex + ((pattern (Var indices)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_33)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var tp_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + (IfElse + ((pattern + (FunApp (StanLib NEquals__ FnPlain) + (((pattern + (Indexed + ((pattern + (Indexed + ((pattern (Var indexing_mat)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + (All + (MultiIndex + ((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern + (Indexed + ((pattern (Var idx_res2)) + (meta + ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern + (Block + (((pattern + (NRFunApp (CompilerInternal FnReject) + (((pattern (Lit Str "indexing test 2 failed")) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ))))) + (meta )) + ())) (meta )) ((pattern - (For (loopvar sym1__) + (For (loopvar i) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var K)) + ((pattern + (FunApp (StanLib size FnPlain) + (((pattern (Var indices)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str tp_cfcov_33_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + (For (loopvar j) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body ((pattern - (Indexed - ((pattern (Var tp_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (IfElse - ((pattern (Var emit_transformed_parameters__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Block - (((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) + (Block + (((pattern + (For (loopvar k) + (lower + ((pattern (Lit Int 1)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern + (FunApp (StanLib size FnPlain) + (((pattern (Var indices)) (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body + ((type_ (UArray UInt)) (loc ) + (adlevel DataOnly))))))) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (Assignment + (idx_res3 (UArray UMatrix) + ((Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var j)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var k)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_real_3d_ar)) - (meta - ((type_ - (UArray (UArray (UArray UReal)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_vec)) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern (Indexed - ((pattern (Var tp_1d_vec)) + ((pattern (Var indexing_mat)) (meta - ((type_ (UArray UVector)) (loc ) + ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) ((Single - ((pattern (Var sym2__)) + ((pattern + (Indexed + ((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var i)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_3d_vec)) - (meta - ((type_ - (UArray - (UArray - (UArray UVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_row_vec)) - (meta - ((type_ URowVector) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_1d_row_vec)) - (meta - ((type_ (UArray URowVector)) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) + ((pattern (Var j)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (Single - ((pattern (Var sym1__)) + ((pattern + (Indexed + ((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var k)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) (meta ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern - (Var tp_3d_row_vec)) - (meta - ((type_ - (UArray - (UArray - (UArray URowVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_mat)) - (meta - ((type_ UMatrix) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_ar_mat)) - (meta - ((type_ - (UArray - (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_simplex)) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern - (Var tp_3d_simplex)) - (meta - ((type_ - (UArray - (UArray - (UArray UVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) - (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_cfcov_54)) - (meta - ((type_ UMatrix) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_cfcov_33)) - (meta - ((type_ UMatrix) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var tp_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var theta_p)) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern (Var tp_real)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta )) - ())) - (meta )) - ((pattern - (IfElse - ((pattern - (FunApp (StanLib PNot__ FnPlain) - (((pattern (Var emit_generated_quantities__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Block (((pattern (Return ())) (meta ))))) - (meta )) - ())) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_r1) (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Assignment (gq_r1 UReal ()) - ((pattern - (FunApp (UserDefined foo_bar1 FnPlain) - (((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_r2) (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Assignment (gq_r2 UReal ()) - ((pattern - (FunApp (UserDefined foo_bar1 FnPlain) - (((pattern (Var J)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_real_1d_ar) - (decl_type - (Sized - (SArray SReal - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_real_3d_ar) - (decl_type - (Sized - (SArray - (SArray - (SArray SReal - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_vec) - (decl_type - (Sized - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_1d_vec) - (decl_type - (Sized - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_3d_vec) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_row_vec) - (decl_type - (Sized - (SRowVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_1d_row_vec) - (decl_type - (Sized - (SArray - (SRowVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_3d_row_vec) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SRowVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_ar_mat) - (decl_type - (Sized - (SArray - (SArray - (SMatrix - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_simplex) - (decl_type - (Sized - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_1d_simplex) - (decl_type - (Sized - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_3d_simplex) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_cfcov_54) - (decl_type - (Sized - (SMatrix - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_cfcov_33) - (decl_type - (Sized - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id gq_cfcov_33_ar) - (decl_type - (Sized - (SArray - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id indices) - (decl_type - (Sized - (SArray SInt - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (indices (UArray UInt) ()) - ((pattern - (FunApp (CompilerInternal FnMakeArray) - (((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id indexing_mat) - (decl_type - (Sized - (SArray - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id idx_res1) - (decl_type - (Sized - (SArray - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id idx_res2) - (decl_type - (Sized - (SArray - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id idx_res3) - (decl_type - (Sized - (SArray - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id idx_res11) - (decl_type - (Sized - (SArray - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id idx_res21) - (decl_type - (Sized - (SArray - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id idx_res31) - (decl_type - (Sized - (SArray - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id idx_res4) - (decl_type - (Sized - (SArray - (SRowVector - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id idx_res5) - (decl_type - (Sized - (SArray - (SVector - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (gq_real_1d_ar (UArray UReal) ()) - ((pattern - (Indexed - ((pattern (Var p_1d_simplex)) - (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly)))) - (All - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_real_3d_ar (UArray (UArray (UArray UReal))) ()) - ((pattern (Var p_real_3d_ar)) - (meta - ((type_ (UArray (UArray (UArray UReal)))) (loc ) - (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_1d_vec (UArray UVector) ()) - ((pattern (Var p_1d_vec)) - (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_3d_vec (UArray (UArray (UArray UVector))) ()) - ((pattern (Var p_3d_vec)) - (meta - ((type_ (UArray (UArray (UArray UVector)))) (loc ) - (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_row_vec URowVector ()) - ((pattern (Var p_row_vec)) - (meta ((type_ URowVector) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_1d_row_vec (UArray URowVector) ()) - ((pattern (Var p_1d_row_vec)) - (meta ((type_ (UArray URowVector)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_3d_row_vec (UArray (UArray (UArray URowVector))) ()) - ((pattern (Var p_3d_row_vec)) - (meta - ((type_ (UArray (UArray (UArray URowVector)))) (loc ) - (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_simplex UVector ()) - ((pattern - (Indexed - ((pattern (Var p_1d_simplex)) - (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Between - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_1d_simplex (UArray UVector) ()) - ((pattern (Var p_1d_simplex)) - (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_3d_simplex (UArray (UArray (UArray UVector))) ()) - ((pattern (Var p_3d_simplex)) - (meta - ((type_ (UArray (UArray (UArray UVector)))) (loc ) - (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_cfcov_54 UMatrix ()) - ((pattern (Var p_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_cfcov_33 UMatrix ()) - ((pattern (Var p_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (gq_cfcov_33_ar (UArray UMatrix) ()) - ((pattern (Var p_cfcov_33_ar)) - (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar i) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar j) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar m) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar n) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (gq_ar_mat (UArray (UArray UMatrix)) - ((Single - ((pattern (Var m)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var n)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var j)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern (Lit Real 0.4)) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar i) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (gq_vec UVector - ((Single - ((pattern (Var i)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib PMinus__ FnPlain) - (((pattern (Lit Real 1.0)) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var p_vec)) - (meta - ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar i) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar j) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar k) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (indexing_mat (UArray UMatrix) - ((Single - ((pattern (Var k)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var j)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (FunApp (StanLib normal_rng FnRng) - (((pattern (Lit Int 0)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar i) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern - (FunApp (StanLib size FnPlain) - (((pattern (Var indices)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar j) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern - (FunApp (StanLib size FnPlain) - (((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) - (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (idx_res1 (UArray UMatrix) - ((Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Var j)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern - (Indexed - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern - (Indexed - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var j)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ URowVector) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Assignment (idx_res11 (UArray UMatrix) ()) - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - ((MultiIndex - ((pattern (Var indices)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))) - (MultiIndex - ((pattern (Var indices)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (IfElse - ((pattern - (FunApp (StanLib NEquals__ FnPlain) - (((pattern - (Indexed - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((MultiIndex - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))) - (MultiIndex - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var idx_res1)) - (meta - ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnReject) - (((pattern (Lit Str "indexing test 1 failed")) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta )) - ())) - (meta )) - ((pattern - (For (loopvar i) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar j) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern - (FunApp (StanLib size FnPlain) - (((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) - (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (idx_res2 (UArray UMatrix) - ((Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Var j)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern - (Indexed - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var j)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ URowVector) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Assignment (idx_res21 (UArray UMatrix) ()) - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - (All - (MultiIndex - ((pattern (Var indices)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (IfElse - ((pattern - (FunApp (StanLib NEquals__ FnPlain) - (((pattern - (Indexed - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - (All - (MultiIndex - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var idx_res2)) - (meta - ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnReject) - (((pattern (Lit Str "indexing test 2 failed")) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta )) - ())) - (meta )) - ((pattern - (For (loopvar i) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern - (FunApp (StanLib size FnPlain) - (((pattern (Var indices)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar j) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar k) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern - (FunApp (StanLib size FnPlain) - (((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (idx_res3 (UArray UMatrix) - ((Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var j)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var k)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern - (Indexed - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var i)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var j)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern - (Indexed - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var k)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Assignment (idx_res31 (UArray UMatrix) ()) - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - ((MultiIndex - ((pattern (Var indices)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))) - All - (MultiIndex - ((pattern (Var indices)) - (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (IfElse - ((pattern - (FunApp (StanLib NEquals__ FnPlain) - (((pattern - (Indexed - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((MultiIndex - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))) - All - (MultiIndex - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) - (meta - ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var idx_res3)) - (meta - ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnReject) - (((pattern (Lit Str "indexing test 3 failed")) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta )) - ())) - (meta )) - ((pattern - (Assignment (idx_res4 (UArray URowVector) ()) - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - ((Between - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - All))) - (meta ((type_ (UArray URowVector)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (idx_res5 (UArray UVector) ()) - ((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) - ((Upfrom - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Between - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal (FnCheck greater_or_equal)) - (((pattern (Lit Str gq_real_1d_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "gq_real_3d_ar[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_real_3d_ar)) - (meta - ((type_ (UArray (UArray (UArray UReal)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal (FnCheck less_or_equal)) - (((pattern (Lit Str gq_vec[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_vec)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal - (FnCheck greater_or_equal)) - (((pattern - (Lit Str - "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_ar_mat)) - (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal - (FnCheck less_or_equal)) - (((pattern - (Lit Str - "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_ar_mat)) - (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str gq_simplex)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var gq_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern (Lit Str gq_1d_simplex[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal (FnCheck simplex)) - (((pattern - (Lit Str - "gq_3d_simplex[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str gq_cfcov_54)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var gq_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta )) - ((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str gq_cfcov_33)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Var gq_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal (FnCheck cholesky_factor)) - (((pattern (Lit Str gq_cfcov_33_ar[sym1__])) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var gq_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern (Var gq_r1)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta )) - ((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern (Var gq_r2)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_real_3d_ar)) - (meta - ((type_ (UArray (UArray (UArray UReal)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_vec)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_1d_vec)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_3d_vec)) - (meta - ((type_ - (UArray - (UArray (UArray UVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_row_vec)) - (meta - ((type_ URowVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_1d_row_vec)) - (meta - ((type_ (UArray URowVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_3d_row_vec)) - (meta - ((type_ - (UArray - (UArray (UArray URowVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_ar_mat)) - (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_3d_simplex)) - (meta - ((type_ - (UArray - (UArray (UArray UVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_cfcov_54)) - (meta - ((type_ UMatrix) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_cfcov_33)) - (meta - ((type_ UMatrix) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var gq_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var indices)) - (meta - ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var indexing_mat)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var idx_res1)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var idx_res2)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var idx_res3)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var idx_res11)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var idx_res21)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var idx_res31)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var idx_res4)) - (meta - ((type_ (UArray URowVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var idx_res5)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )))) - (transform_inits - (((pattern - (Decl (decl_adtype DataOnly) (decl_id pos__) (decl_type (Sized SInt)))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_real) (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Assignment (p_real UReal ()) - ((pattern - (Indexed - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_real)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_upper) - (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Assignment (p_upper UReal ()) - ((pattern - (Indexed - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_upper)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_upper_free__) - (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Assignment (p_upper_free__ UReal ()) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain lb)) - (((pattern (Var p_upper)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_lower) - (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Assignment (p_lower UReal ()) - ((pattern - (Indexed - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_lower)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_lower_free__) - (decl_type (Sized SReal)))) - (meta )) - ((pattern - (Assignment (p_lower_free__ UReal ()) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain ub)) - (((pattern (Var p_lower)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Var p_upper)) - (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id offset_multiplier) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (offset_multiplier (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str offset_multiplier)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id offset_multiplier_free__) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (offset_multiplier_free__ (UArray UReal) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain offset_multiplier)) - (((pattern - (Indexed - ((pattern (Var offset_multiplier)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id no_offset_multiplier) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (no_offset_multiplier (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str no_offset_multiplier)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id no_offset_multiplier_free__) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (no_offset_multiplier_free__ (UArray UReal) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain offset_multiplier)) - (((pattern - (Indexed - ((pattern (Var no_offset_multiplier)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id offset_no_multiplier) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (offset_no_multiplier (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str offset_no_multiplier)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id offset_no_multiplier_free__) - (decl_type - (Sized - (SArray SReal - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (offset_no_multiplier_free__ (UArray UReal) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain offset_multiplier)) - (((pattern - (Indexed - ((pattern (Var offset_no_multiplier)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_real_1d_ar) - (decl_type - (Sized - (SArray SReal - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (p_real_1d_ar (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_real_1d_ar)) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_real_1d_ar_free__) - (decl_type - (Sized - (SArray SReal - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_real_1d_ar_free__ (UArray UReal) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain lb)) - (((pattern - (Indexed - ((pattern (Var p_real_1d_ar)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_real_3d_ar) - (decl_type - (Sized - (SArray - (SArray - (SArray SReal - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_real_3d_ar_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_real_3d_ar_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_real_3d_ar)) - (meta - ((type_ (UArray (UArray (UArray UReal)))) (loc ) - (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_real_3d_ar - (UArray (UArray (UArray UReal))) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_real_3d_ar_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_real_3d_ar_free__) - (decl_type - (Sized - (SArray - (SArray - (SArray SReal - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_real_3d_ar_free__ - (UArray (UArray (UArray UReal))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain lb)) - (((pattern - (Indexed - ((pattern (Var p_real_3d_ar)) - (meta - ((type_ - (UArray (UArray (UArray UReal)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_vec) - (decl_type - (Sized - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_vec_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_vec_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_vec)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_vec UVector - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_vec_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_vec_free__) - (decl_type - (Sized - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_vec_free__ UVector - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain lb)) - (((pattern - (Indexed - ((pattern (Var p_vec)) - (meta - ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_1d_vec) - (decl_type - (Sized - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_1d_vec_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_1d_vec_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_1d_vec)) - (meta - ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_1d_vec (UArray UVector) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_1d_vec_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_3d_vec) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_3d_vec_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_3d_vec_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_3d_vec)) - (meta - ((type_ (UArray (UArray (UArray UVector)))) (loc ) - (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_3d_vec - (UArray (UArray (UArray UVector))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_3d_vec_flat__)) - (meta - ((type_ (UArray UReal)) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_row_vec) - (decl_type - (Sized - (SRowVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_row_vec_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_row_vec_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_row_vec)) - (meta ((type_ URowVector) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_row_vec URowVector - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_row_vec_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_1d_row_vec) - (decl_type - (Sized - (SArray - (SRowVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_1d_row_vec_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_1d_row_vec_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_1d_row_vec)) - (meta - ((type_ (UArray URowVector)) (loc ) - (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_1d_row_vec (UArray URowVector) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_1d_row_vec_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_3d_row_vec) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SRowVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_3d_row_vec_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_3d_row_vec_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_3d_row_vec)) - (meta - ((type_ (UArray (UArray (UArray URowVector)))) (loc ) - (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_3d_row_vec - (UArray - (UArray (UArray URowVector))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern - (Var p_3d_row_vec_flat__)) - (meta - ((type_ (UArray UReal)) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_mat) - (decl_type - (Sized - (SMatrix - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_mat_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_mat_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_mat)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_mat UMatrix - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_mat_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_ar_mat) - (decl_type - (Sized - (SArray - (SArray - (SMatrix - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_ar_mat_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_ar_mat_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_ar_mat)) - (meta - ((type_ (UArray (UArray UMatrix))) (loc ) - (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_ar_mat (UArray (UArray UMatrix)) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_ar_mat_flat__)) - (meta - ((type_ (UArray UReal)) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_ar_mat_free__) - (decl_type - (Sized - (SArray - (SArray - (SMatrix - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_ar_mat_free__ - (UArray (UArray UMatrix)) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (FunApp - (CompilerInternal - (FnUnconstrain lub)) - (((pattern - (Indexed - ((pattern (Var p_ar_mat)) - (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_simplex) - (decl_type - (Sized - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_simplex_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_simplex_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_simplex UVector - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_simplex_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_simplex_free__) - (decl_type - (Sized - (SVector - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (p_simplex_free__ UVector ()) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain simplex)) - (((pattern (Var p_simplex)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_1d_simplex) - (decl_type - (Sized - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_1d_simplex_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_1d_simplex_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_1d_simplex (UArray UVector) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_1d_simplex_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (adlevel DataOnly)))))) + (meta ))))) (meta ))))) (meta ))))) (meta ))))) @@ -22320,230 +17081,114 @@ (meta ))))) (meta )) ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_1d_simplex_free__) - (decl_type - (Sized - (SArray - (SVector - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_1d_simplex_free__ (UArray UVector) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain simplex)) - (((pattern - (Indexed - ((pattern (Var p_1d_simplex)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_3d_simplex) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SVector - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_3d_simplex_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_3d_simplex_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_3d_simplex)) - (meta - ((type_ (UArray (UArray (UArray UVector)))) (loc ) - (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym4__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (upper - ((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_3d_simplex - (UArray (UArray (UArray UVector))) - ((Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern - (Var p_3d_simplex_flat__)) - (meta - ((type_ (UArray UReal)) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) + (Assignment (idx_res31 (UArray UMatrix) ()) + ((pattern + (Indexed + ((pattern (Var indexing_mat)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + ((MultiIndex + ((pattern (Var indices)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))) + All + (MultiIndex + ((pattern (Var indices)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_3d_simplex_free__) - (decl_type - (Sized - (SArray - (SArray - (SArray - (SVector - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) + (IfElse + ((pattern + (FunApp (StanLib NEquals__ FnPlain) + (((pattern + (Indexed + ((pattern + (Indexed + ((pattern (Var indexing_mat)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((MultiIndex + ((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))) + All + (MultiIndex + ((pattern (Var indices)) + (meta + ((type_ (UArray UInt)) (loc ) (adlevel DataOnly)))))))) + (meta + ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly)))) + ((pattern + (Indexed + ((pattern (Var idx_res3)) + (meta + ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern + (Block + (((pattern + (NRFunApp (CompilerInternal FnReject) + (((pattern (Lit Str "indexing test 3 failed")) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (meta ))))) + (meta )) + ())) + (meta )) + ((pattern + (Assignment (idx_res4 (UArray URowVector) ()) + ((pattern + (Indexed + ((pattern (Var indexing_mat)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + ((Between + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + All))) + (meta ((type_ (UArray URowVector)) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (Assignment (idx_res5 (UArray UVector) ()) + ((pattern + (Indexed + ((pattern (Var indexing_mat)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly)))) + ((Upfrom + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Between + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly)))))) (meta )) ((pattern (For (loopvar sym1__) @@ -22557,178 +17202,109 @@ ((pattern (Block (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var M)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_3d_simplex_free__ - (UArray (UArray (UArray UVector))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (FunApp - (CompilerInternal (FnUnconstrain simplex)) - (((pattern - (Indexed - ((pattern (Var p_3d_simplex)) - (meta - ((type_ - (UArray (UArray (UArray UVector)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UVector) (loc ) - (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) - (meta ))))) + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name gq_real_1d_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var gq_real_1d_ar)) + (meta + ((type_ (UArray UReal)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) (meta ))))) (meta ))))) (meta )) ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_54) - (decl_type - (Sized - (SMatrix - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_cfcov_54_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_cfcov_54_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_cfcov_54 UMatrix - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_cfcov_54_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) + (For (loopvar sym1__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar sym2__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar sym3__) + (lower + ((pattern (Lit Int 1)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var K)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "gq_real_3d_ar[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var gq_real_3d_ar)) + (meta + ((type_ + (UArray (UArray (UArray UReal)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (adlevel DataOnly))))))) + (meta ))))) (meta ))))) (meta ))))) (meta ))))) @@ -22736,154 +17312,142 @@ (meta ))))) (meta )) ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_54_free__) - (decl_type - (Sized - (SVector - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Divide__ FnPlain) - (((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (p_cfcov_54_free__ UVector ()) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain cholesky_factor)) - (((pattern (Var p_cfcov_54)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_33) - (decl_type - (Sized - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (For (loopvar sym1__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (var_name gq_vec[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var gq_vec)) + (meta + ((type_ UVector) (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ))))) + (meta ))))) (meta )) ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_cfcov_33_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_cfcov_33_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) + (For (loopvar sym1__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_cfcov_33 UMatrix - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_cfcov_33_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) + (Block + (((pattern + (For (loopvar sym2__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar sym3__) + (lower + ((pattern (Lit Int 1)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 2)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar sym4__) + (lower + ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 3)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var gq_ar_mat)) + (meta + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + (meta ))))) + (meta ))))) + (meta ))))) (meta ))))) (meta ))))) (meta ))))) @@ -22891,179 +17455,220 @@ (meta ))))) (meta )) ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_33_free__) - (decl_type - (Sized - (SVector - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Divide__ FnPlain) - (((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) - (meta )) - ((pattern - (Assignment (p_cfcov_33_free__ UVector ()) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain cholesky_factor)) - (((pattern (Var p_cfcov_33)) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))))) + (For (loopvar sym1__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar sym2__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar sym3__) + (lower + ((pattern (Lit Int 1)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 2)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar sym4__) + (lower + ((pattern (Lit Int 1)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 3)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (NRFunApp + (CompilerInternal + (FnCheck + (trans + (Upper + ((pattern (Lit Int 1)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name + "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]") + (var + ((pattern + (Indexed + ((pattern (Var gq_ar_mat)) + (meta + ((type_ + (UArray (UArray UMatrix))) + (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 1)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + (meta ))))) + (meta ))))) + (meta ))))) + (meta ))))) + (meta ))))) + (meta ))))) + (meta ))))) + (meta ))))) (meta )) ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_33_ar) - (decl_type - (Sized - (SArray - (SMatrix - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name gq_simplex) + (var + ((pattern (Var gq_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id p_cfcov_33_ar_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (p_cfcov_33_ar_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str p_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) + (For (loopvar sym1__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym2__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (For (loopvar sym3__) - (lower - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Var K)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (p_cfcov_33_ar (UArray UMatrix) - ((Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var p_cfcov_33_ar_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) + (Block + (((pattern + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) (var_name gq_1d_simplex[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var gq_1d_simplex)) + (meta + ((type_ (UArray UVector)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta ))))) + (meta ))))) + (meta )) + ((pattern + (For (loopvar sym1__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar sym2__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (For (loopvar sym3__) + (lower + ((pattern (Lit Int 1)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var K)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (NRFunApp + (CompilerInternal + (FnCheck (trans Simplex) + (var_name + "gq_3d_simplex[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var gq_3d_simplex)) + (meta + ((type_ + (UArray (UArray (UArray UVector)))) + (loc ) (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) (meta ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) (meta ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))) - (meta ))))) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UVector) (loc ) + (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta ))))) @@ -23072,60 +17677,22 @@ (meta ))))) (meta )) ((pattern - (Decl (decl_adtype DataOnly) (decl_id p_cfcov_33_ar_free__) - (decl_type - (Sized - (SArray - (SVector - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Divide__ FnPlain) - (((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - ((pattern (Var K)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name gq_cfcov_54) + (var + ((pattern (Var gq_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name gq_cfcov_33) + (var + ((pattern (Var gq_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern (For (loopvar sym1__) @@ -23139,184 +17706,358 @@ ((pattern (Block (((pattern - (Assignment - (p_cfcov_33_ar_free__ (UArray UVector) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (FunApp (CompilerInternal (FnUnconstrain cholesky_factor)) - (((pattern - (Indexed - ((pattern (Var p_cfcov_33_ar)) - (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UMatrix) (loc ) (adlevel DataOnly)))))) + (NRFunApp + (CompilerInternal + (FnCheck (trans CholeskyCov) (var_name gq_cfcov_33_ar[sym1__]) + (var + ((pattern + (Indexed + ((pattern (Var gq_cfcov_33_ar)) + (meta + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))))))) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) (meta ))))) (meta ))))) (meta )) ((pattern - (Decl (decl_adtype DataOnly) (decl_id x_p) - (decl_type - (Sized - (SVector - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_r1)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id x_p_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (x_p_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str x_p)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (x_p UVector - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var x_p_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_r2)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_real_1d_ar)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_real_3d_ar)) + (meta + ((type_ (UArray (UArray (UArray UReal)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_vec)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_1d_vec)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_3d_vec)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_row_vec)) + (meta ((type_ URowVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_1d_row_vec)) + (meta + ((type_ (UArray URowVector)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_3d_row_vec)) + (meta + ((type_ (UArray (UArray (UArray URowVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_ar_mat)) + (meta + ((type_ (UArray (UArray UMatrix))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_1d_simplex)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_3d_simplex)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var gq_cfcov_33_ar)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var indices)) + (meta ((type_ (UArray UInt)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var indexing_mat)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var idx_res1)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var idx_res2)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var idx_res3)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var idx_res11)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (Decl (decl_adtype DataOnly) (decl_id y_p) - (decl_type - (Sized - (SVector - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var idx_res21)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (Block - (((pattern - (Decl (decl_adtype AutoDiffable) (decl_id y_p_flat__) - (decl_type (Unsized (UArray UReal))))) - (meta )) - ((pattern - (Assignment (y_p_flat__ (UArray UReal) ()) - ((pattern - (FunApp (CompilerInternal FnReadData) - (((pattern (Lit Str y_p)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) - (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (For (loopvar sym1__) - (lower - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (body - ((pattern - (Block - (((pattern - (Assignment - (y_p UVector - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - ((pattern - (Indexed - ((pattern (Var y_p_flat__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly)))))) - (meta )) - ((pattern - (Assignment (pos__ UInt ()) - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern (Var pos__)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) - (meta ))))) - (meta ))))) - (meta ))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var idx_res31)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern (Var p_real)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var idx_res4)) + (meta + ((type_ (UArray URowVector)) (loc ) (adlevel DataOnly))))))) + ())) (meta )) ((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern (Var p_upper_free__)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt ()) + (var + ((pattern (Var idx_res5)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )))) + (transform_inits + (((pattern + (Decl (decl_adtype DataOnly) (decl_id pos__) (decl_type (Sized SInt)))) (meta )) ((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern (Var p_lower_free__)) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (Assignment (pos__ UInt ()) + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_real) + (decl_type (Sized SReal)))) + (meta )) + ((pattern + (Assignment (p_real UReal ()) + ((pattern (FunApp (CompilerInternal FnReadDataSerializer) ())) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Identity)) + (var + ((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_upper) + (decl_type (Sized SReal)))) + (meta )) + ((pattern + (Assignment (p_upper UReal ()) + ((pattern (FunApp (CompilerInternal FnReadDataSerializer) ())) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam + (unconstrain_opt + ((Lower + ((pattern (Var p_real)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (var + ((pattern (Var p_upper)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_lower) + (decl_type (Sized SReal)))) + (meta )) + ((pattern + (Assignment (p_lower UReal ()) + ((pattern (FunApp (CompilerInternal FnReadDataSerializer) ())) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam + (unconstrain_opt + ((Upper + ((pattern (Var p_upper)) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable))))))) + (var + ((pattern (Var p_lower)) + (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id offset_multiplier) + (decl_type + (Sized + (SArray SReal + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) (meta )) ((pattern (For (loopvar sym1__) @@ -23330,20 +18071,39 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var offset_multiplier_free__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (Assignment + (offset_multiplier UReal + ((Single + ((pattern (Var sym1__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern (FunApp (CompilerInternal FnReadDataSerializer) ())) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam + (unconstrain_opt + ((OffsetMultiplier + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (var + ((pattern (Var offset_multiplier)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id no_offset_multiplier) + (decl_type + (Sized + (SArray SReal + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -23356,20 +18116,37 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var no_offset_multiplier_free__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (Assignment + (no_offset_multiplier UReal + ((Single + ((pattern (Var sym1__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern (FunApp (CompilerInternal FnReadDataSerializer) ())) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam + (unconstrain_opt + ((Multiplier + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (var + ((pattern (Var no_offset_multiplier)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id offset_no_multiplier) + (decl_type + (Sized + (SArray SReal + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -23382,20 +18159,37 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var offset_no_multiplier_free__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (Assignment + (offset_no_multiplier UReal + ((Single + ((pattern (Var sym1__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern (FunApp (CompilerInternal FnReadDataSerializer) ())) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam + (unconstrain_opt + ((Offset + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (var + ((pattern (Var offset_no_multiplier)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_real_1d_ar) + (decl_type + (Sized + (SArray SReal + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -23408,27 +18202,50 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_real_1d_ar_free__)) - (meta - ((type_ (UArray UReal)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (Assignment + (p_real_1d_ar UReal + ((Single + ((pattern (Var sym1__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern (FunApp (CompilerInternal FnReadDataSerializer) ())) + (meta ((type_ UReal) (loc ) (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam + (unconstrain_opt + ((Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (var + ((pattern (Var p_real_1d_ar)) + (meta ((type_ (UArray UReal)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_real_3d_ar) + (decl_type + (Sized + (SArray + (SArray + (SArray SReal + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var N)) + ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -23451,38 +18268,36 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var K)) + ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_real_3d_ar_free__)) - (meta - ((type_ (UArray (UArray (UArray UReal)))) - (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) + (Assignment + (p_real_3d_ar UReal + ((Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + ((pattern + (FunApp + (CompilerInternal FnReadDataSerializer) ())) + (meta + ((type_ UReal) (loc ) + (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta ))))) @@ -23490,6 +18305,29 @@ (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam + (unconstrain_opt + ((Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (var + ((pattern (Var p_real_3d_ar)) + (meta + ((type_ (UArray (UArray (UArray UReal)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_vec) + (decl_type + (Sized + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -23502,18 +18340,43 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_vec_free__)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (Assignment + (p_vec UVector + ((Single + ((pattern (Var sym1__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam + (unconstrain_opt + ((Lower + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (var + ((pattern (Var p_vec)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_1d_vec) + (decl_type + (Sized + (SArray + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -23537,30 +18400,55 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_1d_vec)) + (Assignment + (p_1d_vec UVector + ((Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Var N)) (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta + ((type_ UVector) (loc ) + (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Identity)) + (var + ((pattern (Var p_1d_vec)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_3d_vec) + (decl_type + (Sized + (SArray + (SArray + (SArray + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -23578,7 +18466,7 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var M)) + ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -23590,7 +18478,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var K)) + ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body @@ -23612,40 +18500,39 @@ ((pattern (Block (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_3d_vec)) + (Assignment + (p_3d_vec UVector + ((Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + ((pattern + (FunApp + (CompilerInternal + FnReadDataSerializer) + (((pattern (Var N)) (meta - ((type_ - (UArray - (UArray (UArray UVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + (meta + ((type_ UVector) (loc ) + (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta ))))) @@ -23655,6 +18542,25 @@ (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Identity)) + (var + ((pattern (Var p_3d_vec)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_row_vec) + (decl_type + (Sized + (SRowVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -23667,19 +18573,40 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_row_vec)) - (meta - ((type_ URowVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (Assignment + (p_row_vec URowVector + ((Single + ((pattern (Var sym1__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta + ((type_ URowVector) (loc ) (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Identity)) + (var + ((pattern (Var p_row_vec)) + (meta ((type_ URowVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_1d_row_vec) + (decl_type + (Sized + (SArray + (SRowVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -23703,30 +18630,56 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_1d_row_vec)) + (Assignment + (p_1d_row_vec URowVector + ((Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Var N)) (meta - ((type_ (UArray URowVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta + ((type_ URowVector) (loc ) + (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Identity)) + (var + ((pattern (Var p_1d_row_vec)) + (meta + ((type_ (UArray URowVector)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_3d_row_vec) + (decl_type + (Sized + (SArray + (SArray + (SArray + (SRowVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -23744,7 +18697,7 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var M)) + ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -23756,7 +18709,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var K)) + ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body @@ -23778,40 +18731,39 @@ ((pattern (Block (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_3d_row_vec)) + (Assignment + (p_3d_row_vec URowVector + ((Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + ((pattern + (FunApp + (CompilerInternal + FnReadDataSerializer) + (((pattern (Var N)) (meta - ((type_ - (UArray - (UArray (UArray URowVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + (meta + ((type_ URowVector) (loc ) + (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta ))))) @@ -23821,6 +18773,27 @@ (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Identity)) + (var + ((pattern (Var p_3d_row_vec)) + (meta + ((type_ (UArray (UArray (UArray URowVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_mat) + (decl_type + (Sized + (SMatrix + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -23844,37 +18817,64 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_mat)) + (Assignment + (p_mat UMatrix + ((Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Lit Int 5)) (meta - ((type_ UMatrix) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta + ((type_ UMatrix) (loc ) + (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Identity)) + (var + ((pattern (Var p_mat)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_ar_mat) + (decl_type + (Sized + (SArray + (SArray + (SMatrix + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 4)) + ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -23885,7 +18885,7 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 5)) + ((pattern (Lit Int 2)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -23897,7 +18897,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 3)) + ((pattern (Lit Int 5)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body @@ -23911,7 +18911,7 @@ ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Lit Int 2)) + ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) @@ -23919,39 +18919,43 @@ ((pattern (Block (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_ar_mat_free__)) + (Assignment + (p_ar_mat UMatrix + ((Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + ((pattern + (FunApp + (CompilerInternal + FnReadDataSerializer) + (((pattern (Lit Int 2)) (meta - ((type_ - (UArray (UArray UMatrix))) - (loc ) + ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) + ((pattern (Lit Int 3)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + (meta + ((type_ UMatrix) (loc ) + (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta ))))) @@ -23961,35 +18965,76 @@ (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam + (unconstrain_opt + ((LowerUpper + ((pattern (Lit Int 0)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (var + ((pattern (Var p_ar_mat)) + (meta + ((type_ (UArray (UArray UMatrix))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_simplex) + (decl_type + (Sized + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_simplex_free__)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (Assignment + (p_simplex UVector + ((Single + ((pattern (Var sym1__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Simplex)) + (var + ((pattern (Var p_simplex)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_1d_simplex) + (decl_type + (Sized + (SArray + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -24007,41 +19052,61 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Var N)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_1d_simplex_free__)) + (Assignment + (p_1d_simplex UVector + ((Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Var N)) (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta + ((type_ UVector) (loc ) + (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Simplex)) + (var + ((pattern (Var p_1d_simplex)) + (meta ((type_ (UArray UVector)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_3d_simplex) + (decl_type + (Sized + (SArray + (SArray + (SArray + (SVector + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var M)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var N)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -24059,7 +19124,7 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var M)) + ((pattern (Var K)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -24071,7 +19136,7 @@ (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var K)) + ((pattern (Var M)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body @@ -24085,16 +19150,7 @@ ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Var N)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) + ((pattern (Var N)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) @@ -24102,41 +19158,39 @@ ((pattern (Block (((pattern - (NRFunApp - (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern - (Var p_3d_simplex_free__)) + (Assignment + (p_3d_simplex UVector + ((Single + ((pattern (Var sym4__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + ((pattern + (FunApp + (CompilerInternal + FnReadDataSerializer) + (((pattern (Var N)) (meta - ((type_ - (UArray - (UArray (UArray UVector)))) - (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym4__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly))))))) + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + (meta + ((type_ UVector) (loc ) + (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta ))))) @@ -24146,139 +19200,173 @@ (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Simplex)) + (var + ((pattern (Var p_3d_simplex)) + (meta + ((type_ (UArray (UArray (UArray UVector)))) (loc ) + (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_cfcov_54) + (decl_type + (Sized + (SMatrix + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) - (upper - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Divide__ FnPlain) - (((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 4)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 5)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 4)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (upper + ((pattern (Lit Int 4)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_cfcov_54_free__)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (For (loopvar sym2__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 5)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (Assignment + (p_cfcov_54 UMatrix + ((Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Lit Int 5)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 4)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta + ((type_ UMatrix) (loc ) + (adlevel AutoDiffable)))))) + (meta ))))) + (meta ))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (CholeskyCov)) + (var + ((pattern (Var p_cfcov_54)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_cfcov_33) + (decl_type + (Sized + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Divide__ FnPlain) - (((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_cfcov_33_free__)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (For (loopvar sym2__) + (lower + ((pattern (Lit Int 1)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (Assignment + (p_cfcov_33 UMatrix + ((Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Lit Int 3)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta + ((type_ UMatrix) (loc ) + (adlevel AutoDiffable)))))) + (meta ))))) + (meta ))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (CholeskyCov)) + (var + ((pattern (Var p_cfcov_33)) + (meta ((type_ UMatrix) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id p_cfcov_33_ar) + (decl_type + (Sized + (SArray + (SMatrix + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) + ((pattern (Var K)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern (Var K)) + ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern @@ -24289,87 +19377,80 @@ ((pattern (Lit Int 1)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (upper - ((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Plus__ FnPlain) - (((pattern - (FunApp (StanLib Divide__ FnPlain) - (((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 1)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 2)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern - (FunApp (StanLib Times__ FnPlain) - (((pattern - (FunApp (StanLib Minus__ FnPlain) - (((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly)))) - ((pattern (Lit Int 3)) - (meta - ((type_ UInt) (loc ) (adlevel DataOnly))))))) - (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern (Lit Int 3)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))) (body ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var p_cfcov_33_ar_free__)) - (meta - ((type_ (UArray UVector)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) + (For (loopvar sym3__) + (lower + ((pattern (Lit Int 1)) + (meta + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (upper + ((pattern (Var K)) (meta - ((type_ UReal) (loc ) (adlevel DataOnly))))))) + ((type_ UInt) (loc ) (adlevel DataOnly))))) + (body + ((pattern + (Block + (((pattern + (Assignment + (p_cfcov_33_ar UMatrix + ((Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + ((pattern + (FunApp + (CompilerInternal FnReadDataSerializer) + (((pattern (Lit Int 3)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))) + ((pattern (Lit Int 3)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))))) + (meta + ((type_ UMatrix) (loc ) + (adlevel AutoDiffable)))))) + (meta ))))) + (meta ))))) (meta ))))) (meta ))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (CholeskyCov)) + (var + ((pattern (Var p_cfcov_33_ar)) + (meta ((type_ (UArray UMatrix)) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id x_p) + (decl_type + (Sized + (SVector + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -24382,18 +19463,36 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var x_p)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (Assignment + (x_p UVector + ((Single + ((pattern (Var sym1__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Identity)) + (var + ((pattern (Var x_p)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) + (meta )) + ((pattern + (Decl (decl_adtype AutoDiffable) (decl_id y_p) + (decl_type + (Sized + (SVector + ((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))))) + (meta )) ((pattern (For (loopvar sym1__) (lower @@ -24406,17 +19505,27 @@ ((pattern (Block (((pattern - (NRFunApp (CompilerInternal FnWriteParam) - (((pattern - (Indexed - ((pattern (Var y_p)) - (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta ((type_ UInt) (loc ) (adlevel DataOnly)))))))) - (meta ((type_ UReal) (loc ) (adlevel DataOnly))))))) + (Assignment + (y_p UVector + ((Single + ((pattern (Var sym1__)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + ((pattern + (FunApp (CompilerInternal FnReadDataSerializer) + (((pattern (Lit Int 2)) + (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) + (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))))) (meta ))))) (meta ))))) + (meta )) + ((pattern + (NRFunApp + (CompilerInternal + (FnWriteParam (unconstrain_opt (Identity)) + (var + ((pattern (Var y_p)) + (meta ((type_ UVector) (loc ) (adlevel DataOnly))))))) + ())) (meta )))) (output_vars ((p_real diff --git a/test/integration/good/compiler-optimizations/cpp.expected b/test/integration/good/compiler-optimizations/cpp.expected index 41756f3875..3769ed3717 100644 --- a/test/integration/good/compiler-optimizations/cpp.expected +++ b/test/integration/good/compiler-optimizations/cpp.expected @@ -258,22 +258,22 @@ class ad_level_failing_model final : public model_base_crtp lcm_sym28__; + local_scalar_t__ lcm_sym29__; + double lcm_sym28__; double lcm_sym27__; double lcm_sym26__; - double lcm_sym25__; + std::vector lcm_sym25__; double lcm_sym24__; - std::vector> lcm_sym23__; + double lcm_sym23__; double lcm_sym22__; double lcm_sym21__; - double lcm_sym20__; + std::vector> lcm_sym20__; double lcm_sym19__; - int lcm_sym18__; - int lcm_sym17__; + double lcm_sym18__; + double lcm_sym17__; + double lcm_sym16__; + int lcm_sym15__; + int lcm_sym14__; local_scalar_t__ beta; beta = DUMMY_VAR__; @@ -307,39 +307,39 @@ class ad_level_failing_model final : public model_base_crtp(5, std::numeric_limits::quiet_NaN()); - assign(lcm_sym28__, std::vector{beta, + assign(lcm_sym25__, std::vector{beta, stan::math::promote_scalar(1000000), gamma, xi, - delta}, "assigning variable lcm_sym28__"); - assign(lcm_sym23__, - integrate_ode_rk45(simple_SIR_functor__(), y0, 0, t, lcm_sym28__, - x_r, x_i, pstream__), "assigning variable lcm_sym23__"); - assign(y, lcm_sym23__, "assigning variable y"); + delta}, "assigning variable lcm_sym25__"); + assign(lcm_sym20__, + integrate_ode_rk45(simple_SIR_functor__(), y0, 0, t, lcm_sym25__, + x_r, x_i, pstream__), "assigning variable lcm_sym20__"); + assign(y, lcm_sym20__, "assigning variable y"); } current_statement__ = 5; if (logical_gte(N_t, 1)) { { { { - lcm_sym32__ = rvalue(lcm_sym23__, "lcm_sym23__", + lcm_sym29__ = rvalue(lcm_sym20__, "lcm_sym20__", index_uni(1), index_uni(1)); check_greater_or_equal(function__, "y[sym1__, sym2__]", - lcm_sym32__, 0); + lcm_sym29__, 0); { current_statement__ = 5; check_greater_or_equal(function__, "y[sym1__, sym2__]", - rvalue(lcm_sym23__, "lcm_sym23__", + rvalue(lcm_sym20__, "lcm_sym20__", index_uni(1), index_uni(2)), 0); } { current_statement__ = 5; check_greater_or_equal(function__, "y[sym1__, sym2__]", - rvalue(lcm_sym23__, "lcm_sym23__", + rvalue(lcm_sym20__, "lcm_sym20__", index_uni(1), index_uni(3)), 0); } { current_statement__ = 5; check_greater_or_equal(function__, "y[sym1__, sym2__]", - rvalue(lcm_sym23__, "lcm_sym23__", + rvalue(lcm_sym20__, "lcm_sym20__", index_uni(1), index_uni(4)), 0); } } @@ -348,31 +348,31 @@ class ad_level_failing_model final : public model_base_crtp(rvalue(stoi_hat, "stoi_hat", index_uni(1)), - (rvalue(y0, "y0", index_uni(1)) - lcm_sym32__))); + (rvalue(y0, "y0", index_uni(1)) - lcm_sym29__))); current_statement__ = 14; if (logical_gte(N_t, 2)) { current_statement__ = 13; lp_accum__.add( poisson_lpmf( rvalue(stoi_hat, "stoi_hat", index_uni(2)), - (lcm_sym32__ - - rvalue(lcm_sym23__, "lcm_sym23__", + (lcm_sym29__ - + rvalue(lcm_sym20__, "lcm_sym20__", index_uni(2), index_uni(1))))); for (int n = 3; n <= N_t; ++n) { current_statement__ = 13; lp_accum__.add( poisson_lpmf( rvalue(stoi_hat, "stoi_hat", index_uni(n)), - (rvalue(lcm_sym23__, "lcm_sym23__", + (rvalue(lcm_sym20__, "lcm_sym20__", index_uni((n - 1)), index_uni(1)) - - rvalue(lcm_sym23__, "lcm_sym23__", + rvalue(lcm_sym20__, "lcm_sym20__", index_uni(n), index_uni(1))))); } } current_statement__ = 15; lp_accum__.add( lognormal_lpdf(B_hat, - stan::math::log(col(to_matrix(lcm_sym23__), 4)), 0.15)); + stan::math::log(col(to_matrix(lcm_sym20__), 4)), 0.15)); } } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -432,8 +432,8 @@ class ad_level_failing_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -447,9 +447,6 @@ class ad_level_failing_model final : public model_base_crtp>(N_t, std::vector(4, std::numeric_limits::quiet_NaN())); - vars__.emplace_back(beta); - vars__.emplace_back(gamma); - vars__.emplace_back(xi); - vars__.emplace_back(delta); + out__.write(beta); + out__.write(gamma); + out__.write(xi); + out__.write(delta); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -508,8 +505,8 @@ class ad_level_failing_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double beta; - beta = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - beta = context__.vals_r("beta")[(1 - 1)]; - double beta_free__; - beta_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - beta_free__ = stan::math::lb_free(beta, 0); - double gamma; - gamma = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - gamma = context__.vals_r("gamma")[(1 - 1)]; - double gamma_free__; - gamma_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - gamma_free__ = stan::math::lb_free(gamma, 0); - double xi; - xi = std::numeric_limits::quiet_NaN(); + local_scalar_t__ beta; + beta = DUMMY_VAR__; - current_statement__ = 3; - xi = context__.vals_r("xi")[(1 - 1)]; - double xi_free__; - xi_free__ = std::numeric_limits::quiet_NaN(); + beta = in__.read(); + out__.write_free_lb(0, beta); + local_scalar_t__ gamma; + gamma = DUMMY_VAR__; - current_statement__ = 3; - xi_free__ = stan::math::lb_free(xi, 0); - double delta; - delta = std::numeric_limits::quiet_NaN(); + gamma = in__.read(); + out__.write_free_lb(0, gamma); + local_scalar_t__ xi; + xi = DUMMY_VAR__; - current_statement__ = 4; - delta = context__.vals_r("delta")[(1 - 1)]; - double delta_free__; - delta_free__ = std::numeric_limits::quiet_NaN(); + xi = in__.read(); + out__.write_free_lb(0, xi); + local_scalar_t__ delta; + delta = DUMMY_VAR__; - current_statement__ = 4; - delta_free__ = stan::math::lb_free(delta, 0); - vars__.emplace_back(beta_free__); - vars__.emplace_back(gamma_free__); - vars__.emplace_back(xi_free__); - vars__.emplace_back(delta_free__); + delta = in__.read(); + out__.write_free_lb(0, delta); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -710,11 +641,11 @@ class ad_level_failing_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((1 + 1) + 1) + 1); + const size_t num_transformed = (N_t * 4); + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -792,8 +728,14 @@ class ad_level_failing_model final : public model_base_crtp @@ -814,20 +756,32 @@ class ad_level_failing_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"beta", + "gamma", "xi", "delta", "y"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = ad_level_failing_model_namespace::ad_level_failing_model; @@ -1205,25 +1159,6 @@ return prob_uncaptured(nind, n_occasions, p, phi, pstream__); class copy_fail_model final : public model_base_crtp { private: - int lcm_sym186__; - int lcm_sym185__; - int lcm_sym184__; - int lcm_sym183__; - int lcm_sym182__; - int lcm_sym181__; - int lcm_sym180__; - int lcm_sym179__; - int lcm_sym178__; - int lcm_sym177__; - int lcm_sym176__; - int lcm_sym175__; - int lcm_sym174__; - int lcm_sym173__; - int lcm_sym172__; - int lcm_sym171__; - int lcm_sym170__; - int lcm_sym169__; - int lcm_sym168__; int lcm_sym167__; int lcm_sym166__; int lcm_sym165__; @@ -1236,6 +1171,25 @@ class copy_fail_model final : public model_base_crtp { int lcm_sym158__; int lcm_sym157__; int lcm_sym156__; + int lcm_sym155__; + int lcm_sym154__; + int lcm_sym153__; + int lcm_sym152__; + int lcm_sym151__; + int lcm_sym150__; + int lcm_sym149__; + int lcm_sym148__; + int lcm_sym147__; + int lcm_sym146__; + int lcm_sym145__; + int lcm_sym144__; + int lcm_sym143__; + int lcm_sym142__; + int lcm_sym141__; + int lcm_sym140__; + int lcm_sym139__; + int lcm_sym138__; + int lcm_sym137__; int nind; int n_occasions; std::vector> y; @@ -1339,11 +1293,11 @@ class copy_fail_model final : public model_base_crtp { y_flat__ = context__.vals_i("y"); current_statement__ = 35; pos__ = 1; - lcm_sym156__ = logical_gte(n_occasions, 1); - if (lcm_sym156__) { + lcm_sym137__ = logical_gte(n_occasions, 1); + if (lcm_sym137__) { { - lcm_sym157__ = logical_gte(nind, 1); - if (lcm_sym157__) { + lcm_sym138__ = logical_gte(nind, 1); + if (lcm_sym138__) { current_statement__ = 35; assign(y, rvalue(y_flat__, "y_flat__", index_uni(1)), "assigning variable y", index_uni(1), index_uni(1)); @@ -1359,7 +1313,7 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { current_statement__ = 35; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 35; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(1), index_uni(sym1__)); @@ -1377,13 +1331,13 @@ class copy_fail_model final : public model_base_crtp { } } } else { - lcm_sym157__ = logical_gte(nind, 1); + lcm_sym138__ = logical_gte(nind, 1); } } current_statement__ = 35; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 35; - if (lcm_sym156__) { + if (lcm_sym137__) { current_statement__ = 35; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), @@ -1397,7 +1351,7 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 35; - if (lcm_sym156__) { + if (lcm_sym137__) { current_statement__ = 35; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", @@ -1411,9 +1365,9 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 35; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 35; - if (lcm_sym156__) { + if (lcm_sym137__) { current_statement__ = 35; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 1); @@ -1426,7 +1380,7 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 35; - if (lcm_sym156__) { + if (lcm_sym137__) { current_statement__ = 35; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", @@ -1450,13 +1404,13 @@ class copy_fail_model final : public model_base_crtp { check_greater_or_equal(function__, "max_age", max_age, 1); current_statement__ = 37; validate_non_negative_index("x", "nind", nind); - lcm_sym159__ = (n_occasions - 1); - validate_non_negative_index("x", "n_occasions - 1", lcm_sym159__); + lcm_sym140__ = (n_occasions - 1); + validate_non_negative_index("x", "n_occasions - 1", lcm_sym140__); current_statement__ = 38; context__.validate_dims("data initialization","x","int", std::vector{static_cast(nind), - static_cast(lcm_sym159__)}); - x = std::vector>(nind, std::vector(lcm_sym159__, std::numeric_limits::min())); + static_cast(lcm_sym140__)}); + x = std::vector>(nind, std::vector(lcm_sym140__, std::numeric_limits::min())); { @@ -1465,10 +1419,10 @@ class copy_fail_model final : public model_base_crtp { x_flat__ = context__.vals_i("x"); current_statement__ = 38; pos__ = 1; - lcm_sym158__ = logical_gte(lcm_sym159__, 1); - if (lcm_sym158__) { + lcm_sym139__ = logical_gte(lcm_sym140__, 1); + if (lcm_sym139__) { current_statement__ = 38; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 38; assign(x, rvalue(x_flat__, "x_flat__", index_uni(1)), "assigning variable x", index_uni(1), index_uni(1)); @@ -1482,9 +1436,9 @@ class copy_fail_model final : public model_base_crtp { pos__ = (pos__ + 1); } } - for (int sym1__ = 2; sym1__ <= lcm_sym159__; ++sym1__) { + for (int sym1__ = 2; sym1__ <= lcm_sym140__; ++sym1__) { current_statement__ = 38; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 38; assign(x, x_flat__[(pos__ - 1)], "assigning variable x", index_uni(1), index_uni(sym1__)); @@ -1503,14 +1457,14 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 38; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 38; - if (lcm_sym158__) { + if (lcm_sym139__) { current_statement__ = 38; check_greater_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym159__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym140__; ++sym2__) { current_statement__ = 38; check_greater_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", @@ -1519,12 +1473,12 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 38; - if (lcm_sym158__) { + if (lcm_sym139__) { current_statement__ = 38; check_greater_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym159__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym140__; ++sym2__) { current_statement__ = 38; check_greater_or_equal(function__, "x[sym1__, sym2__]", x[(sym1__ - 1)][(sym2__ - 1)], 0); @@ -1533,14 +1487,14 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 38; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 38; - if (lcm_sym158__) { + if (lcm_sym139__) { current_statement__ = 38; check_less_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", index_uni(1), index_uni(1)), max_age); - for (int sym2__ = 2; sym2__ <= lcm_sym159__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym140__; ++sym2__) { current_statement__ = 38; check_less_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", @@ -1549,12 +1503,12 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 38; - if (lcm_sym158__) { + if (lcm_sym139__) { current_statement__ = 38; check_less_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", index_uni(sym1__), index_uni(1)), max_age); - for (int sym2__ = 2; sym2__ <= lcm_sym159__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym140__; ++sym2__) { current_statement__ = 38; check_less_or_equal(function__, "x[sym1__, sym2__]", x[(sym1__ - 1)][(sym2__ - 1)], max_age); @@ -1566,7 +1520,7 @@ class copy_fail_model final : public model_base_crtp { n_occ_minus_1 = std::numeric_limits::min(); current_statement__ = 39; - n_occ_minus_1 = lcm_sym159__; + n_occ_minus_1 = lcm_sym140__; current_statement__ = 40; validate_non_negative_index("first", "nind", nind); current_statement__ = 41; @@ -1578,15 +1532,15 @@ class copy_fail_model final : public model_base_crtp { last = std::vector(nind, std::numeric_limits::min()); current_statement__ = 48; - if (lcm_sym157__) { + if (lcm_sym138__) { int inline_sym17__; int inline_sym19__; inline_sym19__ = std::numeric_limits::min(); inline_sym19__ = 0; for (int inline_sym20__ = 1; inline_sym20__ <= 1; ++inline_sym20__) { - lcm_sym166__ = size(rvalue(y, "y", index_uni(1))); - for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym166__; + lcm_sym147__ = size(rvalue(y, "y", index_uni(1))); + for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym147__; ++inline_sym18__) { current_statement__ = 45; if (rvalue(y, "y", index_uni(1))[(inline_sym18__ - 1)]) { @@ -1611,8 +1565,8 @@ class copy_fail_model final : public model_base_crtp { inline_sym19__ = 0; for (int inline_sym20__ = 1; inline_sym20__ <= 1; ++inline_sym20__) { - lcm_sym165__ = size(rvalue(y, "y", index_uni(i))); - for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym165__; + lcm_sym146__ = size(rvalue(y, "y", index_uni(i))); + for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym146__; ++inline_sym18__) { current_statement__ = 45; if (rvalue(y, "y", index_uni(i))[(inline_sym18__ - 1)]) { @@ -1633,26 +1587,26 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 55; - if (lcm_sym157__) { + if (lcm_sym138__) { int inline_sym21__; int inline_sym24__; inline_sym24__ = std::numeric_limits::min(); inline_sym24__ = 0; for (int inline_sym25__ = 1; inline_sym25__ <= 1; ++inline_sym25__) { - lcm_sym166__ = size(rvalue(y, "y", index_uni(1))); - lcm_sym163__ = (lcm_sym166__ - 1); - for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym163__; + lcm_sym147__ = size(rvalue(y, "y", index_uni(1))); + lcm_sym144__ = (lcm_sym147__ - 1); + for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym144__; ++inline_sym23__) { int inline_sym22__; inline_sym22__ = std::numeric_limits::min(); - lcm_sym162__ = (lcm_sym166__ - inline_sym23__); - inline_sym22__ = lcm_sym162__; + lcm_sym143__ = (lcm_sym147__ - inline_sym23__); + inline_sym22__ = lcm_sym143__; current_statement__ = 51; - if (rvalue(y, "y", index_uni(1))[(lcm_sym162__ - 1)]) { + if (rvalue(y, "y", index_uni(1))[(lcm_sym143__ - 1)]) { inline_sym24__ = 1; - inline_sym21__ = lcm_sym162__; + inline_sym21__ = lcm_sym143__; break; } } @@ -1671,19 +1625,19 @@ class copy_fail_model final : public model_base_crtp { inline_sym24__ = 0; for (int inline_sym25__ = 1; inline_sym25__ <= 1; ++inline_sym25__) { - lcm_sym165__ = size(rvalue(y, "y", index_uni(i))); - lcm_sym161__ = (lcm_sym165__ - 1); - for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym161__; + lcm_sym146__ = size(rvalue(y, "y", index_uni(i))); + lcm_sym142__ = (lcm_sym146__ - 1); + for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym142__; ++inline_sym23__) { int inline_sym22__; inline_sym22__ = std::numeric_limits::min(); - lcm_sym160__ = (lcm_sym165__ - inline_sym23__); - inline_sym22__ = lcm_sym160__; + lcm_sym141__ = (lcm_sym146__ - inline_sym23__); + inline_sym22__ = lcm_sym141__; current_statement__ = 51; - if (rvalue(y, "y", index_uni(i))[(lcm_sym160__ - 1)]) { + if (rvalue(y, "y", index_uni(i))[(lcm_sym141__ - 1)]) { inline_sym24__ = 1; - inline_sym21__ = lcm_sym160__; + inline_sym21__ = lcm_sym141__; break; } } @@ -1699,7 +1653,7 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 41; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 41; check_greater_or_equal(function__, "first[sym1__]", rvalue(first, "first", index_uni(1)), 0); @@ -1710,7 +1664,7 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 41; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 41; check_less_or_equal(function__, "first[sym1__]", rvalue(first, "first", index_uni(1)), n_occasions); @@ -1721,7 +1675,7 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 43; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 43; check_greater_or_equal(function__, "last[sym1__]", rvalue(last, "last", index_uni(1)), 0); @@ -1732,7 +1686,7 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 43; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 43; check_less_or_equal(function__, "last[sym1__]", rvalue(last, "last", index_uni(1)), n_occasions); @@ -1747,11 +1701,11 @@ class copy_fail_model final : public model_base_crtp { current_statement__ = 57; validate_non_negative_index("phi", "nind", nind); current_statement__ = 58; - validate_non_negative_index("phi", "n_occ_minus_1", lcm_sym159__); + validate_non_negative_index("phi", "n_occ_minus_1", lcm_sym140__); current_statement__ = 59; validate_non_negative_index("p", "nind", nind); current_statement__ = 60; - validate_non_negative_index("p", "n_occ_minus_1", lcm_sym159__); + validate_non_negative_index("p", "n_occ_minus_1", lcm_sym140__); current_statement__ = 61; validate_non_negative_index("chi", "nind", nind); current_statement__ = 62; @@ -1783,25 +1737,6 @@ class copy_fail_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym155__; - double lcm_sym154__; - double lcm_sym153__; - double lcm_sym152__; - double lcm_sym151__; - double lcm_sym150__; - double lcm_sym149__; - double lcm_sym148__; - int lcm_sym147__; - int lcm_sym146__; - double lcm_sym145__; - double lcm_sym144__; - double lcm_sym143__; - double lcm_sym142__; - int lcm_sym141__; - int lcm_sym140__; - double lcm_sym139__; - double lcm_sym138__; - double lcm_sym137__; double lcm_sym136__; double lcm_sym135__; double lcm_sym134__; @@ -1810,32 +1745,51 @@ class copy_fail_model final : public model_base_crtp { double lcm_sym131__; double lcm_sym130__; double lcm_sym129__; - double lcm_sym128__; - double lcm_sym127__; + int lcm_sym128__; + int lcm_sym127__; double lcm_sym126__; double lcm_sym125__; double lcm_sym124__; - int lcm_sym123__; + double lcm_sym123__; int lcm_sym122__; int lcm_sym121__; - int lcm_sym120__; - int lcm_sym119__; - int lcm_sym118__; - int lcm_sym117__; - int lcm_sym116__; - int lcm_sym115__; - int lcm_sym114__; - int lcm_sym113__; - int lcm_sym112__; - int lcm_sym111__; - int lcm_sym110__; - int lcm_sym109__; - int lcm_sym108__; - int lcm_sym107__; - int lcm_sym106__; - int lcm_sym105__; + double lcm_sym120__; + double lcm_sym119__; + double lcm_sym118__; + double lcm_sym117__; + double lcm_sym116__; + double lcm_sym115__; + double lcm_sym114__; + double lcm_sym113__; + double lcm_sym112__; + double lcm_sym111__; + double lcm_sym110__; + double lcm_sym109__; + double lcm_sym108__; + double lcm_sym107__; + double lcm_sym106__; + double lcm_sym105__; int lcm_sym104__; int lcm_sym103__; + int lcm_sym102__; + int lcm_sym101__; + int lcm_sym100__; + int lcm_sym99__; + int lcm_sym98__; + int lcm_sym97__; + int lcm_sym96__; + int lcm_sym95__; + int lcm_sym94__; + int lcm_sym93__; + int lcm_sym92__; + int lcm_sym91__; + int lcm_sym90__; + int lcm_sym89__; + int lcm_sym88__; + int lcm_sym87__; + int lcm_sym86__; + int lcm_sym85__; + int lcm_sym84__; local_scalar_t__ mean_p; mean_p = DUMMY_VAR__; @@ -1861,16 +1815,16 @@ class copy_fail_model final : public model_base_crtp { chi = Eigen::Matrix(nind, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - lcm_sym104__ = logical_gte(nind, 1); - if (lcm_sym104__) { - lcm_sym141__ = rvalue(first, "first", index_uni(1)); - lcm_sym117__ = (lcm_sym141__ - 1); - if (logical_gte(lcm_sym117__, 1)) { + lcm_sym85__ = logical_gte(nind, 1); + if (lcm_sym85__) { + lcm_sym122__ = rvalue(first, "first", index_uni(1)); + lcm_sym98__ = (lcm_sym122__ - 1); + if (logical_gte(lcm_sym98__, 1)) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(1)); current_statement__ = 7; assign(p, 0, "assigning variable p", index_uni(1), index_uni(1)); - for (int t = 2; t <= lcm_sym117__; ++t) { + for (int t = 2; t <= lcm_sym98__; ++t) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(t)); @@ -1878,17 +1832,17 @@ class copy_fail_model final : public model_base_crtp { assign(p, 0, "assigning variable p", index_uni(1), index_uni(t)); } } - lcm_sym115__ = (n_occasions - 1); - if (logical_gte(lcm_sym115__, lcm_sym141__)) { + lcm_sym96__ = (n_occasions - 1); + if (logical_gte(lcm_sym96__, lcm_sym122__)) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", - index_uni(rvalue(x, "x", index_uni(1), index_uni(lcm_sym141__)))), - "assigning variable phi", index_uni(1), index_uni(lcm_sym141__)); - lcm_sym123__ = (lcm_sym141__ + 1); + index_uni(rvalue(x, "x", index_uni(1), index_uni(lcm_sym122__)))), + "assigning variable phi", index_uni(1), index_uni(lcm_sym122__)); + lcm_sym104__ = (lcm_sym122__ + 1); assign(p, mean_p, - "assigning variable p", index_uni(1), index_uni(lcm_sym141__)); - for (int t = lcm_sym123__; t <= lcm_sym115__; ++t) { + "assigning variable p", index_uni(1), index_uni(lcm_sym122__)); + for (int t = lcm_sym104__; t <= lcm_sym96__; ++t) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", @@ -1900,15 +1854,15 @@ class copy_fail_model final : public model_base_crtp { } } for (int i = 2; i <= nind; ++i) { - lcm_sym140__ = rvalue(first, "first", index_uni(i)); - lcm_sym116__ = (lcm_sym140__ - 1); - if (logical_gte(lcm_sym116__, 1)) { + lcm_sym121__ = rvalue(first, "first", index_uni(i)); + lcm_sym97__ = (lcm_sym121__ - 1); + if (logical_gte(lcm_sym97__, 1)) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(i), index_uni(1)); current_statement__ = 7; assign(p, 0, "assigning variable p", index_uni(i), index_uni(1)); - for (int t = 2; t <= lcm_sym116__; ++t) { + for (int t = 2; t <= lcm_sym97__; ++t) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(i), index_uni(t)); @@ -1917,17 +1871,17 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 12; - if (logical_gte(lcm_sym115__, lcm_sym140__)) { + if (logical_gte(lcm_sym96__, lcm_sym121__)) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", index_uni(rvalue(x, "x", - index_uni(i), index_uni(lcm_sym140__)))), - "assigning variable phi", index_uni(i), index_uni(lcm_sym140__)); - lcm_sym122__ = (lcm_sym140__ + 1); + index_uni(i), index_uni(lcm_sym121__)))), + "assigning variable phi", index_uni(i), index_uni(lcm_sym121__)); + lcm_sym103__ = (lcm_sym121__ + 1); assign(p, mean_p, - "assigning variable p", index_uni(i), index_uni(lcm_sym140__)); - for (int t = lcm_sym122__; t <= lcm_sym115__; ++t) { + "assigning variable p", index_uni(i), index_uni(lcm_sym121__)); + for (int t = lcm_sym103__; t <= lcm_sym96__; ++t) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", @@ -1959,57 +1913,57 @@ class copy_fail_model final : public model_base_crtp { assign(inline_sym10__, 1.0, "assigning variable inline_sym10__", index_uni(inline_sym14__), index_uni(n_occasions)); - lcm_sym115__ = (n_occasions - 1); - if (logical_gte(lcm_sym115__, 1)) { + lcm_sym96__ = (n_occasions - 1); + if (logical_gte(lcm_sym96__, 1)) { int inline_sym11__; inline_sym11__ = std::numeric_limits::min(); int inline_sym12__; inline_sym12__ = std::numeric_limits::min(); - lcm_sym119__ = (lcm_sym115__ + 1); + lcm_sym100__ = (lcm_sym96__ + 1); current_statement__ = 20; assign(inline_sym10__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym115__)) * + index_uni(inline_sym14__), index_uni(lcm_sym96__)) * (1 - rvalue(p, "p", index_uni(inline_sym14__), - index_uni((lcm_sym119__ - 1))))), + index_uni((lcm_sym100__ - 1))))), rvalue(inline_sym10__, "inline_sym10__", - index_uni(inline_sym14__), index_uni(lcm_sym119__)), + index_uni(inline_sym14__), index_uni(lcm_sym100__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym115__)))), + index_uni(inline_sym14__), index_uni(lcm_sym96__)))), "assigning variable inline_sym10__", index_uni(inline_sym14__), - index_uni(lcm_sym115__)); - for (int inline_sym13__ = 2; inline_sym13__ <= lcm_sym115__; + index_uni(lcm_sym96__)); + for (int inline_sym13__ = 2; inline_sym13__ <= lcm_sym96__; ++inline_sym13__) { int inline_sym11__; inline_sym11__ = std::numeric_limits::min(); - lcm_sym114__ = (n_occasions - inline_sym13__); + lcm_sym95__ = (n_occasions - inline_sym13__); int inline_sym12__; inline_sym12__ = std::numeric_limits::min(); - lcm_sym118__ = (lcm_sym114__ + 1); + lcm_sym99__ = (lcm_sym95__ + 1); current_statement__ = 20; assign(inline_sym10__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym114__)) * + index_uni(inline_sym14__), index_uni(lcm_sym95__)) * (1 - rvalue(p, "p", index_uni(inline_sym14__), - index_uni((lcm_sym118__ - 1))))), + index_uni((lcm_sym99__ - 1))))), rvalue(inline_sym10__, "inline_sym10__", - index_uni(inline_sym14__), index_uni(lcm_sym118__)), + index_uni(inline_sym14__), index_uni(lcm_sym99__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym114__)))), + index_uni(inline_sym14__), index_uni(lcm_sym95__)))), "assigning variable inline_sym10__", index_uni(inline_sym14__), - index_uni(lcm_sym114__)); + index_uni(lcm_sym95__)); } } if (inline_sym15__) { @@ -2026,15 +1980,15 @@ class copy_fail_model final : public model_base_crtp { } assign(chi, inline_sym9__, "assigning variable chi"); current_statement__ = 3; - if (lcm_sym104__) { - lcm_sym115__ = (n_occasions - 1); - lcm_sym105__ = logical_gte(lcm_sym115__, 1); - if (lcm_sym105__) { + if (lcm_sym85__) { + lcm_sym96__ = (n_occasions - 1); + lcm_sym86__ = logical_gte(lcm_sym96__, 1); + if (lcm_sym86__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -2043,12 +1997,12 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 3; - if (lcm_sym105__) { + if (lcm_sym86__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -2059,15 +2013,15 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 3; - if (lcm_sym104__) { - lcm_sym115__ = (n_occasions - 1); - lcm_sym105__ = logical_gte(lcm_sym115__, 1); - if (lcm_sym105__) { + if (lcm_sym85__) { + lcm_sym96__ = (n_occasions - 1); + lcm_sym86__ = logical_gte(lcm_sym96__, 1); + if (lcm_sym86__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -2076,12 +2030,12 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 3; - if (lcm_sym105__) { + if (lcm_sym86__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -2091,15 +2045,15 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 4; - if (lcm_sym104__) { - lcm_sym115__ = (n_occasions - 1); - lcm_sym105__ = logical_gte(lcm_sym115__, 1); - if (lcm_sym105__) { + if (lcm_sym85__) { + lcm_sym96__ = (n_occasions - 1); + lcm_sym86__ = logical_gte(lcm_sym96__, 1); + if (lcm_sym86__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -2108,12 +2062,12 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 4; - if (lcm_sym105__) { + if (lcm_sym86__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -2124,14 +2078,14 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 4; - if (lcm_sym104__) { - lcm_sym115__ = (n_occasions - 1); - lcm_sym105__ = logical_gte(lcm_sym115__, 1); - if (lcm_sym105__) { + if (lcm_sym85__) { + lcm_sym96__ = (n_occasions - 1); + lcm_sym86__ = logical_gte(lcm_sym96__, 1); + if (lcm_sym86__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -2140,12 +2094,12 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 4; - if (lcm_sym105__) { + if (lcm_sym86__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -2155,9 +2109,9 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 5; - if (lcm_sym104__) { - lcm_sym103__ = logical_gte(n_occasions, 1); - if (lcm_sym103__) { + if (lcm_sym85__) { + lcm_sym84__ = logical_gte(n_occasions, 1); + if (lcm_sym84__) { current_statement__ = 5; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -2171,7 +2125,7 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 5; - if (lcm_sym103__) { + if (lcm_sym84__) { current_statement__ = 5; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -2187,9 +2141,9 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 5; - if (lcm_sym104__) { - lcm_sym103__ = logical_gte(n_occasions, 1); - if (lcm_sym103__) { + if (lcm_sym85__) { + lcm_sym84__ = logical_gte(n_occasions, 1); + if (lcm_sym84__) { current_statement__ = 5; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -2203,7 +2157,7 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 5; - if (lcm_sym103__) { + if (lcm_sym84__) { current_statement__ = 5; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -2219,23 +2173,23 @@ class copy_fail_model final : public model_base_crtp { } { current_statement__ = 30; - if (lcm_sym104__) { - lcm_sym141__ = rvalue(first, "first", index_uni(1)); - if (logical_gt(lcm_sym141__, 0)) { - lcm_sym147__ = rvalue(last, "last", index_uni(1)); - lcm_sym123__ = (lcm_sym141__ + 1); - if (logical_gte(lcm_sym147__, lcm_sym123__)) { + if (lcm_sym85__) { + lcm_sym122__ = rvalue(first, "first", index_uni(1)); + if (logical_gt(lcm_sym122__, 0)) { + lcm_sym128__ = rvalue(last, "last", index_uni(1)); + lcm_sym104__ = (lcm_sym122__ + 1); + if (logical_gte(lcm_sym128__, lcm_sym104__)) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", - index_uni(1), index_uni((lcm_sym123__ - 1))))); - lcm_sym121__ = (lcm_sym123__ + 1); + index_uni(1), index_uni((lcm_sym104__ - 1))))); + lcm_sym102__ = (lcm_sym104__ + 1); lp_accum__.add( bernoulli_lpmf( - rvalue(y, "y", index_uni(1), index_uni(lcm_sym123__)), - rvalue(p, "p", index_uni(1), index_uni((lcm_sym123__ - 1))))); - for (int t = lcm_sym121__; t <= lcm_sym147__; ++t) { + rvalue(y, "y", index_uni(1), index_uni(lcm_sym104__)), + rvalue(p, "p", index_uni(1), index_uni((lcm_sym104__ - 1))))); + for (int t = lcm_sym102__; t <= lcm_sym128__; ++t) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, @@ -2251,26 +2205,26 @@ class copy_fail_model final : public model_base_crtp { lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym9__, "inline_sym9__", - index_uni(1), index_uni(lcm_sym147__)))); + index_uni(1), index_uni(lcm_sym128__)))); } for (int i = 2; i <= nind; ++i) { - lcm_sym140__ = rvalue(first, "first", index_uni(i)); - if (logical_gt(lcm_sym140__, 0)) { - lcm_sym146__ = rvalue(last, "last", index_uni(i)); - lcm_sym122__ = (lcm_sym140__ + 1); - if (logical_gte(lcm_sym146__, lcm_sym122__)) { + lcm_sym121__ = rvalue(first, "first", index_uni(i)); + if (logical_gt(lcm_sym121__, 0)) { + lcm_sym127__ = rvalue(last, "last", index_uni(i)); + lcm_sym103__ = (lcm_sym121__ + 1); + if (logical_gte(lcm_sym127__, lcm_sym103__)) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", - index_uni(i), index_uni((lcm_sym122__ - 1))))); - lcm_sym120__ = (lcm_sym122__ + 1); + index_uni(i), index_uni((lcm_sym103__ - 1))))); + lcm_sym101__ = (lcm_sym103__ + 1); lp_accum__.add( bernoulli_lpmf( - rvalue(y, "y", index_uni(i), index_uni(lcm_sym122__)), + rvalue(y, "y", index_uni(i), index_uni(lcm_sym103__)), rvalue(p, "p", - index_uni(i), index_uni((lcm_sym122__ - 1))))); - for (int t = lcm_sym120__; t <= lcm_sym146__; ++t) { + index_uni(i), index_uni((lcm_sym103__ - 1))))); + for (int t = lcm_sym101__; t <= lcm_sym127__; ++t) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, @@ -2286,7 +2240,7 @@ class copy_fail_model final : public model_base_crtp { lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym9__, "inline_sym9__", - index_uni(i), index_uni(lcm_sym146__)))); + index_uni(i), index_uni(lcm_sym127__)))); } } } @@ -2310,8 +2264,8 @@ class copy_fail_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -2325,29 +2279,10 @@ class copy_fail_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym102__; - double lcm_sym101__; - double lcm_sym100__; - double lcm_sym99__; - double lcm_sym98__; - double lcm_sym97__; - double lcm_sym96__; - double lcm_sym95__; - double lcm_sym94__; - double lcm_sym93__; - double lcm_sym92__; - double lcm_sym91__; - double lcm_sym90__; - double lcm_sym89__; - double lcm_sym88__; - double lcm_sym87__; - double lcm_sym86__; - double lcm_sym85__; - double lcm_sym84__; double lcm_sym83__; double lcm_sym82__; - int lcm_sym81__; - int lcm_sym80__; + double lcm_sym81__; + double lcm_sym80__; double lcm_sym79__; double lcm_sym78__; double lcm_sym77__; @@ -2358,12 +2293,12 @@ class copy_fail_model final : public model_base_crtp { double lcm_sym72__; int lcm_sym71__; int lcm_sym70__; - int lcm_sym69__; - int lcm_sym68__; - int lcm_sym67__; - int lcm_sym66__; - int lcm_sym65__; - int lcm_sym64__; + double lcm_sym69__; + double lcm_sym68__; + double lcm_sym67__; + double lcm_sym66__; + double lcm_sym65__; + double lcm_sym64__; int lcm_sym63__; int lcm_sym62__; int lcm_sym61__; @@ -2374,6 +2309,13 @@ class copy_fail_model final : public model_base_crtp { int lcm_sym56__; int lcm_sym55__; int lcm_sym54__; + int lcm_sym53__; + int lcm_sym52__; + int lcm_sym51__; + int lcm_sym50__; + int lcm_sym49__; + int lcm_sym48__; + int lcm_sym47__; double mean_p; mean_p = std::numeric_limits::quiet_NaN(); @@ -2399,27 +2341,22 @@ class copy_fail_model final : public model_base_crtp { chi = Eigen::Matrix(nind, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - vars__.emplace_back(mean_p); - if (logical_gte(max_age, 1)) { - vars__.emplace_back(rvalue(beta, "beta", index_uni(1))); - for (int sym1__ = 2; sym1__ <= max_age; ++sym1__) { - vars__.emplace_back(beta[(sym1__ - 1)]); - } - } + out__.write(mean_p); + out__.write(beta); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - lcm_sym56__ = logical_gte(nind, 1); - if (lcm_sym56__) { - lcm_sym81__ = rvalue(first, "first", index_uni(1)); - lcm_sym65__ = (lcm_sym81__ - 1); - if (logical_gte(lcm_sym65__, 1)) { + lcm_sym48__ = logical_gte(nind, 1); + if (lcm_sym48__) { + lcm_sym71__ = rvalue(first, "first", index_uni(1)); + lcm_sym57__ = (lcm_sym71__ - 1); + if (logical_gte(lcm_sym57__, 1)) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(1)); current_statement__ = 7; assign(p, 0, "assigning variable p", index_uni(1), index_uni(1)); - for (int t = 2; t <= lcm_sym65__; ++t) { + for (int t = 2; t <= lcm_sym57__; ++t) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(t)); @@ -2427,17 +2364,17 @@ class copy_fail_model final : public model_base_crtp { assign(p, 0, "assigning variable p", index_uni(1), index_uni(t)); } } - lcm_sym63__ = (n_occasions - 1); - if (logical_gte(lcm_sym63__, lcm_sym81__)) { + lcm_sym55__ = (n_occasions - 1); + if (logical_gte(lcm_sym55__, lcm_sym71__)) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", - index_uni(rvalue(x, "x", index_uni(1), index_uni(lcm_sym81__)))), - "assigning variable phi", index_uni(1), index_uni(lcm_sym81__)); - lcm_sym71__ = (lcm_sym81__ + 1); + index_uni(rvalue(x, "x", index_uni(1), index_uni(lcm_sym71__)))), + "assigning variable phi", index_uni(1), index_uni(lcm_sym71__)); + lcm_sym63__ = (lcm_sym71__ + 1); assign(p, mean_p, - "assigning variable p", index_uni(1), index_uni(lcm_sym81__)); - for (int t = lcm_sym71__; t <= lcm_sym63__; ++t) { + "assigning variable p", index_uni(1), index_uni(lcm_sym71__)); + for (int t = lcm_sym63__; t <= lcm_sym55__; ++t) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", @@ -2449,15 +2386,15 @@ class copy_fail_model final : public model_base_crtp { } } for (int i = 2; i <= nind; ++i) { - lcm_sym80__ = rvalue(first, "first", index_uni(i)); - lcm_sym64__ = (lcm_sym80__ - 1); - if (logical_gte(lcm_sym64__, 1)) { + lcm_sym70__ = rvalue(first, "first", index_uni(i)); + lcm_sym56__ = (lcm_sym70__ - 1); + if (logical_gte(lcm_sym56__, 1)) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(i), index_uni(1)); current_statement__ = 7; assign(p, 0, "assigning variable p", index_uni(i), index_uni(1)); - for (int t = 2; t <= lcm_sym64__; ++t) { + for (int t = 2; t <= lcm_sym56__; ++t) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(i), index_uni(t)); @@ -2466,17 +2403,17 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 12; - if (logical_gte(lcm_sym63__, lcm_sym80__)) { + if (logical_gte(lcm_sym55__, lcm_sym70__)) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", index_uni(rvalue(x, "x", - index_uni(i), index_uni(lcm_sym80__)))), - "assigning variable phi", index_uni(i), index_uni(lcm_sym80__)); - lcm_sym70__ = (lcm_sym80__ + 1); + index_uni(i), index_uni(lcm_sym70__)))), + "assigning variable phi", index_uni(i), index_uni(lcm_sym70__)); + lcm_sym62__ = (lcm_sym70__ + 1); assign(p, mean_p, - "assigning variable p", index_uni(i), index_uni(lcm_sym80__)); - for (int t = lcm_sym70__; t <= lcm_sym63__; ++t) { + "assigning variable p", index_uni(i), index_uni(lcm_sym70__)); + for (int t = lcm_sym62__; t <= lcm_sym55__; ++t) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", @@ -2508,56 +2445,56 @@ class copy_fail_model final : public model_base_crtp { assign(inline_sym2__, 1.0, "assigning variable inline_sym2__", index_uni(inline_sym6__), index_uni(n_occasions)); - lcm_sym63__ = (n_occasions - 1); - if (logical_gte(lcm_sym63__, 1)) { + lcm_sym55__ = (n_occasions - 1); + if (logical_gte(lcm_sym55__, 1)) { int inline_sym3__; inline_sym3__ = std::numeric_limits::min(); int inline_sym4__; inline_sym4__ = std::numeric_limits::min(); - lcm_sym69__ = (lcm_sym63__ + 1); + lcm_sym61__ = (lcm_sym55__ + 1); current_statement__ = 20; assign(inline_sym2__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym63__)) * + index_uni(inline_sym6__), index_uni(lcm_sym55__)) * (1 - rvalue(p, "p", - index_uni(inline_sym6__), index_uni((lcm_sym69__ - 1))))), + index_uni(inline_sym6__), index_uni((lcm_sym61__ - 1))))), rvalue(inline_sym2__, "inline_sym2__", - index_uni(inline_sym6__), index_uni(lcm_sym69__)), + index_uni(inline_sym6__), index_uni(lcm_sym61__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym63__)))), + index_uni(inline_sym6__), index_uni(lcm_sym55__)))), "assigning variable inline_sym2__", index_uni(inline_sym6__), - index_uni(lcm_sym63__)); - for (int inline_sym5__ = 2; inline_sym5__ <= lcm_sym63__; + index_uni(lcm_sym55__)); + for (int inline_sym5__ = 2; inline_sym5__ <= lcm_sym55__; ++inline_sym5__) { int inline_sym3__; inline_sym3__ = std::numeric_limits::min(); - lcm_sym62__ = (n_occasions - inline_sym5__); + lcm_sym54__ = (n_occasions - inline_sym5__); int inline_sym4__; inline_sym4__ = std::numeric_limits::min(); - lcm_sym68__ = (lcm_sym62__ + 1); + lcm_sym60__ = (lcm_sym54__ + 1); current_statement__ = 20; assign(inline_sym2__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym62__)) * + index_uni(inline_sym6__), index_uni(lcm_sym54__)) * (1 - rvalue(p, "p", index_uni(inline_sym6__), - index_uni((lcm_sym68__ - 1))))), + index_uni((lcm_sym60__ - 1))))), rvalue(inline_sym2__, "inline_sym2__", - index_uni(inline_sym6__), index_uni(lcm_sym68__)), + index_uni(inline_sym6__), index_uni(lcm_sym60__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym62__)))), + index_uni(inline_sym6__), index_uni(lcm_sym54__)))), "assigning variable inline_sym2__", index_uni(inline_sym6__), - index_uni(lcm_sym62__)); + index_uni(lcm_sym54__)); } } if (inline_sym7__) { @@ -2574,15 +2511,15 @@ class copy_fail_model final : public model_base_crtp { } assign(chi, inline_sym1__, "assigning variable chi"); current_statement__ = 3; - if (lcm_sym56__) { - lcm_sym63__ = (n_occasions - 1); - lcm_sym57__ = logical_gte(lcm_sym63__, 1); - if (lcm_sym57__) { + if (lcm_sym48__) { + lcm_sym55__ = (n_occasions - 1); + lcm_sym49__ = logical_gte(lcm_sym55__, 1); + if (lcm_sym49__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -2591,12 +2528,12 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 3; - if (lcm_sym57__) { + if (lcm_sym49__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -2607,15 +2544,15 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 3; - if (lcm_sym56__) { - lcm_sym63__ = (n_occasions - 1); - lcm_sym57__ = logical_gte(lcm_sym63__, 1); - if (lcm_sym57__) { + if (lcm_sym48__) { + lcm_sym55__ = (n_occasions - 1); + lcm_sym49__ = logical_gte(lcm_sym55__, 1); + if (lcm_sym49__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -2624,12 +2561,12 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 3; - if (lcm_sym57__) { + if (lcm_sym49__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -2639,15 +2576,15 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 4; - if (lcm_sym56__) { - lcm_sym63__ = (n_occasions - 1); - lcm_sym57__ = logical_gte(lcm_sym63__, 1); - if (lcm_sym57__) { + if (lcm_sym48__) { + lcm_sym55__ = (n_occasions - 1); + lcm_sym49__ = logical_gte(lcm_sym55__, 1); + if (lcm_sym49__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -2656,12 +2593,12 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 4; - if (lcm_sym57__) { + if (lcm_sym49__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -2672,14 +2609,14 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 4; - if (lcm_sym56__) { - lcm_sym63__ = (n_occasions - 1); - lcm_sym57__ = logical_gte(lcm_sym63__, 1); - if (lcm_sym57__) { + if (lcm_sym48__) { + lcm_sym55__ = (n_occasions - 1); + lcm_sym49__ = logical_gte(lcm_sym55__, 1); + if (lcm_sym49__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -2688,12 +2625,12 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 4; - if (lcm_sym57__) { + if (lcm_sym49__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -2703,9 +2640,9 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 5; - if (lcm_sym56__) { - lcm_sym55__ = logical_gte(n_occasions, 1); - if (lcm_sym55__) { + if (lcm_sym48__) { + lcm_sym47__ = logical_gte(n_occasions, 1); + if (lcm_sym47__) { current_statement__ = 5; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -2719,7 +2656,7 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 5; - if (lcm_sym55__) { + if (lcm_sym47__) { current_statement__ = 5; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -2735,9 +2672,9 @@ class copy_fail_model final : public model_base_crtp { } } current_statement__ = 5; - if (lcm_sym56__) { - lcm_sym55__ = logical_gte(n_occasions, 1); - if (lcm_sym55__) { + if (lcm_sym48__) { + lcm_sym47__ = logical_gte(n_occasions, 1); + if (lcm_sym47__) { current_statement__ = 5; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -2751,7 +2688,7 @@ class copy_fail_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 5; - if (lcm_sym55__) { + if (lcm_sym47__) { current_statement__ = 5; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -2766,71 +2703,9 @@ class copy_fail_model final : public model_base_crtp { } } if (emit_transformed_parameters__) { - lcm_sym63__ = (n_occasions - 1); - lcm_sym57__ = logical_gte(lcm_sym63__, 1); - if (lcm_sym57__) { - if (lcm_sym56__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= lcm_sym63__; ++sym1__) { - if (lcm_sym56__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (lcm_sym57__) { - if (lcm_sym56__) { - vars__.emplace_back(rvalue(p, "p", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(p, "p", index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= lcm_sym63__; ++sym1__) { - if (lcm_sym56__) { - vars__.emplace_back( - rvalue(p, "p", index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(p, "p", index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (logical_gte(n_occasions, 1)) { - if (lcm_sym56__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - if (lcm_sym56__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(sym2__), index_uni(sym1__))); - } - } - } - } + out__.write(phi); + out__.write(p); + out__.write(inline_sym1__); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -2845,87 +2720,39 @@ class copy_fail_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym53__; - double lcm_sym52__; - double lcm_sym51__; - double lcm_sym50__; - double lcm_sym49__; - double lcm_sym48__; - int lcm_sym47__; int lcm_sym46__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double mean_p; - mean_p = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_p = context__.vals_r("mean_p")[(1 - 1)]; - double mean_p_free__; - mean_p_free__ = std::numeric_limits::quiet_NaN(); + local_scalar_t__ mean_p; + mean_p = DUMMY_VAR__; - current_statement__ = 1; - mean_p_free__ = stan::math::lub_free(mean_p, 0, 1); - Eigen::Matrix beta; - beta = Eigen::Matrix(max_age); - stan::math::fill(beta, std::numeric_limits::quiet_NaN()); + mean_p = in__.read(); + out__.write_free_lub(0, 1, mean_p); + Eigen::Matrix beta; + beta = Eigen::Matrix(max_age); + stan::math::fill(beta, DUMMY_VAR__); - { - std::vector beta_flat__; - current_statement__ = 2; - beta_flat__ = context__.vals_r("beta"); - current_statement__ = 2; - pos__ = 1; - lcm_sym46__ = logical_gte(max_age, 1); - if (lcm_sym46__) { - current_statement__ = 2; - assign(beta, rvalue(beta_flat__, "beta_flat__", index_uni(1)), - "assigning variable beta", index_uni(1)); - current_statement__ = 2; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= max_age; ++sym1__) { - current_statement__ = 2; - assign(beta, beta_flat__[(pos__ - 1)], - "assigning variable beta", index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix beta_free__; - beta_free__ = Eigen::Matrix(max_age); - stan::math::fill(beta_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 2; - if (lcm_sym46__) { - current_statement__ = 2; - assign(beta_free__, - stan::math::lub_free(rvalue(beta, "beta", index_uni(1)), 0, 1), - "assigning variable beta_free__", index_uni(1)); - for (int sym1__ = 2; sym1__ <= max_age; ++sym1__) { - current_statement__ = 2; - assign(beta_free__, stan::math::lub_free(beta[(sym1__ - 1)], 0, 1), - "assigning variable beta_free__", index_uni(sym1__)); - } - } - vars__.emplace_back(mean_p_free__); - if (lcm_sym46__) { - vars__.emplace_back( - rvalue(beta_free__, "beta_free__", index_uni(1))); + if (logical_gte(max_age, 1)) { + assign(beta, in__.read(), + "assigning variable beta", index_uni(1)); for (int sym1__ = 2; sym1__ <= max_age; ++sym1__) { - vars__.emplace_back(beta_free__[(sym1__ - 1)]); + assign(beta, in__.read(), + "assigning variable beta", index_uni(sym1__)); } } + out__.write_free_lub(0, 1, beta); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -2959,35 +2786,35 @@ class copy_fail_model final : public model_base_crtp { final { param_names__.emplace_back(std::string() + "mean_p"); - for (int sym187__ = 1; sym187__ <= max_age; ++sym187__) { + for (int sym168__ = 1; sym168__ <= max_age; ++sym168__) { { - param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym168__)); } } if (emit_transformed_parameters__) { - for (int sym187__ = 1; sym187__ <= n_occ_minus_1; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occ_minus_1; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } } - for (int sym187__ = 1; sym187__ <= n_occ_minus_1; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occ_minus_1; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } } - for (int sym187__ = 1; sym187__ <= n_occasions; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occasions; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } @@ -3007,35 +2834,35 @@ class copy_fail_model final : public model_base_crtp { final { param_names__.emplace_back(std::string() + "mean_p"); - for (int sym187__ = 1; sym187__ <= max_age; ++sym187__) { + for (int sym168__ = 1; sym168__ <= max_age; ++sym168__) { { - param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym168__)); } } if (emit_transformed_parameters__) { - for (int sym187__ = 1; sym187__ <= n_occ_minus_1; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occ_minus_1; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } } - for (int sym187__ = 1; sym187__ <= n_occ_minus_1; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occ_minus_1; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } } - for (int sym187__ = 1; sym187__ <= n_occasions; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occasions; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } @@ -3069,8 +2896,17 @@ class copy_fail_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (1 + max_age); + const size_t num_transformed = (((nind * + n_occ_minus_1) + + (nind * + n_occ_minus_1)) + + (nind * n_occasions)); + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -3085,8 +2921,18 @@ class copy_fail_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (1 + max_age); + const size_t num_transformed = (((nind * + n_occ_minus_1) + + (nind * + n_occ_minus_1)) + + (nind * n_occasions)); + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -3107,20 +2953,32 @@ class copy_fail_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mean_p", + "beta", "phi", "p", "chi"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = copy_fail_model_namespace::copy_fail_model; @@ -3237,25 +3095,25 @@ static constexpr std::array locations_array__ = class dce_fail_model final : public model_base_crtp { private: - int lcm_sym86__; - int lcm_sym85__; - double lcm_sym84__; - double lcm_sym83__; - int lcm_sym82__; - int lcm_sym81__; - int lcm_sym80__; - int lcm_sym79__; - int lcm_sym78__; - int lcm_sym77__; - int lcm_sym76__; - int lcm_sym75__; - int lcm_sym74__; - int lcm_sym73__; - int lcm_sym72__; - int lcm_sym71__; - int lcm_sym70__; - int lcm_sym69__; - int lcm_sym68__; + int lcm_sym47__; + int lcm_sym46__; + double lcm_sym45__; + double lcm_sym44__; + int lcm_sym43__; + int lcm_sym42__; + int lcm_sym41__; + int lcm_sym40__; + int lcm_sym39__; + int lcm_sym38__; + int lcm_sym37__; + int lcm_sym36__; + int lcm_sym35__; + int lcm_sym34__; + int lcm_sym33__; + int lcm_sym32__; + int lcm_sym31__; + int lcm_sym30__; + int lcm_sym29__; int N; int n_age; int n_edu; @@ -3371,8 +3229,8 @@ class dce_fail_model final : public model_base_crtp { current_statement__ = 45; female = context__.vals_i("female"); - lcm_sym68__ = logical_gte(N, 1); - if (lcm_sym68__) { + lcm_sym29__ = logical_gte(N, 1); + if (lcm_sym29__) { current_statement__ = 45; check_greater_or_equal(function__, "female[sym1__]", rvalue(female, "female", index_uni(1)), 0); @@ -3383,7 +3241,7 @@ class dce_fail_model final : public model_base_crtp { } } current_statement__ = 45; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 45; check_less_or_equal(function__, "female[sym1__]", rvalue(female, "female", index_uni(1)), 1); @@ -3403,7 +3261,7 @@ class dce_fail_model final : public model_base_crtp { current_statement__ = 47; black = context__.vals_i("black"); current_statement__ = 47; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 47; check_greater_or_equal(function__, "black[sym1__]", rvalue(black, "black", index_uni(1)), 0); @@ -3414,7 +3272,7 @@ class dce_fail_model final : public model_base_crtp { } } current_statement__ = 47; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 47; check_less_or_equal(function__, "black[sym1__]", rvalue(black, "black", index_uni(1)), 1); @@ -3434,7 +3292,7 @@ class dce_fail_model final : public model_base_crtp { current_statement__ = 49; age = context__.vals_i("age"); current_statement__ = 49; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 49; check_greater_or_equal(function__, "age[sym1__]", rvalue(age, "age", index_uni(1)), 0); @@ -3445,7 +3303,7 @@ class dce_fail_model final : public model_base_crtp { } } current_statement__ = 49; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 49; check_less_or_equal(function__, "age[sym1__]", rvalue(age, "age", index_uni(1)), n_age); @@ -3465,7 +3323,7 @@ class dce_fail_model final : public model_base_crtp { current_statement__ = 51; edu = context__.vals_i("edu"); current_statement__ = 51; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 51; check_greater_or_equal(function__, "edu[sym1__]", rvalue(edu, "edu", index_uni(1)), 0); @@ -3476,7 +3334,7 @@ class dce_fail_model final : public model_base_crtp { } } current_statement__ = 51; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 51; check_less_or_equal(function__, "edu[sym1__]", rvalue(edu, "edu", index_uni(1)), n_edu); @@ -3495,8 +3353,8 @@ class dce_fail_model final : public model_base_crtp { current_statement__ = 53; region = context__.vals_i("region"); - lcm_sym69__ = logical_gte(n_state, 1); - if (lcm_sym69__) { + lcm_sym30__ = logical_gte(n_state, 1); + if (lcm_sym30__) { current_statement__ = 53; check_greater_or_equal(function__, "region[sym1__]", rvalue(region, "region", index_uni(1)), 0); @@ -3507,7 +3365,7 @@ class dce_fail_model final : public model_base_crtp { } } current_statement__ = 53; - if (lcm_sym69__) { + if (lcm_sym30__) { current_statement__ = 53; check_less_or_equal(function__, "region[sym1__]", rvalue(region, "region", index_uni(1)), n_state); @@ -3527,7 +3385,7 @@ class dce_fail_model final : public model_base_crtp { current_statement__ = 55; state = context__.vals_i("state"); current_statement__ = 55; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 55; check_greater_or_equal(function__, "state[sym1__]", rvalue(state, "state", index_uni(1)), 0); @@ -3538,7 +3396,7 @@ class dce_fail_model final : public model_base_crtp { } } current_statement__ = 55; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 55; check_less_or_equal(function__, "state[sym1__]", rvalue(state, "state", index_uni(1)), n_state); @@ -3558,7 +3416,7 @@ class dce_fail_model final : public model_base_crtp { current_statement__ = 57; y = context__.vals_i("y"); current_statement__ = 57; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 57; check_greater_or_equal(function__, "y[sym1__]", rvalue(y, "y", index_uni(1)), 0); @@ -3568,7 +3426,7 @@ class dce_fail_model final : public model_base_crtp { } } current_statement__ = 57; - if (lcm_sym68__) { + if (lcm_sym29__) { current_statement__ = 57; check_less_or_equal(function__, "y[sym1__]", rvalue(y, "y", index_uni(1)), 1); @@ -3593,7 +3451,7 @@ class dce_fail_model final : public model_base_crtp { current_statement__ = 59; pos__ = 1; current_statement__ = 59; - if (lcm_sym69__) { + if (lcm_sym30__) { current_statement__ = 59; assign(v_prev, rvalue(v_prev_flat__, "v_prev_flat__", index_uni(1)), @@ -3649,28 +3507,28 @@ class dce_fail_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym67__; - double lcm_sym66__; - double lcm_sym65__; - double lcm_sym64__; - double lcm_sym63__; - double lcm_sym62__; - double lcm_sym61__; - double lcm_sym60__; - double lcm_sym59__; - double lcm_sym58__; - double lcm_sym57__; - double lcm_sym56__; - double lcm_sym55__; - double lcm_sym54__; - double lcm_sym53__; - double lcm_sym52__; - double lcm_sym51__; - double lcm_sym50__; - int lcm_sym49__; - int lcm_sym48__; - int lcm_sym47__; - int lcm_sym46__; + double lcm_sym28__; + double lcm_sym27__; + double lcm_sym26__; + double lcm_sym25__; + double lcm_sym24__; + double lcm_sym23__; + double lcm_sym22__; + double lcm_sym21__; + double lcm_sym20__; + double lcm_sym19__; + double lcm_sym18__; + double lcm_sym17__; + double lcm_sym16__; + double lcm_sym15__; + double lcm_sym14__; + double lcm_sym13__; + double lcm_sym12__; + double lcm_sym11__; + int lcm_sym10__; + int lcm_sym9__; + int lcm_sym8__; + int lcm_sym7__; local_scalar_t__ sigma; sigma = DUMMY_VAR__; @@ -3796,8 +3654,8 @@ class dce_fail_model final : public model_base_crtp { lp_accum__.add(normal_lpdf(b_region, 0, sigma_region)); current_statement__ = 31; if (logical_gte(n_age, 1)) { - lcm_sym48__ = logical_gte(n_edu, 1); - if (lcm_sym48__) { + lcm_sym9__ = logical_gte(n_edu, 1); + if (lcm_sym9__) { current_statement__ = 28; lp_accum__.add( normal_lpdf( @@ -3813,7 +3671,7 @@ class dce_fail_model final : public model_base_crtp { } for (int j = 2; j <= n_age; ++j) { current_statement__ = 29; - if (lcm_sym48__) { + if (lcm_sym9__) { current_statement__ = 28; lp_accum__.add( normal_lpdf( @@ -3925,8 +3783,8 @@ class dce_fail_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -3940,24 +3798,8 @@ class dce_fail_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym45__; - double lcm_sym44__; - double lcm_sym43__; - double lcm_sym42__; - double lcm_sym41__; - double lcm_sym40__; - double lcm_sym39__; - double lcm_sym38__; - double lcm_sym37__; - double lcm_sym36__; - double lcm_sym35__; - double lcm_sym34__; - int lcm_sym33__; - int lcm_sym32__; - int lcm_sym31__; - int lcm_sym30__; - int lcm_sym29__; - int lcm_sym28__; + int lcm_sym6__; + int lcm_sym5__; double sigma; sigma = std::numeric_limits::quiet_NaN(); @@ -4054,64 +3896,22 @@ class dce_fail_model final : public model_base_crtp { current_statement__ = 16; b_hat = in__.template read>( n_state); - vars__.emplace_back(sigma); - vars__.emplace_back(sigma_age); - vars__.emplace_back(sigma_edu); - vars__.emplace_back(sigma_state); - vars__.emplace_back(sigma_region); - vars__.emplace_back(sigma_age_edu); - vars__.emplace_back(b_0); - vars__.emplace_back(b_female); - vars__.emplace_back(b_black); - vars__.emplace_back(b_female_black); - vars__.emplace_back(b_v_prev); - lcm_sym28__ = logical_gte(n_age, 1); - if (lcm_sym28__) { - vars__.emplace_back(rvalue(b_age, "b_age", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_age; ++sym1__) { - vars__.emplace_back(b_age[(sym1__ - 1)]); - } - } - lcm_sym29__ = logical_gte(n_edu, 1); - if (lcm_sym29__) { - vars__.emplace_back(rvalue(b_edu, "b_edu", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { - vars__.emplace_back(b_edu[(sym1__ - 1)]); - } - } - if (logical_gte(n_region, 1)) { - vars__.emplace_back(rvalue(b_region, "b_region", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_region; ++sym1__) { - vars__.emplace_back(b_region[(sym1__ - 1)]); - } - } - if (lcm_sym29__) { - if (lcm_sym28__) { - vars__.emplace_back( - rvalue(b_age_edu, "b_age_edu", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= n_age; ++sym2__) { - vars__.emplace_back( - rvalue(b_age_edu, "b_age_edu", index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { - if (lcm_sym28__) { - vars__.emplace_back( - rvalue(b_age_edu, "b_age_edu", index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= n_age; ++sym2__) { - vars__.emplace_back( - rvalue(b_age_edu, "b_age_edu", - index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (logical_gte(n_state, 1)) { - vars__.emplace_back(rvalue(b_hat, "b_hat", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_state; ++sym1__) { - vars__.emplace_back(b_hat[(sym1__ - 1)]); - } - } + out__.write(sigma); + out__.write(sigma_age); + out__.write(sigma_edu); + out__.write(sigma_state); + out__.write(sigma_region); + out__.write(sigma_age_edu); + out__.write(b_0); + out__.write(b_female); + out__.write(b_black); + out__.write(b_female_black); + out__.write(b_v_prev); + out__.write(b_age); + out__.write(b_edu); + out__.write(b_region); + out__.write(b_age_edu); + out__.write(b_hat); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -4129,38 +3929,16 @@ class dce_fail_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym27__; - double lcm_sym26__; - double lcm_sym25__; - double lcm_sym24__; - double lcm_sym23__; - double lcm_sym22__; - double lcm_sym21__; - double lcm_sym20__; - double lcm_sym19__; - double lcm_sym18__; - double lcm_sym17__; - double lcm_sym16__; - double lcm_sym15__; - double lcm_sym14__; - double lcm_sym13__; - double lcm_sym12__; - double lcm_sym11__; - double lcm_sym10__; - double lcm_sym9__; - double lcm_sym8__; - double lcm_sym7__; - double lcm_sym6__; - int lcm_sym5__; int lcm_sym4__; int lcm_sym3__; int lcm_sym2__; @@ -4169,302 +3947,141 @@ class dce_fail_model final : public model_base_crtp { pos__ = std::numeric_limits::min(); pos__ = 1; - double sigma; - sigma = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - sigma = context__.vals_r("sigma")[(1 - 1)]; - double sigma_free__; - sigma_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - sigma_free__ = stan::math::lb_free(sigma, 0); - double sigma_age; - sigma_age = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - sigma_age = context__.vals_r("sigma_age")[(1 - 1)]; - double sigma_age_free__; - sigma_age_free__ = std::numeric_limits::quiet_NaN(); + local_scalar_t__ sigma; + sigma = DUMMY_VAR__; - current_statement__ = 2; - sigma_age_free__ = stan::math::lb_free(sigma_age, 0); - double sigma_edu; - sigma_edu = std::numeric_limits::quiet_NaN(); + sigma = in__.read(); + out__.write_free_lb(0, sigma); + local_scalar_t__ sigma_age; + sigma_age = DUMMY_VAR__; - current_statement__ = 3; - sigma_edu = context__.vals_r("sigma_edu")[(1 - 1)]; - double sigma_edu_free__; - sigma_edu_free__ = std::numeric_limits::quiet_NaN(); + sigma_age = in__.read(); + out__.write_free_lb(0, sigma_age); + local_scalar_t__ sigma_edu; + sigma_edu = DUMMY_VAR__; - current_statement__ = 3; - sigma_edu_free__ = stan::math::lb_free(sigma_edu, 0); - double sigma_state; - sigma_state = std::numeric_limits::quiet_NaN(); + sigma_edu = in__.read(); + out__.write_free_lb(0, sigma_edu); + local_scalar_t__ sigma_state; + sigma_state = DUMMY_VAR__; - current_statement__ = 4; - sigma_state = context__.vals_r("sigma_state")[(1 - 1)]; - double sigma_state_free__; - sigma_state_free__ = std::numeric_limits::quiet_NaN(); + sigma_state = in__.read(); + out__.write_free_lb(0, sigma_state); + local_scalar_t__ sigma_region; + sigma_region = DUMMY_VAR__; - current_statement__ = 4; - sigma_state_free__ = stan::math::lb_free(sigma_state, 0); - double sigma_region; - sigma_region = std::numeric_limits::quiet_NaN(); + sigma_region = in__.read(); + out__.write_free_lb(0, sigma_region); + local_scalar_t__ sigma_age_edu; + sigma_age_edu = DUMMY_VAR__; - current_statement__ = 5; - sigma_region = context__.vals_r("sigma_region")[(1 - 1)]; - double sigma_region_free__; - sigma_region_free__ = std::numeric_limits::quiet_NaN(); + sigma_age_edu = in__.read(); + out__.write_free_lb(0, sigma_age_edu); + local_scalar_t__ b_0; + b_0 = DUMMY_VAR__; - current_statement__ = 5; - sigma_region_free__ = stan::math::lb_free(sigma_region, 0); - double sigma_age_edu; - sigma_age_edu = std::numeric_limits::quiet_NaN(); + b_0 = in__.read(); + out__.write(b_0); + local_scalar_t__ b_female; + b_female = DUMMY_VAR__; - current_statement__ = 6; - sigma_age_edu = context__.vals_r("sigma_age_edu")[(1 - 1)]; - double sigma_age_edu_free__; - sigma_age_edu_free__ = std::numeric_limits::quiet_NaN(); + b_female = in__.read(); + out__.write(b_female); + local_scalar_t__ b_black; + b_black = DUMMY_VAR__; - current_statement__ = 6; - sigma_age_edu_free__ = stan::math::lb_free(sigma_age_edu, 0); - double b_0; - b_0 = std::numeric_limits::quiet_NaN(); + b_black = in__.read(); + out__.write(b_black); + local_scalar_t__ b_female_black; + b_female_black = DUMMY_VAR__; - current_statement__ = 7; - b_0 = context__.vals_r("b_0")[(1 - 1)]; - double b_female; - b_female = std::numeric_limits::quiet_NaN(); + b_female_black = in__.read(); + out__.write(b_female_black); + local_scalar_t__ b_v_prev; + b_v_prev = DUMMY_VAR__; - current_statement__ = 8; - b_female = context__.vals_r("b_female")[(1 - 1)]; - double b_black; - b_black = std::numeric_limits::quiet_NaN(); + b_v_prev = in__.read(); + out__.write(b_v_prev); + Eigen::Matrix b_age; + b_age = Eigen::Matrix(n_age); + stan::math::fill(b_age, DUMMY_VAR__); - current_statement__ = 9; - b_black = context__.vals_r("b_black")[(1 - 1)]; - double b_female_black; - b_female_black = std::numeric_limits::quiet_NaN(); + lcm_sym1__ = logical_gte(n_age, 1); + if (lcm_sym1__) { + assign(b_age, in__.read(), + "assigning variable b_age", index_uni(1)); + for (int sym1__ = 2; sym1__ <= n_age; ++sym1__) { + assign(b_age, in__.read(), + "assigning variable b_age", index_uni(sym1__)); + } + } + out__.write(b_age); + Eigen::Matrix b_edu; + b_edu = Eigen::Matrix(n_edu); + stan::math::fill(b_edu, DUMMY_VAR__); - current_statement__ = 10; - b_female_black = context__.vals_r("b_female_black")[(1 - 1)]; - double b_v_prev; - b_v_prev = std::numeric_limits::quiet_NaN(); + lcm_sym2__ = logical_gte(n_edu, 1); + if (lcm_sym2__) { + assign(b_edu, in__.read(), + "assigning variable b_edu", index_uni(1)); + for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { + assign(b_edu, in__.read(), + "assigning variable b_edu", index_uni(sym1__)); + } + } + out__.write(b_edu); + Eigen::Matrix b_region; + b_region = Eigen::Matrix(n_region); + stan::math::fill(b_region, DUMMY_VAR__); - current_statement__ = 11; - b_v_prev = context__.vals_r("b_v_prev")[(1 - 1)]; - Eigen::Matrix b_age; - b_age = Eigen::Matrix(n_age); - stan::math::fill(b_age, std::numeric_limits::quiet_NaN()); + if (logical_gte(n_region, 1)) { + assign(b_region, in__.read(), + "assigning variable b_region", index_uni(1)); + for (int sym1__ = 2; sym1__ <= n_region; ++sym1__) { + assign(b_region, in__.read(), + "assigning variable b_region", index_uni(sym1__)); + } + } + out__.write(b_region); + Eigen::Matrix b_age_edu; + b_age_edu = Eigen::Matrix(n_age, n_edu); + stan::math::fill(b_age_edu, DUMMY_VAR__); - { - std::vector b_age_flat__; - current_statement__ = 12; - b_age_flat__ = context__.vals_r("b_age"); - current_statement__ = 12; - pos__ = 1; - lcm_sym1__ = logical_gte(n_age, 1); + if (lcm_sym2__) { if (lcm_sym1__) { - current_statement__ = 12; - assign(b_age, rvalue(b_age_flat__, "b_age_flat__", index_uni(1)), - "assigning variable b_age", index_uni(1)); - current_statement__ = 12; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_age; ++sym1__) { - current_statement__ = 12; - assign(b_age, b_age_flat__[(pos__ - 1)], - "assigning variable b_age", index_uni(sym1__)); - current_statement__ = 12; - pos__ = (pos__ + 1); + assign(b_age_edu, in__.read(), + "assigning variable b_age_edu", index_uni(1), index_uni(1)); + for (int sym2__ = 2; sym2__ <= n_age; ++sym2__) { + assign(b_age_edu, in__.read(), + "assigning variable b_age_edu", index_uni(sym2__), index_uni(1)); } } - } - Eigen::Matrix b_edu; - b_edu = Eigen::Matrix(n_edu); - stan::math::fill(b_edu, std::numeric_limits::quiet_NaN()); + for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { + if (lcm_sym1__) { + assign(b_age_edu, in__.read(), + "assigning variable b_age_edu", index_uni(1), index_uni(sym1__)); + for (int sym2__ = 2; sym2__ <= n_age; ++sym2__) { + assign(b_age_edu, in__.read(), + "assigning variable b_age_edu", index_uni(sym2__), + index_uni(sym1__)); + } + } + } + } + out__.write(b_age_edu); + Eigen::Matrix b_hat; + b_hat = Eigen::Matrix(n_state); + stan::math::fill(b_hat, DUMMY_VAR__); - { - std::vector b_edu_flat__; - current_statement__ = 13; - b_edu_flat__ = context__.vals_r("b_edu"); - current_statement__ = 13; - pos__ = 1; - lcm_sym2__ = logical_gte(n_edu, 1); - if (lcm_sym2__) { - current_statement__ = 13; - assign(b_edu, rvalue(b_edu_flat__, "b_edu_flat__", index_uni(1)), - "assigning variable b_edu", index_uni(1)); - current_statement__ = 13; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { - current_statement__ = 13; - assign(b_edu, b_edu_flat__[(pos__ - 1)], - "assigning variable b_edu", index_uni(sym1__)); - current_statement__ = 13; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix b_region; - b_region = Eigen::Matrix(n_region); - stan::math::fill(b_region, std::numeric_limits::quiet_NaN()); - - { - std::vector b_region_flat__; - current_statement__ = 14; - b_region_flat__ = context__.vals_r("b_region"); - current_statement__ = 14; - pos__ = 1; - lcm_sym3__ = logical_gte(n_region, 1); - if (lcm_sym3__) { - current_statement__ = 14; - assign(b_region, - rvalue(b_region_flat__, "b_region_flat__", index_uni(1)), - "assigning variable b_region", index_uni(1)); - current_statement__ = 14; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_region; ++sym1__) { - current_statement__ = 14; - assign(b_region, b_region_flat__[(pos__ - 1)], - "assigning variable b_region", index_uni(sym1__)); - current_statement__ = 14; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix b_age_edu; - b_age_edu = Eigen::Matrix(n_age, n_edu); - stan::math::fill(b_age_edu, std::numeric_limits::quiet_NaN()); - - { - std::vector b_age_edu_flat__; - current_statement__ = 15; - b_age_edu_flat__ = context__.vals_r("b_age_edu"); - current_statement__ = 15; - pos__ = 1; - current_statement__ = 15; - if (lcm_sym2__) { - current_statement__ = 15; - if (lcm_sym1__) { - current_statement__ = 15; - assign(b_age_edu, - rvalue(b_age_edu_flat__, "b_age_edu_flat__", index_uni(1)), - "assigning variable b_age_edu", index_uni(1), index_uni(1)); - current_statement__ = 15; - pos__ = 2; - for (int sym2__ = 2; sym2__ <= n_age; ++sym2__) { - current_statement__ = 15; - assign(b_age_edu, b_age_edu_flat__[(pos__ - 1)], - "assigning variable b_age_edu", index_uni(sym2__), - index_uni(1)); - current_statement__ = 15; - pos__ = (pos__ + 1); - } - } - for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { - current_statement__ = 15; - if (lcm_sym1__) { - current_statement__ = 15; - assign(b_age_edu, b_age_edu_flat__[(pos__ - 1)], - "assigning variable b_age_edu", index_uni(1), - index_uni(sym1__)); - current_statement__ = 15; - pos__ = (pos__ + 1); - for (int sym2__ = 2; sym2__ <= n_age; ++sym2__) { - current_statement__ = 15; - assign(b_age_edu, b_age_edu_flat__[(pos__ - 1)], - "assigning variable b_age_edu", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 15; - pos__ = (pos__ + 1); - } - } - } - } - } - Eigen::Matrix b_hat; - b_hat = Eigen::Matrix(n_state); - stan::math::fill(b_hat, std::numeric_limits::quiet_NaN()); - - { - std::vector b_hat_flat__; - current_statement__ = 16; - b_hat_flat__ = context__.vals_r("b_hat"); - current_statement__ = 16; - pos__ = 1; - lcm_sym4__ = logical_gte(n_state, 1); - if (lcm_sym4__) { - current_statement__ = 16; - assign(b_hat, rvalue(b_hat_flat__, "b_hat_flat__", index_uni(1)), - "assigning variable b_hat", index_uni(1)); - current_statement__ = 16; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_state; ++sym1__) { - current_statement__ = 16; - assign(b_hat, b_hat_flat__[(pos__ - 1)], - "assigning variable b_hat", index_uni(sym1__)); - current_statement__ = 16; - pos__ = (pos__ + 1); - } - } - } - vars__.emplace_back(sigma_free__); - vars__.emplace_back(sigma_age_free__); - vars__.emplace_back(sigma_edu_free__); - vars__.emplace_back(sigma_state_free__); - vars__.emplace_back(sigma_region_free__); - vars__.emplace_back(sigma_age_edu_free__); - vars__.emplace_back(b_0); - vars__.emplace_back(b_female); - vars__.emplace_back(b_black); - vars__.emplace_back(b_female_black); - vars__.emplace_back(b_v_prev); - if (lcm_sym1__) { - vars__.emplace_back(rvalue(b_age, "b_age", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_age; ++sym1__) { - vars__.emplace_back(b_age[(sym1__ - 1)]); - } - } - if (lcm_sym2__) { - vars__.emplace_back(rvalue(b_edu, "b_edu", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { - vars__.emplace_back(b_edu[(sym1__ - 1)]); - } - } - if (lcm_sym3__) { - vars__.emplace_back(rvalue(b_region, "b_region", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_region; ++sym1__) { - vars__.emplace_back(b_region[(sym1__ - 1)]); - } - } - if (lcm_sym2__) { - if (lcm_sym1__) { - vars__.emplace_back( - rvalue(b_age_edu, "b_age_edu", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= n_age; ++sym2__) { - vars__.emplace_back( - rvalue(b_age_edu, "b_age_edu", index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { - if (lcm_sym1__) { - vars__.emplace_back( - rvalue(b_age_edu, "b_age_edu", index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= n_age; ++sym2__) { - vars__.emplace_back( - rvalue(b_age_edu, "b_age_edu", - index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (lcm_sym4__) { - vars__.emplace_back(rvalue(b_hat, "b_hat", index_uni(1))); + if (logical_gte(n_state, 1)) { + assign(b_hat, in__.read(), + "assigning variable b_hat", index_uni(1)); for (int sym1__ = 2; sym1__ <= n_state; ++sym1__) { - vars__.emplace_back(b_hat[(sym1__ - 1)]); + assign(b_hat, in__.read(), + "assigning variable b_hat", index_uni(sym1__)); } } + out__.write(b_hat); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -4514,33 +4131,33 @@ class dce_fail_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "b_black"); param_names__.emplace_back(std::string() + "b_female_black"); param_names__.emplace_back(std::string() + "b_v_prev"); - for (int sym87__ = 1; sym87__ <= n_age; ++sym87__) { + for (int sym48__ = 1; sym48__ <= n_age; ++sym48__) { { - param_names__.emplace_back(std::string() + "b_age" + '.' + std::to_string(sym87__)); + param_names__.emplace_back(std::string() + "b_age" + '.' + std::to_string(sym48__)); } } - for (int sym87__ = 1; sym87__ <= n_edu; ++sym87__) { + for (int sym48__ = 1; sym48__ <= n_edu; ++sym48__) { { - param_names__.emplace_back(std::string() + "b_edu" + '.' + std::to_string(sym87__)); + param_names__.emplace_back(std::string() + "b_edu" + '.' + std::to_string(sym48__)); } } - for (int sym87__ = 1; sym87__ <= n_region; ++sym87__) { + for (int sym48__ = 1; sym48__ <= n_region; ++sym48__) { { - param_names__.emplace_back(std::string() + "b_region" + '.' + std::to_string(sym87__)); + param_names__.emplace_back(std::string() + "b_region" + '.' + std::to_string(sym48__)); } } - for (int sym87__ = 1; sym87__ <= n_edu; ++sym87__) { + for (int sym48__ = 1; sym48__ <= n_edu; ++sym48__) { { - for (int sym88__ = 1; sym88__ <= n_age; ++sym88__) { + for (int sym49__ = 1; sym49__ <= n_age; ++sym49__) { { - param_names__.emplace_back(std::string() + "b_age_edu" + '.' + std::to_string(sym88__) + '.' + std::to_string(sym87__)); + param_names__.emplace_back(std::string() + "b_age_edu" + '.' + std::to_string(sym49__) + '.' + std::to_string(sym48__)); } } } } - for (int sym87__ = 1; sym87__ <= n_state; ++sym87__) { + for (int sym48__ = 1; sym48__ <= n_state; ++sym48__) { { - param_names__.emplace_back(std::string() + "b_hat" + '.' + std::to_string(sym87__)); + param_names__.emplace_back(std::string() + "b_hat" + '.' + std::to_string(sym48__)); } } if (emit_transformed_parameters__) { @@ -4570,33 +4187,33 @@ class dce_fail_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "b_black"); param_names__.emplace_back(std::string() + "b_female_black"); param_names__.emplace_back(std::string() + "b_v_prev"); - for (int sym87__ = 1; sym87__ <= n_age; ++sym87__) { + for (int sym48__ = 1; sym48__ <= n_age; ++sym48__) { { - param_names__.emplace_back(std::string() + "b_age" + '.' + std::to_string(sym87__)); + param_names__.emplace_back(std::string() + "b_age" + '.' + std::to_string(sym48__)); } } - for (int sym87__ = 1; sym87__ <= n_edu; ++sym87__) { + for (int sym48__ = 1; sym48__ <= n_edu; ++sym48__) { { - param_names__.emplace_back(std::string() + "b_edu" + '.' + std::to_string(sym87__)); + param_names__.emplace_back(std::string() + "b_edu" + '.' + std::to_string(sym48__)); } } - for (int sym87__ = 1; sym87__ <= n_region; ++sym87__) { + for (int sym48__ = 1; sym48__ <= n_region; ++sym48__) { { - param_names__.emplace_back(std::string() + "b_region" + '.' + std::to_string(sym87__)); + param_names__.emplace_back(std::string() + "b_region" + '.' + std::to_string(sym48__)); } } - for (int sym87__ = 1; sym87__ <= n_edu; ++sym87__) { + for (int sym48__ = 1; sym48__ <= n_edu; ++sym48__) { { - for (int sym88__ = 1; sym88__ <= n_age; ++sym88__) { + for (int sym49__ = 1; sym49__ <= n_age; ++sym49__) { { - param_names__.emplace_back(std::string() + "b_age_edu" + '.' + std::to_string(sym88__) + '.' + std::to_string(sym87__)); + param_names__.emplace_back(std::string() + "b_age_edu" + '.' + std::to_string(sym49__) + '.' + std::to_string(sym48__)); } } } } - for (int sym87__ = 1; sym87__ <= n_state; ++sym87__) { + for (int sym48__ = 1; sym48__ <= n_state; ++sym48__) { { - param_names__.emplace_back(std::string() + "b_hat" + '.' + std::to_string(sym87__)); + param_names__.emplace_back(std::string() + "b_hat" + '.' + std::to_string(sym48__)); } } if (emit_transformed_parameters__) { @@ -4630,8 +4247,14 @@ class dce_fail_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((((((((((((((1 + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + n_age) + + n_edu) + n_region) + (n_age * n_edu)) + n_state); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -4646,8 +4269,15 @@ class dce_fail_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (((((((((((((((1 + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + n_age) + + n_edu) + n_region) + (n_age * n_edu)) + n_state); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -4668,20 +4298,34 @@ class dce_fail_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"sigma", + "sigma_age", "sigma_edu", "sigma_state", "sigma_region", + "sigma_age_edu", "b_0", "b_female", "b_black", "b_female_black", + "b_v_prev", "b_age", "b_edu", "b_region", "b_age_edu", "b_hat"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = dce_fail_model_namespace::dce_fail_model; @@ -4853,8 +4497,8 @@ class expr_prop_experiment_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -4887,13 +4531,14 @@ class expr_prop_experiment_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; @@ -4974,8 +4619,12 @@ class expr_prop_experiment_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -4990,8 +4639,13 @@ class expr_prop_experiment_model final : public model_base_crtp @@ -5012,20 +4666,31 @@ class expr_prop_experiment_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } @@ -5194,8 +4859,8 @@ class expr_prop_experiment2_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -5228,13 +4893,14 @@ class expr_prop_experiment2_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; @@ -5315,8 +4981,12 @@ class expr_prop_experiment2_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -5331,8 +5001,13 @@ class expr_prop_experiment2_model final : public model_base_crtp @@ -5353,20 +5028,31 @@ class expr_prop_experiment2_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } @@ -5430,10 +5116,10 @@ static constexpr std::array locations_array__ = class expr_prop_fail_model final : public model_base_crtp { private: - double lcm_sym25__; - double lcm_sym24__; - int lcm_sym23__; - int lcm_sym22__; + double lcm_sym12__; + double lcm_sym11__; + int lcm_sym10__; + int lcm_sym9__; int N; Eigen::Matrix y__; Eigen::Map> y{nullptr, 0}; @@ -5535,12 +5221,12 @@ class expr_prop_fail_model final : public model_base_crtp (void) function__; // suppress unused var warning try { - double lcm_sym21__; - double lcm_sym20__; - double lcm_sym19__; - double lcm_sym18__; - double lcm_sym17__; - int lcm_sym16__; + double lcm_sym8__; + double lcm_sym7__; + double lcm_sym6__; + double lcm_sym5__; + double lcm_sym4__; + int lcm_sym3__; Eigen::Matrix mu; mu = Eigen::Matrix(2); stan::math::fill(mu, DUMMY_VAR__); @@ -5610,8 +5296,8 @@ class expr_prop_fail_model final : public model_base_crtp const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -5625,12 +5311,8 @@ class expr_prop_fail_model final : public model_base_crtp (void) function__; // suppress unused var warning try { - double lcm_sym15__; - double lcm_sym14__; - double lcm_sym13__; - double lcm_sym12__; - int lcm_sym11__; - int lcm_sym10__; + int lcm_sym2__; + int lcm_sym1__; Eigen::Matrix mu; mu = Eigen::Matrix(2); stan::math::fill(mu, std::numeric_limits::quiet_NaN()); @@ -5651,19 +5333,9 @@ class expr_prop_fail_model final : public model_base_crtp current_statement__ = 3; theta = in__.template read_constrain_lub( 0, 1, lp__); - { - vars__.emplace_back(rvalue(mu, "mu", index_uni(1))); - { - vars__.emplace_back(rvalue(mu, "mu", index_uni(2))); - } - } - { - vars__.emplace_back(rvalue(sigma, "sigma", index_uni(1))); - { - vars__.emplace_back(rvalue(sigma, "sigma", index_uni(2))); - } - } - vars__.emplace_back(theta); + out__.write(mu); + out__.write(sigma); + out__.write(theta); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -5681,107 +5353,48 @@ class expr_prop_fail_model final : public model_base_crtp template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym9__; - double lcm_sym8__; - double lcm_sym3__; - double lcm_sym2__; - double lcm_sym7__; - double lcm_sym6__; - double lcm_sym5__; - double lcm_sym4__; - int lcm_sym1__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - Eigen::Matrix mu; - mu = Eigen::Matrix(2); - stan::math::fill(mu, std::numeric_limits::quiet_NaN()); + Eigen::Matrix mu; + mu = Eigen::Matrix(2); + stan::math::fill(mu, DUMMY_VAR__); { - std::vector mu_flat__; - current_statement__ = 1; - mu_flat__ = context__.vals_r("mu"); - current_statement__ = 1; - pos__ = 1; + assign(mu, in__.read(), + "assigning variable mu", index_uni(1)); { - current_statement__ = 1; - assign(mu, rvalue(mu_flat__, "mu_flat__", index_uni(1)), - "assigning variable mu", index_uni(1)); - current_statement__ = 1; - pos__ = 2; - { - current_statement__ = 1; - assign(mu, mu_flat__[(pos__ - 1)], - "assigning variable mu", index_uni(2)); - current_statement__ = 1; - pos__ = (pos__ + 1); - } + assign(mu, in__.read(), + "assigning variable mu", index_uni(2)); } } - Eigen::Matrix mu_free__; - mu_free__ = Eigen::Matrix(2); - stan::math::fill(mu_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 1; - assign(mu_free__, stan::math::ordered_free(mu), - "assigning variable mu_free__"); - std::vector sigma; - sigma = std::vector(2, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 2; - sigma = context__.vals_r("sigma"); - std::vector sigma_free__; - sigma_free__ = std::vector(2, std::numeric_limits::quiet_NaN()); - + out__.write_free_ordered(mu); + std::vector sigma; + sigma = std::vector(2, DUMMY_VAR__); { - current_statement__ = 2; - assign(sigma_free__, - stan::math::lb_free(rvalue(sigma, "sigma", index_uni(1)), 0), - "assigning variable sigma_free__", index_uni(1)); + sigma[(1 - 1)] = in__.read(); { - current_statement__ = 2; - assign(sigma_free__, - stan::math::lb_free(rvalue(sigma, "sigma", index_uni(2)), 0), - "assigning variable sigma_free__", index_uni(2)); + sigma[(2 - 1)] = in__.read(); } } - double theta; - theta = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - theta = context__.vals_r("theta")[(1 - 1)]; - double theta_free__; - theta_free__ = std::numeric_limits::quiet_NaN(); + out__.write_free_lb(0, sigma); + local_scalar_t__ theta; + theta = DUMMY_VAR__; - current_statement__ = 3; - theta_free__ = stan::math::lub_free(theta, 0, 1); - { - vars__.emplace_back(rvalue(mu_free__, "mu_free__", index_uni(1))); - { - vars__.emplace_back(rvalue(mu_free__, "mu_free__", index_uni(2))); - } - } - { - vars__.emplace_back( - rvalue(sigma_free__, "sigma_free__", index_uni(1))); - { - vars__.emplace_back( - rvalue(sigma_free__, "sigma_free__", index_uni(2))); - } - } - vars__.emplace_back(theta_free__); + theta = in__.read(); + out__.write_free_lub(0, 1, theta); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -5811,14 +5424,14 @@ class expr_prop_fail_model final : public model_base_crtp bool emit_generated_quantities__ = true) const final { - for (int sym26__ = 1; sym26__ <= 2; ++sym26__) { + for (int sym13__ = 1; sym13__ <= 2; ++sym13__) { { - param_names__.emplace_back(std::string() + "mu" + '.' + std::to_string(sym26__)); + param_names__.emplace_back(std::string() + "mu" + '.' + std::to_string(sym13__)); } } - for (int sym26__ = 1; sym26__ <= 2; ++sym26__) { + for (int sym13__ = 1; sym13__ <= 2; ++sym13__) { { - param_names__.emplace_back(std::string() + "sigma" + '.' + std::to_string(sym26__)); + param_names__.emplace_back(std::string() + "sigma" + '.' + std::to_string(sym13__)); } } param_names__.emplace_back(std::string() + "theta"); @@ -5838,14 +5451,14 @@ class expr_prop_fail_model final : public model_base_crtp bool emit_generated_quantities__ = true) const final { - for (int sym26__ = 1; sym26__ <= 2; ++sym26__) { + for (int sym13__ = 1; sym13__ <= 2; ++sym13__) { { - param_names__.emplace_back(std::string() + "mu" + '.' + std::to_string(sym26__)); + param_names__.emplace_back(std::string() + "mu" + '.' + std::to_string(sym13__)); } } - for (int sym26__ = 1; sym26__ <= 2; ++sym26__) { + for (int sym13__ = 1; sym13__ <= 2; ++sym13__) { { - param_names__.emplace_back(std::string() + "sigma" + '.' + std::to_string(sym26__)); + param_names__.emplace_back(std::string() + "sigma" + '.' + std::to_string(sym13__)); } } param_names__.emplace_back(std::string() + "theta"); @@ -5880,8 +5493,13 @@ class expr_prop_fail_model final : public model_base_crtp const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((2 + 2) + 1); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -5896,8 +5514,14 @@ class expr_prop_fail_model final : public model_base_crtp bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((2 + 2) + 1); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -5918,20 +5542,32 @@ class expr_prop_fail_model final : public model_base_crtp inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mu", + "sigma", "theta"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = expr_prop_fail_model_namespace::expr_prop_fail_model; @@ -5994,9 +5630,9 @@ static constexpr std::array locations_array__ = class expr_prop_fail2_model final : public model_base_crtp { private: - double lcm_sym13__; - double lcm_sym12__; - int lcm_sym11__; + double lcm_sym8__; + double lcm_sym7__; + int lcm_sym6__; int J; std::vector y; std::vector sigma; @@ -6100,8 +5736,8 @@ class expr_prop_fail2_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -6158,11 +5794,8 @@ class expr_prop_fail2_model final : public model_base_crtp::quiet_NaN(); @@ -6180,14 +5813,9 @@ class expr_prop_fail2_model final : public model_base_crtp(0, lp__); - vars__.emplace_back(mu); - if (logical_gte(J, 1)) { - vars__.emplace_back(rvalue(theta, "theta", index_uni(1))); - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - vars__.emplace_back(theta[(sym1__ - 1)]); - } - } - vars__.emplace_back(tau); + out__.write(mu); + out__.write(theta); + out__.write(tau); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -6205,51 +5833,41 @@ class expr_prop_fail2_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym3__; - double lcm_sym2__; int lcm_sym1__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double mu; - mu = std::numeric_limits::quiet_NaN(); + local_scalar_t__ mu; + mu = DUMMY_VAR__; - current_statement__ = 1; - mu = context__.vals_r("mu")[(1 - 1)]; - std::vector theta; - theta = std::vector(J, std::numeric_limits::quiet_NaN()); + mu = in__.read(); + out__.write(mu); + std::vector theta; + theta = std::vector(J, DUMMY_VAR__); + if (logical_gte(J, 1)) { + theta[(1 - 1)] = in__.read(); + for (int sym1__ = 2; sym1__ <= J; ++sym1__) { + theta[(sym1__ - 1)] = in__.read(); + } + } + out__.write(theta); + local_scalar_t__ tau; + tau = DUMMY_VAR__; - current_statement__ = 2; - theta = context__.vals_r("theta"); - double tau; - tau = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - tau = context__.vals_r("tau")[(1 - 1)]; - double tau_free__; - tau_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - tau_free__ = stan::math::lb_free(tau, 0); - vars__.emplace_back(mu); - if (logical_gte(J, 1)) { - vars__.emplace_back(rvalue(theta, "theta", index_uni(1))); - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - vars__.emplace_back(theta[(sym1__ - 1)]); - } - } - vars__.emplace_back(tau_free__); + tau = in__.read(); + out__.write_free_lb(0, tau); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -6278,9 +5896,9 @@ class expr_prop_fail2_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((1 + J) + 1); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -6354,8 +5977,14 @@ class expr_prop_fail2_model final : public model_base_crtp @@ -6376,20 +6005,32 @@ class expr_prop_fail2_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mu", + "theta", "tau"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = expr_prop_fail2_model_namespace::expr_prop_fail2_model; @@ -6492,30 +6133,30 @@ static constexpr std::array locations_array__ = class expr_prop_fail3_model final : public model_base_crtp { private: - int lcm_sym88__; - int lcm_sym87__; - double lcm_sym86__; - double lcm_sym85__; - int lcm_sym84__; - int lcm_sym83__; - int lcm_sym82__; - int lcm_sym81__; - double lcm_sym80__; - double lcm_sym79__; - double lcm_sym78__; - double lcm_sym77__; - int lcm_sym76__; - int lcm_sym75__; - double lcm_sym74__; - double lcm_sym73__; - double lcm_sym72__; - double lcm_sym71__; - int lcm_sym70__; - int lcm_sym69__; - int lcm_sym68__; - int lcm_sym67__; - int lcm_sym66__; - int lcm_sym65__; + int lcm_sym44__; + int lcm_sym43__; + double lcm_sym42__; + double lcm_sym41__; + int lcm_sym40__; + int lcm_sym39__; + int lcm_sym38__; + int lcm_sym37__; + double lcm_sym36__; + double lcm_sym35__; + double lcm_sym34__; + double lcm_sym33__; + int lcm_sym32__; + int lcm_sym31__; + double lcm_sym30__; + double lcm_sym29__; + double lcm_sym28__; + double lcm_sym27__; + int lcm_sym26__; + int lcm_sym25__; + int lcm_sym24__; + int lcm_sym23__; + int lcm_sym22__; + int lcm_sym21__; int N; int n_age; int n_age_edu; @@ -6649,8 +6290,8 @@ class expr_prop_fail3_model final : public model_base_crtp a; a = Eigen::Matrix(n_age); stan::math::fill(a, DUMMY_VAR__); @@ -7175,8 +6816,8 @@ class expr_prop_fail3_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -7190,30 +6831,11 @@ class expr_prop_fail3_model final : public model_base_crtp a; a = Eigen::Matrix(n_age); stan::math::fill(a, std::numeric_limits::quiet_NaN()); @@ -7286,62 +6908,23 @@ class expr_prop_fail3_model final : public model_base_crtp(N); stan::math::fill(y_hat, DUMMY_VAR__); - if (logical_gte(n_age, 1)) { - vars__.emplace_back(rvalue(a, "a", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_age; ++sym1__) { - vars__.emplace_back(a[(sym1__ - 1)]); - } - } - if (logical_gte(n_edu, 1)) { - vars__.emplace_back(rvalue(b, "b", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { - vars__.emplace_back(b[(sym1__ - 1)]); - } - } - if (logical_gte(n_age_edu, 1)) { - vars__.emplace_back(rvalue(c, "c", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_age_edu; ++sym1__) { - vars__.emplace_back(c[(sym1__ - 1)]); - } - } - if (logical_gte(n_state, 1)) { - vars__.emplace_back(rvalue(d, "d", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_state; ++sym1__) { - vars__.emplace_back(d[(sym1__ - 1)]); - } - } - if (logical_gte(n_region_full, 1)) { - vars__.emplace_back(rvalue(e, "e", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_region_full; ++sym1__) { - vars__.emplace_back(e[(sym1__ - 1)]); - } - } - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(1))); - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(2))); - } - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(3))); - } - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(4))); - } - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(5))); - } - } - vars__.emplace_back(sigma_a); - vars__.emplace_back(sigma_b); - vars__.emplace_back(sigma_c); - vars__.emplace_back(sigma_d); - vars__.emplace_back(sigma_e); + out__.write(a); + out__.write(b); + out__.write(c); + out__.write(d); + out__.write(e); + out__.write(beta); + out__.write(sigma_a); + out__.write(sigma_b); + out__.write(sigma_c); + out__.write(sigma_d); + out__.write(sigma_e); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - lcm_sym31__ = logical_gte(N, 1); - if (lcm_sym31__) { + current_statement__ = 14; + if (logical_gte(N, 1)) { current_statement__ = 13; assign(y_hat, (((((stan::math::fma(rvalue(beta, "beta", index_uni(4)), @@ -7393,12 +6976,7 @@ class expr_prop_fail3_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym30__; - double lcm_sym29__; - double lcm_sym28__; - double lcm_sym27__; - double lcm_sym26__; - double lcm_sym25__; - double lcm_sym24__; - double lcm_sym23__; - double lcm_sym22__; - double lcm_sym21__; - double lcm_sym20__; - double lcm_sym19__; - double lcm_sym18__; - double lcm_sym17__; - double lcm_sym16__; - double lcm_sym15__; - double lcm_sym14__; - double lcm_sym13__; - double lcm_sym12__; - double lcm_sym11__; - double lcm_sym10__; - double lcm_sym9__; - double lcm_sym8__; - double lcm_sym7__; - int lcm_sym6__; int lcm_sym5__; int lcm_sym4__; int lcm_sym3__; @@ -7456,282 +7010,121 @@ class expr_prop_fail3_model final : public model_base_crtp::min(); pos__ = 1; - Eigen::Matrix a; - a = Eigen::Matrix(n_age); - stan::math::fill(a, std::numeric_limits::quiet_NaN()); + Eigen::Matrix a; + a = Eigen::Matrix(n_age); + stan::math::fill(a, DUMMY_VAR__); - { - std::vector a_flat__; - current_statement__ = 1; - a_flat__ = context__.vals_r("a"); - current_statement__ = 1; - pos__ = 1; - lcm_sym1__ = logical_gte(n_age, 1); - if (lcm_sym1__) { - current_statement__ = 1; - assign(a, rvalue(a_flat__, "a_flat__", index_uni(1)), - "assigning variable a", index_uni(1)); - current_statement__ = 1; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_age; ++sym1__) { - current_statement__ = 1; - assign(a, a_flat__[(pos__ - 1)], - "assigning variable a", index_uni(sym1__)); - current_statement__ = 1; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix b; - b = Eigen::Matrix(n_edu); - stan::math::fill(b, std::numeric_limits::quiet_NaN()); + if (logical_gte(n_age, 1)) { + assign(a, in__.read(), + "assigning variable a", index_uni(1)); + for (int sym1__ = 2; sym1__ <= n_age; ++sym1__) { + assign(a, in__.read(), + "assigning variable a", index_uni(sym1__)); + } + } + out__.write(a); + Eigen::Matrix b; + b = Eigen::Matrix(n_edu); + stan::math::fill(b, DUMMY_VAR__); - { - std::vector b_flat__; - current_statement__ = 2; - b_flat__ = context__.vals_r("b"); - current_statement__ = 2; - pos__ = 1; - lcm_sym3__ = logical_gte(n_edu, 1); - if (lcm_sym3__) { - current_statement__ = 2; - assign(b, rvalue(b_flat__, "b_flat__", index_uni(1)), - "assigning variable b", index_uni(1)); - current_statement__ = 2; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { - current_statement__ = 2; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix c; - c = Eigen::Matrix(n_age_edu); - stan::math::fill(c, std::numeric_limits::quiet_NaN()); + if (logical_gte(n_edu, 1)) { + assign(b, in__.read(), + "assigning variable b", index_uni(1)); + for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { + assign(b, in__.read(), + "assigning variable b", index_uni(sym1__)); + } + } + out__.write(b); + Eigen::Matrix c; + c = Eigen::Matrix(n_age_edu); + stan::math::fill(c, DUMMY_VAR__); - { - std::vector c_flat__; - current_statement__ = 3; - c_flat__ = context__.vals_r("c"); - current_statement__ = 3; - pos__ = 1; - lcm_sym2__ = logical_gte(n_age_edu, 1); - if (lcm_sym2__) { - current_statement__ = 3; - assign(c, rvalue(c_flat__, "c_flat__", index_uni(1)), - "assigning variable c", index_uni(1)); - current_statement__ = 3; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_age_edu; ++sym1__) { - current_statement__ = 3; - assign(c, c_flat__[(pos__ - 1)], - "assigning variable c", index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix d; - d = Eigen::Matrix(n_state); - stan::math::fill(d, std::numeric_limits::quiet_NaN()); + if (logical_gte(n_age_edu, 1)) { + assign(c, in__.read(), + "assigning variable c", index_uni(1)); + for (int sym1__ = 2; sym1__ <= n_age_edu; ++sym1__) { + assign(c, in__.read(), + "assigning variable c", index_uni(sym1__)); + } + } + out__.write(c); + Eigen::Matrix d; + d = Eigen::Matrix(n_state); + stan::math::fill(d, DUMMY_VAR__); - { - std::vector d_flat__; - current_statement__ = 4; - d_flat__ = context__.vals_r("d"); - current_statement__ = 4; - pos__ = 1; - lcm_sym5__ = logical_gte(n_state, 1); - if (lcm_sym5__) { - current_statement__ = 4; - assign(d, rvalue(d_flat__, "d_flat__", index_uni(1)), - "assigning variable d", index_uni(1)); - current_statement__ = 4; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_state; ++sym1__) { - current_statement__ = 4; - assign(d, d_flat__[(pos__ - 1)], - "assigning variable d", index_uni(sym1__)); - current_statement__ = 4; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix e; - e = Eigen::Matrix(n_region_full); - stan::math::fill(e, std::numeric_limits::quiet_NaN()); + if (logical_gte(n_state, 1)) { + assign(d, in__.read(), + "assigning variable d", index_uni(1)); + for (int sym1__ = 2; sym1__ <= n_state; ++sym1__) { + assign(d, in__.read(), + "assigning variable d", index_uni(sym1__)); + } + } + out__.write(d); + Eigen::Matrix e; + e = Eigen::Matrix(n_region_full); + stan::math::fill(e, DUMMY_VAR__); - { - std::vector e_flat__; - current_statement__ = 5; - e_flat__ = context__.vals_r("e"); - current_statement__ = 5; - pos__ = 1; - lcm_sym4__ = logical_gte(n_region_full, 1); - if (lcm_sym4__) { - current_statement__ = 5; - assign(e, rvalue(e_flat__, "e_flat__", index_uni(1)), - "assigning variable e", index_uni(1)); - current_statement__ = 5; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_region_full; ++sym1__) { - current_statement__ = 5; - assign(e, e_flat__[(pos__ - 1)], - "assigning variable e", index_uni(sym1__)); - current_statement__ = 5; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix beta; - beta = Eigen::Matrix(5); - stan::math::fill(beta, std::numeric_limits::quiet_NaN()); + if (logical_gte(n_region_full, 1)) { + assign(e, in__.read(), + "assigning variable e", index_uni(1)); + for (int sym1__ = 2; sym1__ <= n_region_full; ++sym1__) { + assign(e, in__.read(), + "assigning variable e", index_uni(sym1__)); + } + } + out__.write(e); + Eigen::Matrix beta; + beta = Eigen::Matrix(5); + stan::math::fill(beta, DUMMY_VAR__); { - std::vector beta_flat__; - current_statement__ = 6; - beta_flat__ = context__.vals_r("beta"); - current_statement__ = 6; - pos__ = 1; + assign(beta, in__.read(), + "assigning variable beta", index_uni(1)); { - current_statement__ = 6; - assign(beta, rvalue(beta_flat__, "beta_flat__", index_uni(1)), - "assigning variable beta", index_uni(1)); - current_statement__ = 6; - pos__ = 2; - { - current_statement__ = 6; - assign(beta, beta_flat__[(pos__ - 1)], - "assigning variable beta", index_uni(2)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - { - current_statement__ = 6; - assign(beta, beta_flat__[(pos__ - 1)], - "assigning variable beta", index_uni(3)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - { - current_statement__ = 6; - assign(beta, beta_flat__[(pos__ - 1)], - "assigning variable beta", index_uni(4)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - { - current_statement__ = 6; - assign(beta, beta_flat__[(pos__ - 1)], - "assigning variable beta", index_uni(5)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - } - double sigma_a; - sigma_a = std::numeric_limits::quiet_NaN(); - - current_statement__ = 7; - sigma_a = context__.vals_r("sigma_a")[(1 - 1)]; - double sigma_a_free__; - sigma_a_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 7; - sigma_a_free__ = stan::math::lub_free(sigma_a, 0, 100); - double sigma_b; - sigma_b = std::numeric_limits::quiet_NaN(); - - current_statement__ = 8; - sigma_b = context__.vals_r("sigma_b")[(1 - 1)]; - double sigma_b_free__; - sigma_b_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 8; - sigma_b_free__ = stan::math::lub_free(sigma_b, 0, 100); - double sigma_c; - sigma_c = std::numeric_limits::quiet_NaN(); - - current_statement__ = 9; - sigma_c = context__.vals_r("sigma_c")[(1 - 1)]; - double sigma_c_free__; - sigma_c_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 9; - sigma_c_free__ = stan::math::lub_free(sigma_c, 0, 100); - double sigma_d; - sigma_d = std::numeric_limits::quiet_NaN(); - - current_statement__ = 10; - sigma_d = context__.vals_r("sigma_d")[(1 - 1)]; - double sigma_d_free__; - sigma_d_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 10; - sigma_d_free__ = stan::math::lub_free(sigma_d, 0, 100); - double sigma_e; - sigma_e = std::numeric_limits::quiet_NaN(); - - current_statement__ = 11; - sigma_e = context__.vals_r("sigma_e")[(1 - 1)]; - double sigma_e_free__; - sigma_e_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 11; - sigma_e_free__ = stan::math::lub_free(sigma_e, 0, 100); - if (lcm_sym1__) { - vars__.emplace_back(rvalue(a, "a", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_age; ++sym1__) { - vars__.emplace_back(a[(sym1__ - 1)]); - } - } - if (lcm_sym3__) { - vars__.emplace_back(rvalue(b, "b", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_edu; ++sym1__) { - vars__.emplace_back(b[(sym1__ - 1)]); - } - } - if (lcm_sym2__) { - vars__.emplace_back(rvalue(c, "c", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_age_edu; ++sym1__) { - vars__.emplace_back(c[(sym1__ - 1)]); - } - } - if (lcm_sym5__) { - vars__.emplace_back(rvalue(d, "d", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_state; ++sym1__) { - vars__.emplace_back(d[(sym1__ - 1)]); - } - } - if (lcm_sym4__) { - vars__.emplace_back(rvalue(e, "e", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_region_full; ++sym1__) { - vars__.emplace_back(e[(sym1__ - 1)]); - } - } - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(1))); - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(2))); + assign(beta, in__.read(), + "assigning variable beta", index_uni(2)); } { - vars__.emplace_back(rvalue(beta, "beta", index_uni(3))); + assign(beta, in__.read(), + "assigning variable beta", index_uni(3)); } { - vars__.emplace_back(rvalue(beta, "beta", index_uni(4))); + assign(beta, in__.read(), + "assigning variable beta", index_uni(4)); } { - vars__.emplace_back(rvalue(beta, "beta", index_uni(5))); + assign(beta, in__.read(), + "assigning variable beta", index_uni(5)); } } - vars__.emplace_back(sigma_a_free__); - vars__.emplace_back(sigma_b_free__); - vars__.emplace_back(sigma_c_free__); - vars__.emplace_back(sigma_d_free__); - vars__.emplace_back(sigma_e_free__); + out__.write(beta); + local_scalar_t__ sigma_a; + sigma_a = DUMMY_VAR__; + + sigma_a = in__.read(); + out__.write_free_lub(0, 100, sigma_a); + local_scalar_t__ sigma_b; + sigma_b = DUMMY_VAR__; + + sigma_b = in__.read(); + out__.write_free_lub(0, 100, sigma_b); + local_scalar_t__ sigma_c; + sigma_c = DUMMY_VAR__; + + sigma_c = in__.read(); + out__.write_free_lub(0, 100, sigma_c); + local_scalar_t__ sigma_d; + sigma_d = DUMMY_VAR__; + + sigma_d = in__.read(); + out__.write_free_lub(0, 100, sigma_d); + local_scalar_t__ sigma_e; + sigma_e = DUMMY_VAR__; + + sigma_e = in__.read(); + out__.write_free_lub(0, 100, sigma_e); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -7767,34 +7160,34 @@ class expr_prop_fail3_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((((((((((n_age + n_edu) + n_age_edu) + n_state) + n_region_full) + 5) + 1) + + 1) + 1) + 1) + 1); + const size_t num_transformed = N; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -7908,8 +7307,15 @@ class expr_prop_fail3_model final : public model_base_crtp @@ -7930,20 +7336,33 @@ class expr_prop_fail3_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"a", + "b", "c", "d", "e", "beta", "sigma_a", "sigma_b", "sigma_c", "sigma_d", + "sigma_e", "y_hat"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = expr_prop_fail3_model_namespace::expr_prop_fail3_model; @@ -7987,7 +7406,7 @@ using namespace stan::math; stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = +static constexpr std::array locations_array__ = {" (found before start of program)", " (in 'expr-prop-fail4.stan', line 12, column 2 to column 24)", " (in 'expr-prop-fail4.stan', line 13, column 2 to column 28)", @@ -8008,7 +7427,6 @@ static constexpr std::array locations_array__ = " (in 'expr-prop-fail4.stan', line 38, column 2 to column 27)", " (in 'expr-prop-fail4.stan', line 40, column 4 to column 36)", " (in 'expr-prop-fail4.stan', line 39, column 17 to line 41, column 3)", - " (in 'expr-prop-fail4.stan', line 39, column 2 to line 41, column 3)", " (in 'expr-prop-fail4.stan', line 42, column 2 to column 38)", " (in 'expr-prop-fail4.stan', line 47, column 4 to column 28)", " (in 'expr-prop-fail4.stan', line 48, column 4 to column 80)", @@ -8038,19 +7456,19 @@ static constexpr std::array locations_array__ = class expr_prop_fail4_model final : public model_base_crtp { private: - int lcm_sym52__; - int lcm_sym51__; - int lcm_sym50__; - int lcm_sym49__; - double lcm_sym48__; - double lcm_sym47__; - double lcm_sym46__; - double lcm_sym45__; - Eigen::Matrix lcm_sym44____; - int lcm_sym43__; - int lcm_sym42__; - int lcm_sym41__; - int lcm_sym40__; + int lcm_sym35__; + int lcm_sym34__; + int lcm_sym33__; + int lcm_sym32__; + double lcm_sym31__; + double lcm_sym30__; + double lcm_sym29__; + double lcm_sym28__; + Eigen::Matrix lcm_sym27____; + int lcm_sym26__; + int lcm_sym25__; + int lcm_sym24__; + int lcm_sym23__; int N; int N_edges; std::vector node1; @@ -8058,7 +7476,7 @@ class expr_prop_fail4_model final : public model_base_crtp E__; Eigen::Matrix log_E__; int phi_std_raw_1dim__; - Eigen::Map> lcm_sym44__{nullptr, 0}; + Eigen::Map> lcm_sym27__{nullptr, 0}; Eigen::Map> E{nullptr, 0}; Eigen::Map> log_E{nullptr, 0}; @@ -8102,89 +7520,89 @@ class expr_prop_fail4_model final : public model_base_crtp::min(); pos__ = 1; - current_statement__ = 28; + current_statement__ = 27; context__.validate_dims("data initialization","N","int", std::vector{}); N = std::numeric_limits::min(); - current_statement__ = 28; + current_statement__ = 27; N = context__.vals_i("N")[(1 - 1)]; - current_statement__ = 28; + current_statement__ = 27; check_greater_or_equal(function__, "N", N, 0); - current_statement__ = 29; + current_statement__ = 28; context__.validate_dims("data initialization","N_edges","int", std::vector{}); N_edges = std::numeric_limits::min(); - current_statement__ = 29; + current_statement__ = 28; N_edges = context__.vals_i("N_edges")[(1 - 1)]; - current_statement__ = 29; + current_statement__ = 28; check_greater_or_equal(function__, "N_edges", N_edges, 0); - current_statement__ = 30; + current_statement__ = 29; validate_non_negative_index("node1", "N_edges", N_edges); - current_statement__ = 31; + current_statement__ = 30; context__.validate_dims("data initialization","node1","int", std::vector{static_cast(N_edges)}); node1 = std::vector(N_edges, std::numeric_limits::min()); - current_statement__ = 31; + current_statement__ = 30; node1 = context__.vals_i("node1"); - lcm_sym41__ = logical_gte(N_edges, 1); - if (lcm_sym41__) { - current_statement__ = 31; + lcm_sym24__ = logical_gte(N_edges, 1); + if (lcm_sym24__) { + current_statement__ = 30; check_greater_or_equal(function__, "node1[sym1__]", rvalue(node1, "node1", index_uni(1)), 1); for (int sym1__ = 2; sym1__ <= N_edges; ++sym1__) { - current_statement__ = 31; + current_statement__ = 30; check_greater_or_equal(function__, "node1[sym1__]", node1[(sym1__ - 1)], 1); } } - current_statement__ = 31; - if (lcm_sym41__) { - current_statement__ = 31; + current_statement__ = 30; + if (lcm_sym24__) { + current_statement__ = 30; check_less_or_equal(function__, "node1[sym1__]", rvalue(node1, "node1", index_uni(1)), N); for (int sym1__ = 2; sym1__ <= N_edges; ++sym1__) { - current_statement__ = 31; + current_statement__ = 30; check_less_or_equal(function__, "node1[sym1__]", node1[(sym1__ - 1)], N); } } - current_statement__ = 32; + current_statement__ = 31; validate_non_negative_index("node2", "N_edges", N_edges); - current_statement__ = 33; + current_statement__ = 32; context__.validate_dims("data initialization","node2","int", std::vector{static_cast(N_edges)}); node2 = std::vector(N_edges, std::numeric_limits::min()); - current_statement__ = 33; + current_statement__ = 32; node2 = context__.vals_i("node2"); - current_statement__ = 33; - if (lcm_sym41__) { - current_statement__ = 33; + current_statement__ = 32; + if (lcm_sym24__) { + current_statement__ = 32; check_greater_or_equal(function__, "node2[sym1__]", rvalue(node2, "node2", index_uni(1)), 1); for (int sym1__ = 2; sym1__ <= N_edges; ++sym1__) { - current_statement__ = 33; + current_statement__ = 32; check_greater_or_equal(function__, "node2[sym1__]", node2[(sym1__ - 1)], 1); } } - current_statement__ = 33; - if (lcm_sym41__) { - current_statement__ = 33; + current_statement__ = 32; + if (lcm_sym24__) { + current_statement__ = 32; check_less_or_equal(function__, "node2[sym1__]", rvalue(node2, "node2", index_uni(1)), N); for (int sym1__ = 2; sym1__ <= N_edges; ++sym1__) { - current_statement__ = 33; + current_statement__ = 32; check_less_or_equal(function__, "node2[sym1__]", node2[(sym1__ - 1)], N); } } - current_statement__ = 34; + current_statement__ = 33; validate_non_negative_index("E", "N", N); - current_statement__ = 35; + current_statement__ = 34; context__.validate_dims("data initialization","E","double", std::vector{static_cast(N)}); E__ = Eigen::Matrix(N); @@ -8192,61 +7610,61 @@ class expr_prop_fail4_model final : public model_base_crtp E_flat__; - current_statement__ = 35; + current_statement__ = 34; E_flat__ = context__.vals_r("E"); - current_statement__ = 35; + current_statement__ = 34; pos__ = 1; - lcm_sym40__ = logical_gte(N, 1); - if (lcm_sym40__) { - current_statement__ = 35; + lcm_sym23__ = logical_gte(N, 1); + if (lcm_sym23__) { + current_statement__ = 34; assign(E, rvalue(E_flat__, "E_flat__", index_uni(1)), "assigning variable E", index_uni(1)); - current_statement__ = 35; + current_statement__ = 34; pos__ = 2; for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - current_statement__ = 35; + current_statement__ = 34; assign(E, E_flat__[(pos__ - 1)], "assigning variable E", index_uni(sym1__)); - current_statement__ = 35; + current_statement__ = 34; pos__ = (pos__ + 1); } } } - current_statement__ = 35; - if (lcm_sym40__) { - current_statement__ = 35; + current_statement__ = 34; + if (lcm_sym23__) { + current_statement__ = 34; check_greater_or_equal(function__, "E[sym1__]", rvalue(E, "E", index_uni(1)), 0); for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - current_statement__ = 35; + current_statement__ = 34; check_greater_or_equal(function__, "E[sym1__]", E[(sym1__ - 1)], 0); } } - current_statement__ = 36; + current_statement__ = 35; validate_non_negative_index("log_E", "N", N); - current_statement__ = 37; + current_statement__ = 36; log_E__ = Eigen::Matrix(N); new (&log_E) Eigen::Map>(log_E__.data(), N); stan::math::fill(log_E, std::numeric_limits::quiet_NaN()); - current_statement__ = 37; + current_statement__ = 36; assign(log_E, stan::math::log(E), "assigning variable log_E"); - current_statement__ = 38; + current_statement__ = 37; phi_std_raw_1dim__ = std::numeric_limits::min(); - lcm_sym42__ = (N - 1); - phi_std_raw_1dim__ = lcm_sym42__; + lcm_sym25__ = (N - 1); + phi_std_raw_1dim__ = lcm_sym25__; + current_statement__ = 37; + validate_non_negative_index("phi_std_raw", "N - 1", lcm_sym25__); current_statement__ = 38; - validate_non_negative_index("phi_std_raw", "N - 1", lcm_sym42__); - current_statement__ = 39; validate_non_negative_index("phi", "N", N); - current_statement__ = 40; + current_statement__ = 39; validate_non_negative_index("theta", "N", N); - current_statement__ = 41; + current_statement__ = 40; validate_non_negative_index("theta_std", "N", N); - current_statement__ = 42; + current_statement__ = 41; validate_non_negative_index("x", "N", N); - current_statement__ = 43; + current_statement__ = 42; validate_non_negative_index("y", "N", N); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -8275,12 +7693,12 @@ class expr_prop_fail4_model final : public model_base_crtp lcm_sym35__; - double lcm_sym34__; - int lcm_sym39__; + local_scalar_t__ lcm_sym21__; + double lcm_sym20__; + double lcm_sym19__; + Eigen::Matrix lcm_sym18__; + double lcm_sym17__; + int lcm_sym22__; local_scalar_t__ tau_phi; tau_phi = DUMMY_VAR__; @@ -8291,36 +7709,36 @@ class expr_prop_fail4_model final : public model_base_crtp((N - 1)); stan::math::fill(phi_std_raw, DUMMY_VAR__); - lcm_sym39__ = (N - 1); + lcm_sym22__ = (N - 1); phi_std_raw = in__.template read>( - lcm_sym39__); + lcm_sym22__); local_scalar_t__ sigma_phi; sigma_phi = DUMMY_VAR__; - lcm_sym38__ = inv_sqrt(tau_phi); - sigma_phi = lcm_sym38__; + lcm_sym21__ = inv_sqrt(tau_phi); + sigma_phi = lcm_sym21__; Eigen::Matrix phi; phi = Eigen::Matrix(N); stan::math::fill(phi, DUMMY_VAR__); current_statement__ = 5; assign(phi, phi_std_raw, - "assigning variable phi", index_min_max(1, lcm_sym39__)); + "assigning variable phi", index_min_max(1, lcm_sym22__)); current_statement__ = 6; assign(phi, -sum(phi_std_raw), "assigning variable phi", index_uni(N)); current_statement__ = 7; - assign(phi, multiply(stan::model::deep_copy(phi), lcm_sym38__), + assign(phi, multiply(stan::model::deep_copy(phi), lcm_sym21__), "assigning variable phi"); current_statement__ = 3; - check_greater_or_equal(function__, "sigma_phi", lcm_sym38__, 0); + check_greater_or_equal(function__, "sigma_phi", lcm_sym21__, 0); { - current_statement__ = 26; + current_statement__ = 25; lp_accum__.add( (-0.5 * dot_self( subtract(rvalue(phi, "phi", index_multi(node1)), rvalue(phi, "phi", index_multi(node2)))))); - current_statement__ = 27; + current_statement__ = 26; lp_accum__.add(gamma_lpdf(tau_phi, 1, 1)); } } catch (const std::exception& e) { @@ -8342,8 +7760,8 @@ class expr_prop_fail4_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -8357,30 +7775,17 @@ class expr_prop_fail4_model final : public model_base_crtp lcm_sym15__; - Eigen::Matrix lcm_sym14__; - double lcm_sym19__; - double lcm_sym18__; - int lcm_sym13__; - int lcm_sym12__; + double lcm_sym12__; double lcm_sym11__; - int lcm_sym20__; - int lcm_sym9__; + Eigen::Matrix lcm_sym10__; + Eigen::Matrix lcm_sym9__; + double lcm_sym14__; + double lcm_sym13__; int lcm_sym8__; + int lcm_sym7__; + double lcm_sym6__; + int lcm_sym15__; + int lcm_sym4__; double tau_phi; tau_phi = std::numeric_limits::quiet_NaN(); @@ -8391,9 +7796,9 @@ class expr_prop_fail4_model final : public model_base_crtp((N - 1)); stan::math::fill(phi_std_raw, std::numeric_limits::quiet_NaN()); - lcm_sym20__ = (N - 1); + lcm_sym15__ = (N - 1); phi_std_raw = in__.template read>( - lcm_sym20__); + lcm_sym15__); double sigma_phi; sigma_phi = std::numeric_limits::quiet_NaN(); @@ -8401,44 +7806,28 @@ class expr_prop_fail4_model final : public model_base_crtp(N); stan::math::fill(phi, std::numeric_limits::quiet_NaN()); - vars__.emplace_back(tau_phi); - if (logical_gte(lcm_sym20__, 1)) { - vars__.emplace_back( - rvalue(phi_std_raw, "phi_std_raw", index_uni(1))); - for (int sym1__ = 2; sym1__ <= lcm_sym20__; ++sym1__) { - vars__.emplace_back(phi_std_raw[(sym1__ - 1)]); - } - } + out__.write(tau_phi); + out__.write(phi_std_raw); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - lcm_sym16__ = inv_sqrt(tau_phi); - sigma_phi = lcm_sym16__; + lcm_sym11__ = inv_sqrt(tau_phi); + sigma_phi = lcm_sym11__; current_statement__ = 5; assign(phi, phi_std_raw, - "assigning variable phi", index_min_max(1, lcm_sym20__)); + "assigning variable phi", index_min_max(1, lcm_sym15__)); current_statement__ = 6; assign(phi, -sum(phi_std_raw), "assigning variable phi", index_uni(N)); current_statement__ = 7; - assign(phi, multiply(stan::model::deep_copy(phi), lcm_sym16__), + assign(phi, multiply(stan::model::deep_copy(phi), lcm_sym11__), "assigning variable phi"); current_statement__ = 3; - check_greater_or_equal(function__, "sigma_phi", lcm_sym16__, 0); + check_greater_or_equal(function__, "sigma_phi", lcm_sym11__, 0); if (emit_transformed_parameters__) { - { - vars__.emplace_back(lcm_sym16__); - lcm_sym8__ = logical_gte(N, 1); - if (lcm_sym8__) { - vars__.emplace_back(rvalue(phi, "phi", index_uni(1))); - for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - vars__.emplace_back(phi[(sym1__ - 1)]); - } - } - } - } else { - lcm_sym8__ = logical_gte(N, 1); - } + out__.write(lcm_sym11__); + out__.write(phi); + } if (logical_negation(emit_generated_quantities__)) { return ; } @@ -8473,8 +7862,8 @@ class expr_prop_fail4_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym7__; - double lcm_sym6__; - double lcm_sym5__; - double lcm_sym4__; int lcm_sym3__; - int lcm_sym2__; int lcm_sym1__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double tau_phi; - tau_phi = std::numeric_limits::quiet_NaN(); + local_scalar_t__ tau_phi; + tau_phi = DUMMY_VAR__; - current_statement__ = 1; - tau_phi = context__.vals_r("tau_phi")[(1 - 1)]; - double tau_phi_free__; - tau_phi_free__ = std::numeric_limits::quiet_NaN(); + tau_phi = in__.read(); + out__.write_free_lb(0, tau_phi); + Eigen::Matrix phi_std_raw; + phi_std_raw = Eigen::Matrix((N - 1)); + stan::math::fill(phi_std_raw, DUMMY_VAR__); - current_statement__ = 1; - tau_phi_free__ = stan::math::lb_free(tau_phi, 0); - Eigen::Matrix phi_std_raw; - phi_std_raw = Eigen::Matrix((N - 1)); - stan::math::fill(phi_std_raw, std::numeric_limits::quiet_NaN()); - - { - std::vector phi_std_raw_flat__; - current_statement__ = 2; - phi_std_raw_flat__ = context__.vals_r("phi_std_raw"); - current_statement__ = 2; - pos__ = 1; - lcm_sym2__ = (N - 1); - lcm_sym1__ = logical_gte(lcm_sym2__, 1); - if (lcm_sym1__) { - current_statement__ = 2; - assign(phi_std_raw, - rvalue(phi_std_raw_flat__, "phi_std_raw_flat__", index_uni(1)), - "assigning variable phi_std_raw", index_uni(1)); - current_statement__ = 2; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= lcm_sym2__; ++sym1__) { - current_statement__ = 2; - assign(phi_std_raw, phi_std_raw_flat__[(pos__ - 1)], - "assigning variable phi_std_raw", index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } - } - } - vars__.emplace_back(tau_phi_free__); - if (lcm_sym1__) { - vars__.emplace_back( - rvalue(phi_std_raw, "phi_std_raw", index_uni(1))); - for (int sym1__ = 2; sym1__ <= lcm_sym2__; ++sym1__) { - vars__.emplace_back(phi_std_raw[(sym1__ - 1)]); + lcm_sym3__ = (N - 1); + if (logical_gte(lcm_sym3__, 1)) { + assign(phi_std_raw, in__.read(), + "assigning variable phi_std_raw", index_uni(1)); + for (int sym1__ = 2; sym1__ <= lcm_sym3__; ++sym1__) { + assign(phi_std_raw, in__.read(), + "assigning variable phi_std_raw", index_uni(sym1__)); } } + out__.write(phi_std_raw); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -8662,16 +7999,16 @@ class expr_prop_fail4_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (1 + phi_std_raw_1dim__); + const size_t num_transformed = (1 + N); + const size_t num_gen_quantities = + (((((((1 + 1) + 1) + 1) + N) + N) + N) + N); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -8792,8 +8135,15 @@ class expr_prop_fail4_model final : public model_base_crtp @@ -8814,20 +8164,33 @@ class expr_prop_fail4_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"tau_phi", + "phi_std_raw", "sigma_phi", "phi", "beta0", "beta1", "tau_theta", + "sigma_theta", "theta", "theta_std", "x", "y"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = expr_prop_fail4_model_namespace::expr_prop_fail4_model; @@ -8871,7 +8234,7 @@ using namespace stan::math; stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = +static constexpr std::array locations_array__ = {" (found before start of program)", " (in 'expr-prop-fail5.stan', line 71, column 2 to column 33)", " (in 'expr-prop-fail5.stan', line 72, column 2 to column 31)", @@ -8889,7 +8252,6 @@ static constexpr std::array locations_array__ = " (in 'expr-prop-fail5.stan', line 92, column 38 to line 95, column 5)", " (in 'expr-prop-fail5.stan', line 92, column 4 to line 95, column 5)", " (in 'expr-prop-fail5.stan', line 87, column 20 to line 96, column 3)", - " (in 'expr-prop-fail5.stan', line 87, column 2 to line 96, column 3)", " (in 'expr-prop-fail5.stan', line 26, column 11 to column 15)", " (in 'expr-prop-fail5.stan', line 26, column 17 to column 28)", " (in 'expr-prop-fail5.stan', line 26, column 4 to column 34)", @@ -8961,20 +8323,20 @@ first_capture(const std::vector& y_i, std::ostream* pstream__) { { lcm_sym27__ = size(y_i); if (logical_gte(lcm_sym27__, 1)) { - current_statement__ = 48; + current_statement__ = 47; if (rvalue(y_i, "y_i", index_uni(1))) { - current_statement__ = 47; + current_statement__ = 46; return 1; } for (int k = 2; k <= lcm_sym27__; ++k) { - current_statement__ = 48; + current_statement__ = 47; if (rvalue(y_i, "y_i", index_uni(k))) { - current_statement__ = 47; + current_statement__ = 46; return k; } } } - current_statement__ = 66; + current_statement__ = 65; return 0; } } catch (const std::exception& e) { @@ -9015,9 +8377,9 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { k = std::numeric_limits::min(); lcm_sym32__ = (size(y_i) - 0); - current_statement__ = 54; + current_statement__ = 53; if (y_i[(lcm_sym32__ - 1)]) { - current_statement__ = 53; + current_statement__ = 52; return lcm_sym32__; } for (int k_rev = 1; k_rev <= lcm_sym33__; ++k_rev) { @@ -9025,14 +8387,14 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { k = std::numeric_limits::min(); lcm_sym31__ = (size(y_i) - k_rev); - current_statement__ = 54; + current_statement__ = 53; if (y_i[(lcm_sym31__ - 1)]) { - current_statement__ = 53; + current_statement__ = 52; return lcm_sym31__; } } } - current_statement__ = 67; + current_statement__ = 66; return 0; } } catch (const std::exception& e) { @@ -9077,17 +8439,17 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, int lcm_sym37__; int lcm_sym36__; { - current_statement__ = 18; + current_statement__ = 17; validate_non_negative_index("chi", "nind", nind); - current_statement__ = 19; + current_statement__ = 18; validate_non_negative_index("chi", "n_occasions", n_occasions); Eigen::Matrix chi; chi = Eigen::Matrix(nind, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - current_statement__ = 69; + current_statement__ = 68; if (logical_gte(nind, 1)) { - current_statement__ = 21; + current_statement__ = 20; assign(chi, 1.0, "assigning variable chi", index_uni(1), index_uni(n_occasions)); lcm_sym39__ = (n_occasions - 1); @@ -9100,7 +8462,7 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, t_next = std::numeric_limits::min(); lcm_sym41__ = (lcm_sym39__ + 1); - current_statement__ = 24; + current_statement__ = 23; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(1), index_uni(lcm_sym39__)) * @@ -9118,7 +8480,7 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, t_next = std::numeric_limits::min(); lcm_sym40__ = (lcm_sym38__ + 1); - current_statement__ = 24; + current_statement__ = 23; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(1), index_uni(lcm_sym38__)) * @@ -9132,10 +8494,10 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, } } for (int i = 2; i <= nind; ++i) { - current_statement__ = 21; + current_statement__ = 20; assign(chi, 1.0, "assigning variable chi", index_uni(i), index_uni(n_occasions)); - current_statement__ = 68; + current_statement__ = 67; if (lcm_sym37__) { int t_curr; t_curr = std::numeric_limits::min(); @@ -9144,7 +8506,7 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, t_next = std::numeric_limits::min(); lcm_sym41__ = (lcm_sym39__ + 1); - current_statement__ = 24; + current_statement__ = 23; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(i), index_uni(lcm_sym39__)) * @@ -9164,7 +8526,7 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, t_next = std::numeric_limits::min(); lcm_sym40__ = (lcm_sym38__ + 1); - current_statement__ = 24; + current_statement__ = 23; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(i), index_uni(lcm_sym38__)) * @@ -9180,7 +8542,7 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, } } } - current_statement__ = 70; + current_statement__ = 69; return chi; } } catch (const std::exception& e) { @@ -9205,22 +8567,6 @@ return prob_uncaptured(nind, n_occasions, p, phi, pstream__); class expr_prop_fail5_model final : public model_base_crtp { private: - int lcm_sym176__; - int lcm_sym175__; - int lcm_sym174__; - int lcm_sym173__; - int lcm_sym172__; - int lcm_sym171__; - int lcm_sym170__; - int lcm_sym169__; - int lcm_sym168__; - int lcm_sym167__; - int lcm_sym166__; - int lcm_sym165__; - int lcm_sym164__; - int lcm_sym163__; - int lcm_sym162__; - int lcm_sym161__; int lcm_sym160__; int lcm_sym159__; int lcm_sym158__; @@ -9229,6 +8575,22 @@ class expr_prop_fail5_model final : public model_base_crtp> y; @@ -9288,29 +8650,29 @@ class expr_prop_fail5_model final : public model_base_crtp::min(); pos__ = 1; - current_statement__ = 37; + current_statement__ = 36; context__.validate_dims("data initialization","nind","int", std::vector{}); nind = std::numeric_limits::min(); - current_statement__ = 37; + current_statement__ = 36; nind = context__.vals_i("nind")[(1 - 1)]; - current_statement__ = 37; + current_statement__ = 36; check_greater_or_equal(function__, "nind", nind, 0); - current_statement__ = 38; + current_statement__ = 37; context__.validate_dims("data initialization","n_occasions","int", std::vector{}); n_occasions = std::numeric_limits::min(); - current_statement__ = 38; + current_statement__ = 37; n_occasions = context__.vals_i("n_occasions")[(1 - 1)]; - current_statement__ = 38; + current_statement__ = 37; check_greater_or_equal(function__, "n_occasions", n_occasions, 2); - current_statement__ = 39; + current_statement__ = 38; validate_non_negative_index("y", "nind", nind); - current_statement__ = 40; + current_statement__ = 39; validate_non_negative_index("y", "n_occasions", n_occasions); - current_statement__ = 41; + current_statement__ = 40; context__.validate_dims("data initialization","y","int", std::vector{static_cast(nind), static_cast(n_occasions)}); @@ -9319,137 +8681,137 @@ class expr_prop_fail5_model final : public model_base_crtp y_flat__; - current_statement__ = 41; + current_statement__ = 40; y_flat__ = context__.vals_i("y"); - current_statement__ = 41; + current_statement__ = 40; pos__ = 1; - lcm_sym153__ = logical_gte(n_occasions, 1); - if (lcm_sym153__) { + lcm_sym137__ = logical_gte(n_occasions, 1); + if (lcm_sym137__) { { - lcm_sym154__ = logical_gte(nind, 1); - if (lcm_sym154__) { - current_statement__ = 41; + lcm_sym138__ = logical_gte(nind, 1); + if (lcm_sym138__) { + current_statement__ = 40; assign(y, rvalue(y_flat__, "y_flat__", index_uni(1)), "assigning variable y", index_uni(1), index_uni(1)); - current_statement__ = 41; + current_statement__ = 40; pos__ = 2; for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - current_statement__ = 41; + current_statement__ = 40; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(sym2__), index_uni(1)); - current_statement__ = 41; + current_statement__ = 40; pos__ = (pos__ + 1); } } for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - current_statement__ = 41; - if (lcm_sym154__) { - current_statement__ = 41; + current_statement__ = 40; + if (lcm_sym138__) { + current_statement__ = 40; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(1), index_uni(sym1__)); - current_statement__ = 41; + current_statement__ = 40; pos__ = (pos__ + 1); for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - current_statement__ = 41; + current_statement__ = 40; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 41; + current_statement__ = 40; pos__ = (pos__ + 1); } } } } } else { - lcm_sym154__ = logical_gte(nind, 1); + lcm_sym138__ = logical_gte(nind, 1); } } - current_statement__ = 41; - if (lcm_sym154__) { - current_statement__ = 41; - if (lcm_sym153__) { - current_statement__ = 41; + current_statement__ = 40; + if (lcm_sym138__) { + current_statement__ = 40; + if (lcm_sym137__) { + current_statement__ = 40; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 41; + current_statement__ = 40; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(sym2__)), 0); } } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { - current_statement__ = 41; - if (lcm_sym153__) { - current_statement__ = 41; + current_statement__ = 40; + if (lcm_sym137__) { + current_statement__ = 40; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(sym1__), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 41; + current_statement__ = 40; check_greater_or_equal(function__, "y[sym1__, sym2__]", y[(sym1__ - 1)][(sym2__ - 1)], 0); } } } } - current_statement__ = 41; - if (lcm_sym154__) { - current_statement__ = 41; - if (lcm_sym153__) { - current_statement__ = 41; + current_statement__ = 40; + if (lcm_sym138__) { + current_statement__ = 40; + if (lcm_sym137__) { + current_statement__ = 40; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 41; + current_statement__ = 40; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(sym2__)), 1); } } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { - current_statement__ = 41; - if (lcm_sym153__) { - current_statement__ = 41; + current_statement__ = 40; + if (lcm_sym137__) { + current_statement__ = 40; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(sym1__), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 41; + current_statement__ = 40; check_less_or_equal(function__, "y[sym1__, sym2__]", y[(sym1__ - 1)][(sym2__ - 1)], 1); } } } } - current_statement__ = 42; + current_statement__ = 41; n_occ_minus_1 = std::numeric_limits::min(); - lcm_sym155__ = (n_occasions - 1); - n_occ_minus_1 = lcm_sym155__; - current_statement__ = 43; + lcm_sym139__ = (n_occasions - 1); + n_occ_minus_1 = lcm_sym139__; + current_statement__ = 42; validate_non_negative_index("first", "nind", nind); - current_statement__ = 44; + current_statement__ = 43; first = std::vector(nind, std::numeric_limits::min()); - current_statement__ = 45; + current_statement__ = 44; validate_non_negative_index("last", "nind", nind); - current_statement__ = 46; + current_statement__ = 45; last = std::vector(nind, std::numeric_limits::min()); - current_statement__ = 51; - if (lcm_sym154__) { + current_statement__ = 50; + if (lcm_sym138__) { int inline_sym17__; int inline_sym19__; inline_sym19__ = std::numeric_limits::min(); inline_sym19__ = 0; for (int inline_sym20__ = 1; inline_sym20__ <= 1; ++inline_sym20__) { - lcm_sym162__ = size(rvalue(y, "y", index_uni(1))); - for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym162__; + lcm_sym146__ = size(rvalue(y, "y", index_uni(1))); + for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym146__; ++inline_sym18__) { - current_statement__ = 48; + current_statement__ = 47; if (rvalue(y, "y", index_uni(1))[(inline_sym18__ - 1)]) { inline_sym19__ = 1; inline_sym17__ = inline_sym18__; @@ -9472,10 +8834,10 @@ class expr_prop_fail5_model final : public model_base_crtp::min(); inline_sym24__ = 0; for (int inline_sym25__ = 1; inline_sym25__ <= 1; ++inline_sym25__) { - lcm_sym162__ = size(rvalue(y, "y", index_uni(1))); - lcm_sym159__ = (lcm_sym162__ - 1); - for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym159__; + lcm_sym146__ = size(rvalue(y, "y", index_uni(1))); + lcm_sym143__ = (lcm_sym146__ - 1); + for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym143__; ++inline_sym23__) { int inline_sym22__; inline_sym22__ = std::numeric_limits::min(); - lcm_sym158__ = (lcm_sym162__ - inline_sym23__); - inline_sym22__ = lcm_sym158__; - current_statement__ = 54; - if (rvalue(y, "y", index_uni(1))[(lcm_sym158__ - 1)]) { + lcm_sym142__ = (lcm_sym146__ - inline_sym23__); + inline_sym22__ = lcm_sym142__; + current_statement__ = 53; + if (rvalue(y, "y", index_uni(1))[(lcm_sym142__ - 1)]) { inline_sym24__ = 1; - inline_sym21__ = lcm_sym158__; + inline_sym21__ = lcm_sym142__; break; } } @@ -9532,19 +8894,19 @@ class expr_prop_fail5_model final : public model_base_crtp::min(); - lcm_sym156__ = (lcm_sym161__ - inline_sym23__); - inline_sym22__ = lcm_sym156__; - current_statement__ = 54; - if (rvalue(y, "y", index_uni(i))[(lcm_sym156__ - 1)]) { + lcm_sym140__ = (lcm_sym145__ - inline_sym23__); + inline_sym22__ = lcm_sym140__; + current_statement__ = 53; + if (rvalue(y, "y", index_uni(i))[(lcm_sym140__ - 1)]) { inline_sym24__ = 1; - inline_sym21__ = lcm_sym156__; + inline_sym21__ = lcm_sym140__; break; } } @@ -9559,63 +8921,63 @@ class expr_prop_fail5_model final : public model_base_crtp inline_sym10__; inline_sym10__ = Eigen::Matrix(nind, n_occasions); stan::math::fill(inline_sym10__, DUMMY_VAR__); for (int inline_sym14__ = 1; inline_sym14__ <= nind; ++inline_sym14__) { - current_statement__ = 21; + current_statement__ = 20; assign(inline_sym10__, 1.0, "assigning variable inline_sym10__", index_uni(inline_sym14__), index_uni(n_occasions)); - lcm_sym112__ = (n_occasions - 1); - if (logical_gte(lcm_sym112__, 1)) { + lcm_sym96__ = (n_occasions - 1); + if (logical_gte(lcm_sym96__, 1)) { int inline_sym11__; inline_sym11__ = std::numeric_limits::min(); int inline_sym12__; inline_sym12__ = std::numeric_limits::min(); - lcm_sym116__ = (lcm_sym112__ + 1); - current_statement__ = 24; + lcm_sym100__ = (lcm_sym96__ + 1); + current_statement__ = 23; assign(inline_sym10__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym112__)) * + index_uni(inline_sym14__), index_uni(lcm_sym96__)) * (1 - rvalue(p, "p", index_uni(inline_sym14__), - index_uni((lcm_sym116__ - 1))))), + index_uni((lcm_sym100__ - 1))))), rvalue(inline_sym10__, "inline_sym10__", - index_uni(inline_sym14__), index_uni(lcm_sym116__)), + index_uni(inline_sym14__), index_uni(lcm_sym100__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym112__)))), + index_uni(inline_sym14__), index_uni(lcm_sym96__)))), "assigning variable inline_sym10__", index_uni(inline_sym14__), - index_uni(lcm_sym112__)); - for (int inline_sym13__ = 2; inline_sym13__ <= lcm_sym112__; + index_uni(lcm_sym96__)); + for (int inline_sym13__ = 2; inline_sym13__ <= lcm_sym96__; ++inline_sym13__) { int inline_sym11__; inline_sym11__ = std::numeric_limits::min(); @@ -9865,24 +9227,24 @@ class expr_prop_fail5_model final : public model_base_crtp::min(); - lcm_sym111__ = (n_occasions - inline_sym13__); - lcm_sym115__ = (lcm_sym111__ + 1); - current_statement__ = 24; + lcm_sym95__ = (n_occasions - inline_sym13__); + lcm_sym99__ = (lcm_sym95__ + 1); + current_statement__ = 23; assign(inline_sym10__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym111__)) * + index_uni(inline_sym14__), index_uni(lcm_sym95__)) * (1 - rvalue(p, "p", index_uni(inline_sym14__), - index_uni((lcm_sym115__ - 1))))), + index_uni((lcm_sym99__ - 1))))), rvalue(inline_sym10__, "inline_sym10__", - index_uni(inline_sym14__), index_uni(lcm_sym115__)), + index_uni(inline_sym14__), index_uni(lcm_sym99__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym111__)))), + index_uni(inline_sym14__), index_uni(lcm_sym95__)))), "assigning variable inline_sym10__", index_uni(inline_sym14__), - index_uni(lcm_sym111__)); + index_uni(lcm_sym95__)); } } if (inline_sym15__) { @@ -9899,15 +9261,15 @@ class expr_prop_fail5_model final : public model_base_crtp(epsilon, 0, sigma)); - current_statement__ = 36; - if (lcm_sym101__) { - lcm_sym138__ = rvalue(first, "first", index_uni(1)); - if (logical_gt(lcm_sym138__, 0)) { - lcm_sym144__ = rvalue(last, "last", index_uni(1)); - lcm_sym120__ = (lcm_sym138__ + 1); - if (logical_gte(lcm_sym144__, lcm_sym120__)) { - current_statement__ = 30; + current_statement__ = 35; + if (lcm_sym85__) { + lcm_sym122__ = rvalue(first, "first", index_uni(1)); + if (logical_gt(lcm_sym122__, 0)) { + lcm_sym128__ = rvalue(last, "last", index_uni(1)); + lcm_sym104__ = (lcm_sym122__ + 1); + if (logical_gte(lcm_sym128__, lcm_sym104__)) { + current_statement__ = 29; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", - index_uni(1), index_uni((lcm_sym120__ - 1))))); - lcm_sym118__ = (lcm_sym120__ + 1); + index_uni(1), index_uni((lcm_sym104__ - 1))))); + lcm_sym102__ = (lcm_sym104__ + 1); lp_accum__.add( bernoulli_lpmf( - rvalue(y, "y", index_uni(1), index_uni(lcm_sym120__)), - rvalue(p, "p", index_uni(1), index_uni((lcm_sym120__ - 1))))); - for (int t = lcm_sym118__; t <= lcm_sym144__; ++t) { - current_statement__ = 30; + rvalue(y, "y", index_uni(1), index_uni(lcm_sym104__)), + rvalue(p, "p", index_uni(1), index_uni((lcm_sym104__ - 1))))); + for (int t = lcm_sym102__; t <= lcm_sym128__; ++t) { + current_statement__ = 29; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", index_uni(1), index_uni((t - 1))))); - current_statement__ = 31; + current_statement__ = 30; lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", index_uni(1), index_uni(t)), rvalue(p, "p", index_uni(1), index_uni((t - 1))))); } } - current_statement__ = 33; + current_statement__ = 32; lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym9__, "inline_sym9__", - index_uni(1), index_uni(lcm_sym144__)))); + index_uni(1), index_uni(lcm_sym128__)))); } for (int i = 2; i <= nind; ++i) { - lcm_sym137__ = rvalue(first, "first", index_uni(i)); - if (logical_gt(lcm_sym137__, 0)) { - lcm_sym143__ = rvalue(last, "last", index_uni(i)); - lcm_sym119__ = (lcm_sym137__ + 1); - if (logical_gte(lcm_sym143__, lcm_sym119__)) { - current_statement__ = 30; + lcm_sym121__ = rvalue(first, "first", index_uni(i)); + if (logical_gt(lcm_sym121__, 0)) { + lcm_sym127__ = rvalue(last, "last", index_uni(i)); + lcm_sym103__ = (lcm_sym121__ + 1); + if (logical_gte(lcm_sym127__, lcm_sym103__)) { + current_statement__ = 29; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", - index_uni(i), index_uni((lcm_sym119__ - 1))))); - lcm_sym117__ = (lcm_sym119__ + 1); + index_uni(i), index_uni((lcm_sym103__ - 1))))); + lcm_sym101__ = (lcm_sym103__ + 1); lp_accum__.add( bernoulli_lpmf( - rvalue(y, "y", index_uni(i), index_uni(lcm_sym119__)), + rvalue(y, "y", index_uni(i), index_uni(lcm_sym103__)), rvalue(p, "p", - index_uni(i), index_uni((lcm_sym119__ - 1))))); - for (int t = lcm_sym117__; t <= lcm_sym143__; ++t) { - current_statement__ = 30; + index_uni(i), index_uni((lcm_sym103__ - 1))))); + for (int t = lcm_sym101__; t <= lcm_sym127__; ++t) { + current_statement__ = 29; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", index_uni(i), index_uni((t - 1))))); - current_statement__ = 31; + current_statement__ = 30; lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", index_uni(i), index_uni(t)), rvalue(p, "p", index_uni(i), index_uni((t - 1))))); } } - current_statement__ = 33; + current_statement__ = 32; lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym9__, "inline_sym9__", - index_uni(i), index_uni(lcm_sym143__)))); + index_uni(i), index_uni(lcm_sym127__)))); } } } @@ -10185,8 +9547,8 @@ class expr_prop_fail5_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -10200,42 +9562,26 @@ class expr_prop_fail5_model final : public model_base_crtp::quiet_NaN(); @@ -10288,32 +9639,26 @@ class expr_prop_fail5_model final : public model_base_crtp::quiet_NaN(); - vars__.emplace_back(mean_phi); - vars__.emplace_back(mean_p); - lcm_sym53__ = logical_gte(nind, 1); - if (lcm_sym53__) { - vars__.emplace_back(rvalue(epsilon, "epsilon", index_uni(1))); - for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { - vars__.emplace_back(epsilon[(sym1__ - 1)]); - } - } - vars__.emplace_back(sigma); + out__.write(mean_phi); + out__.write(mean_p); + out__.write(epsilon); + out__.write(sigma); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - lcm_sym73__ = logit(mean_phi); - mu = lcm_sym73__; - current_statement__ = 17; - if (lcm_sym53__) { - lcm_sym78__ = rvalue(first, "first", index_uni(1)); - lcm_sym62__ = (lcm_sym78__ - 1); - if (logical_gte(lcm_sym62__, 1)) { + lcm_sym68__ = logit(mean_phi); + mu = lcm_sym68__; + lcm_sym48__ = logical_gte(nind, 1); + if (lcm_sym48__) { + lcm_sym71__ = rvalue(first, "first", index_uni(1)); + lcm_sym57__ = (lcm_sym71__ - 1); + if (logical_gte(lcm_sym57__, 1)) { current_statement__ = 9; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(1)); current_statement__ = 10; assign(p, 0, "assigning variable p", index_uni(1), index_uni(1)); - for (int t = 2; t <= lcm_sym62__; ++t) { + for (int t = 2; t <= lcm_sym57__; ++t) { current_statement__ = 9; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(t)); @@ -10321,19 +9666,19 @@ class expr_prop_fail5_model final : public model_base_crtp inline_sym2__; inline_sym2__ = Eigen::Matrix(nind, n_occasions); stan::math::fill(inline_sym2__, DUMMY_VAR__); for (int inline_sym6__ = 1; inline_sym6__ <= nind; ++inline_sym6__) { - current_statement__ = 21; + current_statement__ = 20; assign(inline_sym2__, 1.0, "assigning variable inline_sym2__", index_uni(inline_sym6__), index_uni(n_occasions)); - lcm_sym60__ = (n_occasions - 1); - if (logical_gte(lcm_sym60__, 1)) { + lcm_sym55__ = (n_occasions - 1); + if (logical_gte(lcm_sym55__, 1)) { int inline_sym3__; inline_sym3__ = std::numeric_limits::min(); int inline_sym4__; inline_sym4__ = std::numeric_limits::min(); - lcm_sym66__ = (lcm_sym60__ + 1); - current_statement__ = 24; + lcm_sym61__ = (lcm_sym55__ + 1); + current_statement__ = 23; assign(inline_sym2__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym60__)) * + index_uni(inline_sym6__), index_uni(lcm_sym55__)) * (1 - rvalue(p, "p", - index_uni(inline_sym6__), index_uni((lcm_sym66__ - 1))))), + index_uni(inline_sym6__), index_uni((lcm_sym61__ - 1))))), rvalue(inline_sym2__, "inline_sym2__", - index_uni(inline_sym6__), index_uni(lcm_sym66__)), + index_uni(inline_sym6__), index_uni(lcm_sym61__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym60__)))), + index_uni(inline_sym6__), index_uni(lcm_sym55__)))), "assigning variable inline_sym2__", index_uni(inline_sym6__), - index_uni(lcm_sym60__)); - for (int inline_sym5__ = 2; inline_sym5__ <= lcm_sym60__; + index_uni(lcm_sym55__)); + for (int inline_sym5__ = 2; inline_sym5__ <= lcm_sym55__; ++inline_sym5__) { int inline_sym3__; inline_sym3__ = std::numeric_limits::min(); @@ -10429,24 +9774,24 @@ class expr_prop_fail5_model final : public model_base_crtp::min(); - lcm_sym59__ = (n_occasions - inline_sym5__); - lcm_sym65__ = (lcm_sym59__ + 1); - current_statement__ = 24; + lcm_sym54__ = (n_occasions - inline_sym5__); + lcm_sym60__ = (lcm_sym54__ + 1); + current_statement__ = 23; assign(inline_sym2__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym59__)) * + index_uni(inline_sym6__), index_uni(lcm_sym54__)) * (1 - rvalue(p, "p", index_uni(inline_sym6__), - index_uni((lcm_sym65__ - 1))))), + index_uni((lcm_sym60__ - 1))))), rvalue(inline_sym2__, "inline_sym2__", - index_uni(inline_sym6__), index_uni(lcm_sym65__)), + index_uni(inline_sym6__), index_uni(lcm_sym60__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym59__)))), + index_uni(inline_sym6__), index_uni(lcm_sym54__)))), "assigning variable inline_sym2__", index_uni(inline_sym6__), - index_uni(lcm_sym59__)); + index_uni(lcm_sym54__)); } } if (inline_sym7__) { @@ -10463,15 +9808,15 @@ class expr_prop_fail5_model final : public model_base_crtp::quiet_NaN(); - lcm_sym74__ = square(sigma); - sigma2 = lcm_sym74__; - current_statement__ = 28; - check_greater_or_equal(function__, "sigma2", lcm_sym74__, 0); - vars__.emplace_back(lcm_sym74__); + lcm_sym69__ = square(sigma); + sigma2 = lcm_sym69__; + current_statement__ = 27; + check_greater_or_equal(function__, "sigma2", lcm_sym69__, 0); + out__.write(lcm_sym69__); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -10743,91 +10026,49 @@ class expr_prop_fail5_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym51__; - double lcm_sym50__; - double lcm_sym49__; - double lcm_sym48__; - int lcm_sym47__; int lcm_sym46__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double mean_phi; - mean_phi = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_phi = context__.vals_r("mean_phi")[(1 - 1)]; - double mean_phi_free__; - mean_phi_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_phi_free__ = stan::math::lub_free(mean_phi, 0, 1); - double mean_p; - mean_p = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - mean_p = context__.vals_r("mean_p")[(1 - 1)]; - double mean_p_free__; - mean_p_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - mean_p_free__ = stan::math::lub_free(mean_p, 0, 1); - Eigen::Matrix epsilon; - epsilon = Eigen::Matrix(nind); - stan::math::fill(epsilon, std::numeric_limits::quiet_NaN()); + local_scalar_t__ mean_phi; + mean_phi = DUMMY_VAR__; - { - std::vector epsilon_flat__; - current_statement__ = 3; - epsilon_flat__ = context__.vals_r("epsilon"); - current_statement__ = 3; - pos__ = 1; - lcm_sym46__ = logical_gte(nind, 1); - if (lcm_sym46__) { - current_statement__ = 3; - assign(epsilon, - rvalue(epsilon_flat__, "epsilon_flat__", index_uni(1)), - "assigning variable epsilon", index_uni(1)); - current_statement__ = 3; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { - current_statement__ = 3; - assign(epsilon, epsilon_flat__[(pos__ - 1)], - "assigning variable epsilon", index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - } - double sigma; - sigma = std::numeric_limits::quiet_NaN(); + mean_phi = in__.read(); + out__.write_free_lub(0, 1, mean_phi); + local_scalar_t__ mean_p; + mean_p = DUMMY_VAR__; - current_statement__ = 4; - sigma = context__.vals_r("sigma")[(1 - 1)]; - double sigma_free__; - sigma_free__ = std::numeric_limits::quiet_NaN(); + mean_p = in__.read(); + out__.write_free_lub(0, 1, mean_p); + Eigen::Matrix epsilon; + epsilon = Eigen::Matrix(nind); + stan::math::fill(epsilon, DUMMY_VAR__); - current_statement__ = 4; - sigma_free__ = stan::math::lub_free(sigma, 0, 5); - vars__.emplace_back(mean_phi_free__); - vars__.emplace_back(mean_p_free__); - if (lcm_sym46__) { - vars__.emplace_back(rvalue(epsilon, "epsilon", index_uni(1))); + if (logical_gte(nind, 1)) { + assign(epsilon, in__.read(), + "assigning variable epsilon", index_uni(1)); for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { - vars__.emplace_back(epsilon[(sym1__ - 1)]); + assign(epsilon, in__.read(), + "assigning variable epsilon", index_uni(sym1__)); } } - vars__.emplace_back(sigma_free__); + out__.write(epsilon); + local_scalar_t__ sigma; + sigma = DUMMY_VAR__; + + sigma = in__.read(); + out__.write_free_lub(0, 5, sigma); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -10865,36 +10106,36 @@ class expr_prop_fail5_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((1 + 1) + nind) + 1); + const size_t num_transformed = ((((nind * + n_occ_minus_1) + + + (nind * + n_occ_minus_1)) + + + (nind * + n_occasions)) + + 1); + const size_t num_gen_quantities = 1; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -10996,8 +10250,22 @@ class expr_prop_fail5_model final : public model_base_crtp @@ -11018,20 +10286,32 @@ class expr_prop_fail5_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mean_phi", + "mean_p", "epsilon", "sigma", "phi", "p", "chi", "mu", "sigma2"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = expr_prop_fail5_model_namespace::expr_prop_fail5_model; @@ -11075,7 +10355,7 @@ using namespace stan::math; stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = +static constexpr std::array locations_array__ = {" (found before start of program)", " (in 'expr-prop-fail6.stan', line 163, column 2 to column 33)", " (in 'expr-prop-fail6.stan', line 164, column 2 to column 31)", @@ -11089,7 +10369,6 @@ static constexpr std::array locations_array__ = " (in 'expr-prop-fail6.stan', line 177, column 2 to column 42)", " (in 'expr-prop-fail6.stan', line 178, column 2 to column 46)", " (in 'expr-prop-fail6.stan', line 183, column 4 to column 48)", - " (in 'expr-prop-fail6.stan', line 182, column 2 to line 183, column 48)", " (in 'expr-prop-fail6.stan', line 192, column 4 to column 22)", " (in 'expr-prop-fail6.stan', line 194, column 4 to column 17)", " (in 'expr-prop-fail6.stan', line 196, column 6 to column 35)", @@ -11241,20 +10520,20 @@ first_capture(const std::vector& y_i, std::ostream* pstream__) { { lcm_sym44__ = size(y_i); if (logical_gte(lcm_sym44__, 1)) { - current_statement__ = 60; + current_statement__ = 59; if (rvalue(y_i, "y_i", index_uni(1))) { - current_statement__ = 59; + current_statement__ = 58; return 1; } for (int k = 2; k <= lcm_sym44__; ++k) { - current_statement__ = 60; + current_statement__ = 59; if (rvalue(y_i, "y_i", index_uni(k))) { - current_statement__ = 59; + current_statement__ = 58; return k; } } } - current_statement__ = 138; + current_statement__ = 137; return 0; } } catch (const std::exception& e) { @@ -11295,9 +10574,9 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { k = std::numeric_limits::min(); lcm_sym49__ = (size(y_i) - 0); - current_statement__ = 119; + current_statement__ = 118; if (y_i[(lcm_sym49__ - 1)]) { - current_statement__ = 118; + current_statement__ = 117; return lcm_sym49__; } for (int k_rev = 1; k_rev <= lcm_sym50__; ++k_rev) { @@ -11305,14 +10584,14 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { k = std::numeric_limits::min(); lcm_sym48__ = (size(y_i) - k_rev); - current_statement__ = 119; + current_statement__ = 118; if (y_i[(lcm_sym48__ - 1)]) { - current_statement__ = 118; + current_statement__ = 117; return lcm_sym48__; } } } - current_statement__ = 139; + current_statement__ = 138; return 0; } } catch (const std::exception& e) { @@ -11368,17 +10647,17 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, lcm_sym59__ = cols(p); n_occasions = lcm_sym59__; - current_statement__ = 24; + current_statement__ = 23; validate_non_negative_index("chi", "n_ind", lcm_sym64__); - current_statement__ = 25; + current_statement__ = 24; validate_non_negative_index("chi", "n_occasions", lcm_sym59__); Eigen::Matrix chi; chi = Eigen::Matrix(lcm_sym64__, lcm_sym59__); stan::math::fill(chi, DUMMY_VAR__); - current_statement__ = 141; + current_statement__ = 140; if (logical_gte(lcm_sym64__, 1)) { - current_statement__ = 27; + current_statement__ = 26; assign(chi, 1.0, "assigning variable chi", index_uni(1), index_uni(lcm_sym59__)); lcm_sym56__ = (lcm_sym59__ - 1); @@ -11391,7 +10670,7 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, t_next = std::numeric_limits::min(); lcm_sym58__ = (lcm_sym56__ + 1); - current_statement__ = 30; + current_statement__ = 29; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(1), index_uni(lcm_sym56__)) * @@ -11408,7 +10687,7 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, t_next = std::numeric_limits::min(); lcm_sym57__ = (lcm_sym55__ + 1); - current_statement__ = 30; + current_statement__ = 29; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(1), index_uni(lcm_sym55__)) * @@ -11420,10 +10699,10 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, } } for (int i = 2; i <= lcm_sym64__; ++i) { - current_statement__ = 27; + current_statement__ = 26; assign(chi, 1.0, "assigning variable chi", index_uni(i), index_uni(lcm_sym59__)); - current_statement__ = 140; + current_statement__ = 139; if (lcm_sym53__) { int t_curr; t_curr = std::numeric_limits::min(); @@ -11432,7 +10711,7 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, t_next = std::numeric_limits::min(); lcm_sym58__ = (lcm_sym56__ + 1); - current_statement__ = 30; + current_statement__ = 29; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(i), index_uni(lcm_sym56__)) * @@ -11450,7 +10729,7 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, t_next = std::numeric_limits::min(); lcm_sym57__ = (lcm_sym55__ + 1); - current_statement__ = 30; + current_statement__ = 29; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(i), index_uni(lcm_sym55__)) * @@ -11465,7 +10744,7 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, } } } - current_statement__ = 142; + current_statement__ = 141; return chi; } } catch (const std::exception& e) { @@ -11568,16 +10847,16 @@ js_super_lp(const std::vector>& y, lcm_sym115__ = rvalue(dims(y), "dims(y)", index_uni(2)); n_occasions = lcm_sym115__; - current_statement__ = 80; + current_statement__ = 79; validate_non_negative_index("qnu", "n_occasions", lcm_sym115__); Eigen::Matrix qnu; qnu = Eigen::Matrix(lcm_sym115__); stan::math::fill(qnu, std::numeric_limits::quiet_NaN()); assign(lcm_sym73__, subtract(1.0, nu), "assigning variable lcm_sym73__"); - current_statement__ = 145; + current_statement__ = 144; if (logical_gte(lcm_sym114__, 1)) { - current_statement__ = 82; + current_statement__ = 81; validate_non_negative_index("qp", "n_occasions", lcm_sym115__); Eigen::Matrix qp; qp = Eigen::Matrix(lcm_sym115__); @@ -11588,17 +10867,17 @@ js_super_lp(const std::vector>& y, "assigning variable lcm_sym75__"); lcm_sym111__ = rvalue(first, "first", index_uni(1)); if (lcm_sym111__) { - current_statement__ = 89; + current_statement__ = 88; lp_accum__.add(bernoulli_lpmf(1, psi)); - current_statement__ = 97; + current_statement__ = 96; if (logical_eq(lcm_sym111__, 1)) { - current_statement__ = 104; + current_statement__ = 103; lp_accum__.add( bernoulli_lpmf(1, (rvalue(nu, "nu", index_uni(1)) * rvalue(p, "p", index_uni(1), index_uni(1))))); } else { - current_statement__ = 90; + current_statement__ = 89; validate_non_negative_index("lp", "first[i]", lcm_sym111__); Eigen::Matrix lp; lp = Eigen::Matrix(lcm_sym111__); @@ -11618,9 +10897,9 @@ js_super_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(p, "p", index_uni(1), index_uni(lcm_sym111__)))), "assigning variable lp", index_uni(1)); - current_statement__ = 144; + current_statement__ = 143; if (logical_gte(lcm_sym77__, 2)) { - current_statement__ = 92; + current_statement__ = 91; assign(lp, ((((bernoulli_lpmf(1, prod( @@ -11640,7 +10919,7 @@ js_super_lp(const std::vector>& y, rvalue(p, "p", index_uni(1), index_uni(lcm_sym111__)))), "assigning variable lp", index_uni(2)); for (int t = 3; t <= lcm_sym77__; ++t) { - current_statement__ = 92; + current_statement__ = 91; assign(lp, ((((bernoulli_lpmf(1, prod( @@ -11661,7 +10940,7 @@ js_super_lp(const std::vector>& y, "assigning variable lp", index_uni(t)); } } - current_statement__ = 93; + current_statement__ = 92; assign(lp, ((bernoulli_lpmf(1, prod( @@ -11671,12 +10950,12 @@ js_super_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(p, "p", index_uni(1), index_uni(lcm_sym111__)))), "assigning variable lp", index_uni(lcm_sym111__)); - current_statement__ = 94; + current_statement__ = 93; lp_accum__.add(log_sum_exp(lp)); } lcm_sym113__ = rvalue(last, "last", index_uni(1)); if (logical_gte(lcm_sym113__, (lcm_sym111__ + 1))) { - current_statement__ = 98; + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", @@ -11687,18 +10966,18 @@ js_super_lp(const std::vector>& y, rvalue(y, "y", index_uni(1), index_uni((lcm_sym111__ + 1))), rvalue(p, "p", index_uni(1), index_uni((lcm_sym111__ + 1))))); for (int t = lcm_sym93__; t <= lcm_sym113__; ++t) { - current_statement__ = 98; + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", index_uni(1), index_uni((t - 1))))); - current_statement__ = 99; + current_statement__ = 98; lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", index_uni(1), index_uni(t)), rvalue(p, "p", index_uni(1), index_uni(t)))); } } - current_statement__ = 101; + current_statement__ = 100; lp_accum__.add( bernoulli_lpmf(1, rvalue(chi, "chi", index_uni(1), index_uni(lcm_sym113__)))); @@ -11709,7 +10988,7 @@ js_super_lp(const std::vector>& y, lp = Eigen::Matrix(lcm_sym94__); stan::math::fill(lp, DUMMY_VAR__); - current_statement__ = 103; + current_statement__ = 102; assign(lp, (((bernoulli_lpmf(1, psi) + bernoulli_lpmf(1, rvalue(nu, "nu", index_uni(1)))) + @@ -11718,9 +10997,9 @@ js_super_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(chi, "chi", index_uni(1), index_uni(1)))), "assigning variable lp", index_uni(1)); - current_statement__ = 143; + current_statement__ = 142; if (logical_gte(lcm_sym115__, 2)) { - current_statement__ = 85; + current_statement__ = 84; assign(lp, ((((bernoulli_lpmf(1, psi) + bernoulli_lpmf(1, @@ -11734,7 +11013,7 @@ js_super_lp(const std::vector>& y, rvalue(chi, "chi", index_uni(1), index_uni(2)))), "assigning variable lp", index_uni(2)); for (int t = 3; t <= lcm_sym115__; ++t) { - current_statement__ = 85; + current_statement__ = 84; assign(lp, ((((bernoulli_lpmf(1, psi) + bernoulli_lpmf(1, @@ -11750,14 +11029,14 @@ js_super_lp(const std::vector>& y, "assigning variable lp", index_uni(t)); } } - current_statement__ = 86; + current_statement__ = 85; assign(lp, bernoulli_lpmf(0, psi), "assigning variable lp", index_uni(lcm_sym94__)); - current_statement__ = 87; + current_statement__ = 86; lp_accum__.add(log_sum_exp(lp)); } for (int i = 2; i <= lcm_sym114__; ++i) { - current_statement__ = 82; + current_statement__ = 81; validate_non_negative_index("qp", "n_occasions", lcm_sym115__); Eigen::Matrix qp; qp = Eigen::Matrix(lcm_sym115__); @@ -11768,17 +11047,17 @@ js_super_lp(const std::vector>& y, "assigning variable lcm_sym74__"); lcm_sym110__ = rvalue(first, "first", index_uni(i)); if (lcm_sym110__) { - current_statement__ = 89; + current_statement__ = 88; lp_accum__.add(bernoulli_lpmf(1, psi)); - current_statement__ = 97; + current_statement__ = 96; if (logical_eq(lcm_sym110__, 1)) { - current_statement__ = 104; + current_statement__ = 103; lp_accum__.add( bernoulli_lpmf(1, (rvalue(nu, "nu", index_uni(1)) * rvalue(p, "p", index_uni(i), index_uni(1))))); } else { - current_statement__ = 90; + current_statement__ = 89; validate_non_negative_index("lp", "first[i]", lcm_sym110__); Eigen::Matrix lp; lp = Eigen::Matrix(lcm_sym110__); @@ -11798,9 +11077,9 @@ js_super_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(p, "p", index_uni(i), index_uni(lcm_sym110__)))), "assigning variable lp", index_uni(1)); - current_statement__ = 144; + current_statement__ = 143; if (logical_gte(lcm_sym76__, 2)) { - current_statement__ = 92; + current_statement__ = 91; assign(lp, ((((bernoulli_lpmf(1, prod( @@ -11820,7 +11099,7 @@ js_super_lp(const std::vector>& y, rvalue(p, "p", index_uni(i), index_uni(lcm_sym110__)))), "assigning variable lp", index_uni(2)); for (int t = 3; t <= lcm_sym76__; ++t) { - current_statement__ = 92; + current_statement__ = 91; assign(lp, ((((bernoulli_lpmf(1, prod( @@ -11842,7 +11121,7 @@ js_super_lp(const std::vector>& y, "assigning variable lp", index_uni(t)); } } - current_statement__ = 93; + current_statement__ = 92; assign(lp, ((bernoulli_lpmf(1, prod( @@ -11852,12 +11131,12 @@ js_super_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(p, "p", index_uni(i), index_uni(lcm_sym110__)))), "assigning variable lp", index_uni(lcm_sym110__)); - current_statement__ = 94; + current_statement__ = 93; lp_accum__.add(log_sum_exp(lp)); } lcm_sym112__ = rvalue(last, "last", index_uni(i)); if (logical_gte(lcm_sym112__, (lcm_sym110__ + 1))) { - current_statement__ = 98; + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", @@ -11868,18 +11147,18 @@ js_super_lp(const std::vector>& y, rvalue(y, "y", index_uni(i), index_uni((lcm_sym110__ + 1))), rvalue(p, "p", index_uni(i), index_uni((lcm_sym110__ + 1))))); for (int t = lcm_sym92__; t <= lcm_sym112__; ++t) { - current_statement__ = 98; + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", index_uni(i), index_uni((t - 1))))); - current_statement__ = 99; + current_statement__ = 98; lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", index_uni(i), index_uni(t)), rvalue(p, "p", index_uni(i), index_uni(t)))); } } - current_statement__ = 101; + current_statement__ = 100; lp_accum__.add( bernoulli_lpmf(1, rvalue(chi, "chi", index_uni(i), index_uni(lcm_sym112__)))); @@ -11890,7 +11169,7 @@ js_super_lp(const std::vector>& y, lp = Eigen::Matrix(lcm_sym94__); stan::math::fill(lp, DUMMY_VAR__); - current_statement__ = 103; + current_statement__ = 102; assign(lp, (((bernoulli_lpmf(1, psi) + bernoulli_lpmf(1, rvalue(nu, "nu", index_uni(1)))) + @@ -11899,9 +11178,9 @@ js_super_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(chi, "chi", index_uni(i), index_uni(1)))), "assigning variable lp", index_uni(1)); - current_statement__ = 143; + current_statement__ = 142; if (logical_gte(lcm_sym115__, 2)) { - current_statement__ = 85; + current_statement__ = 84; assign(lp, ((((bernoulli_lpmf(1, psi) + bernoulli_lpmf(1, @@ -11916,7 +11195,7 @@ js_super_lp(const std::vector>& y, rvalue(chi, "chi", index_uni(i), index_uni(2)))), "assigning variable lp", index_uni(2)); for (int t = 3; t <= lcm_sym115__; ++t) { - current_statement__ = 85; + current_statement__ = 84; assign(lp, ((((bernoulli_lpmf(1, psi) + bernoulli_lpmf(1, @@ -11932,10 +11211,10 @@ js_super_lp(const std::vector>& y, "assigning variable lp", index_uni(t)); } } - current_statement__ = 86; + current_statement__ = 85; assign(lp, bernoulli_lpmf(0, psi), "assigning variable lp", index_uni(lcm_sym94__)); - current_statement__ = 87; + current_statement__ = 86; lp_accum__.add(log_sum_exp(lp)); } } @@ -11967,30 +11246,30 @@ return js_super_lp(y, first, last, p, phi, psi, nu, chi, lp__, class expr_prop_fail6_model final : public model_base_crtp { private: - int lcm_sym332__; - int lcm_sym331__; - int lcm_sym330__; - int lcm_sym329__; - int lcm_sym328__; - int lcm_sym327__; - int lcm_sym326__; - int lcm_sym325__; - int lcm_sym324__; - int lcm_sym323__; - int lcm_sym322__; - int lcm_sym321__; - int lcm_sym320__; - int lcm_sym319__; - int lcm_sym318__; - int lcm_sym317__; - int lcm_sym316__; - int lcm_sym315__; - int lcm_sym314__; - int lcm_sym313__; - int lcm_sym312__; - int lcm_sym311__; - int lcm_sym310__; - int lcm_sym309__; + int lcm_sym303__; + int lcm_sym302__; + int lcm_sym301__; + int lcm_sym300__; + int lcm_sym299__; + int lcm_sym298__; + int lcm_sym297__; + int lcm_sym296__; + int lcm_sym295__; + int lcm_sym294__; + int lcm_sym293__; + int lcm_sym292__; + int lcm_sym291__; + int lcm_sym290__; + int lcm_sym289__; + int lcm_sym288__; + int lcm_sym287__; + int lcm_sym286__; + int lcm_sym285__; + int lcm_sym284__; + int lcm_sym283__; + int lcm_sym282__; + int lcm_sym281__; + int lcm_sym280__; int M; int n_occasions; std::vector> y; @@ -12050,29 +11329,29 @@ class expr_prop_fail6_model final : public model_base_crtp::min(); pos__ = 1; - current_statement__ = 106; + current_statement__ = 105; context__.validate_dims("data initialization","M","int", std::vector{}); M = std::numeric_limits::min(); - current_statement__ = 106; + current_statement__ = 105; M = context__.vals_i("M")[(1 - 1)]; - current_statement__ = 106; + current_statement__ = 105; check_greater_or_equal(function__, "M", M, 0); - current_statement__ = 107; + current_statement__ = 106; context__.validate_dims("data initialization","n_occasions","int", std::vector{}); n_occasions = std::numeric_limits::min(); - current_statement__ = 107; + current_statement__ = 106; n_occasions = context__.vals_i("n_occasions")[(1 - 1)]; - current_statement__ = 107; + current_statement__ = 106; check_greater_or_equal(function__, "n_occasions", n_occasions, 0); - current_statement__ = 108; + current_statement__ = 107; validate_non_negative_index("y", "M", M); - current_statement__ = 109; + current_statement__ = 108; validate_non_negative_index("y", "n_occasions", n_occasions); - current_statement__ = 110; + current_statement__ = 109; context__.validate_dims("data initialization","y","int", std::vector{static_cast(M), static_cast(n_occasions)}); @@ -12081,132 +11360,132 @@ class expr_prop_fail6_model final : public model_base_crtp y_flat__; - current_statement__ = 110; + current_statement__ = 109; y_flat__ = context__.vals_i("y"); - current_statement__ = 110; + current_statement__ = 109; pos__ = 1; - lcm_sym310__ = logical_gte(n_occasions, 1); - if (lcm_sym310__) { + lcm_sym281__ = logical_gte(n_occasions, 1); + if (lcm_sym281__) { { - lcm_sym309__ = logical_gte(M, 1); - if (lcm_sym309__) { - current_statement__ = 110; + lcm_sym280__ = logical_gte(M, 1); + if (lcm_sym280__) { + current_statement__ = 109; assign(y, rvalue(y_flat__, "y_flat__", index_uni(1)), "assigning variable y", index_uni(1), index_uni(1)); - current_statement__ = 110; + current_statement__ = 109; pos__ = 2; for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - current_statement__ = 110; + current_statement__ = 109; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(sym2__), index_uni(1)); - current_statement__ = 110; + current_statement__ = 109; pos__ = (pos__ + 1); } } for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - current_statement__ = 110; - if (lcm_sym309__) { - current_statement__ = 110; + current_statement__ = 109; + if (lcm_sym280__) { + current_statement__ = 109; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(1), index_uni(sym1__)); - current_statement__ = 110; + current_statement__ = 109; pos__ = (pos__ + 1); for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - current_statement__ = 110; + current_statement__ = 109; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 110; + current_statement__ = 109; pos__ = (pos__ + 1); } } } } } else { - lcm_sym309__ = logical_gte(M, 1); + lcm_sym280__ = logical_gte(M, 1); } } - current_statement__ = 110; - if (lcm_sym309__) { - current_statement__ = 110; - if (lcm_sym310__) { - current_statement__ = 110; + current_statement__ = 109; + if (lcm_sym280__) { + current_statement__ = 109; + if (lcm_sym281__) { + current_statement__ = 109; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 110; + current_statement__ = 109; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(sym2__)), 0); } } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - current_statement__ = 110; - if (lcm_sym310__) { - current_statement__ = 110; + current_statement__ = 109; + if (lcm_sym281__) { + current_statement__ = 109; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(sym1__), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 110; + current_statement__ = 109; check_greater_or_equal(function__, "y[sym1__, sym2__]", y[(sym1__ - 1)][(sym2__ - 1)], 0); } } } } - current_statement__ = 110; - if (lcm_sym309__) { - current_statement__ = 110; - if (lcm_sym310__) { - current_statement__ = 110; + current_statement__ = 109; + if (lcm_sym280__) { + current_statement__ = 109; + if (lcm_sym281__) { + current_statement__ = 109; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 110; + current_statement__ = 109; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(sym2__)), 1); } } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - current_statement__ = 110; - if (lcm_sym310__) { - current_statement__ = 110; + current_statement__ = 109; + if (lcm_sym281__) { + current_statement__ = 109; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(sym1__), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 110; + current_statement__ = 109; check_less_or_equal(function__, "y[sym1__, sym2__]", y[(sym1__ - 1)][(sym2__ - 1)], 1); } } } } - current_statement__ = 111; + current_statement__ = 110; validate_non_negative_index("first", "M", M); - current_statement__ = 112; + current_statement__ = 111; first = std::vector(M, std::numeric_limits::min()); - current_statement__ = 113; + current_statement__ = 112; validate_non_negative_index("last", "M", M); - current_statement__ = 114; + current_statement__ = 113; last = std::vector(M, std::numeric_limits::min()); - current_statement__ = 116; - if (lcm_sym309__) { + current_statement__ = 115; + if (lcm_sym280__) { int inline_sym34__; int inline_sym36__; inline_sym36__ = std::numeric_limits::min(); inline_sym36__ = 0; for (int inline_sym37__ = 1; inline_sym37__ <= 1; ++inline_sym37__) { - lcm_sym318__ = size(rvalue(y, "y", index_uni(1))); - for (int inline_sym35__ = 1; inline_sym35__ <= lcm_sym318__; + lcm_sym289__ = size(rvalue(y, "y", index_uni(1))); + for (int inline_sym35__ = 1; inline_sym35__ <= lcm_sym289__; ++inline_sym35__) { - current_statement__ = 60; + current_statement__ = 59; if (rvalue(y, "y", index_uni(1))[(inline_sym35__ - 1)]) { inline_sym36__ = 1; inline_sym34__ = inline_sym35__; @@ -12229,10 +11508,10 @@ class expr_prop_fail6_model final : public model_base_crtp::min(); inline_sym41__ = 0; for (int inline_sym42__ = 1; inline_sym42__ <= 1; ++inline_sym42__) { - lcm_sym318__ = size(rvalue(y, "y", index_uni(1))); - lcm_sym315__ = (lcm_sym318__ - 1); - for (int inline_sym40__ = 0; inline_sym40__ <= lcm_sym315__; + lcm_sym289__ = size(rvalue(y, "y", index_uni(1))); + lcm_sym286__ = (lcm_sym289__ - 1); + for (int inline_sym40__ = 0; inline_sym40__ <= lcm_sym286__; ++inline_sym40__) { int inline_sym39__; inline_sym39__ = std::numeric_limits::min(); - lcm_sym314__ = (lcm_sym318__ - inline_sym40__); - inline_sym39__ = lcm_sym314__; - current_statement__ = 119; - if (rvalue(y, "y", index_uni(1))[(lcm_sym314__ - 1)]) { + lcm_sym285__ = (lcm_sym289__ - inline_sym40__); + inline_sym39__ = lcm_sym285__; + current_statement__ = 118; + if (rvalue(y, "y", index_uni(1))[(lcm_sym285__ - 1)]) { inline_sym41__ = 1; - inline_sym38__ = lcm_sym314__; + inline_sym38__ = lcm_sym285__; break; } } @@ -12289,19 +11568,19 @@ class expr_prop_fail6_model final : public model_base_crtp::min(); - lcm_sym312__ = (lcm_sym317__ - inline_sym40__); - inline_sym39__ = lcm_sym312__; - current_statement__ = 119; - if (rvalue(y, "y", index_uni(i))[(lcm_sym312__ - 1)]) { + lcm_sym283__ = (lcm_sym288__ - inline_sym40__); + inline_sym39__ = lcm_sym283__; + current_statement__ = 118; + if (rvalue(y, "y", index_uni(i))[(lcm_sym283__ - 1)]) { inline_sym41__ = 1; - inline_sym38__ = lcm_sym312__; + inline_sym38__ = lcm_sym283__; break; } } @@ -12316,82 +11595,82 @@ class expr_prop_fail6_model final : public model_base_crtp::min(); - lcm_sym311__ = (n_occasions - 1); - phi_2dim__ = lcm_sym311__; + lcm_sym282__ = (n_occasions - 1); + phi_2dim__ = lcm_sym282__; + current_statement__ = 126; + validate_non_negative_index("phi", "n_occasions - 1", lcm_sym282__); current_statement__ = 127; - validate_non_negative_index("phi", "n_occasions - 1", lcm_sym311__); - current_statement__ = 128; validate_non_negative_index("p", "M", M); - current_statement__ = 129; + current_statement__ = 128; validate_non_negative_index("p", "n_occasions", n_occasions); - current_statement__ = 130; + current_statement__ = 129; validate_non_negative_index("b", "n_occasions", n_occasions); - current_statement__ = 131; + current_statement__ = 130; validate_non_negative_index("nu", "n_occasions", n_occasions); - current_statement__ = 132; + current_statement__ = 131; validate_non_negative_index("chi", "M", M); - current_statement__ = 133; + current_statement__ = 132; validate_non_negative_index("chi", "n_occasions", n_occasions); - current_statement__ = 134; + current_statement__ = 133; validate_non_negative_index("N", "n_occasions", n_occasions); - current_statement__ = 135; + current_statement__ = 134; validate_non_negative_index("B", "n_occasions", n_occasions); - current_statement__ = 136; + current_statement__ = 135; validate_non_negative_index("z", "M", M); - current_statement__ = 137; + current_statement__ = 136; validate_non_negative_index("z", "n_occasions", n_occasions); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -12420,95 +11699,95 @@ class expr_prop_fail6_model final : public model_base_crtp lcm_sym286__; - double lcm_sym285__; - double lcm_sym284__; - Eigen::Matrix lcm_sym283__; - double lcm_sym282__; - double lcm_sym281__; - double lcm_sym280__; - int lcm_sym279__; + double lcm_sym279__; double lcm_sym278__; double lcm_sym277__; double lcm_sym276__; - double lcm_sym275__; - double lcm_sym274__; - double lcm_sym273__; + int lcm_sym275__; + int lcm_sym274__; + local_scalar_t__ lcm_sym273__; double lcm_sym272__; double lcm_sym271__; double lcm_sym270__; double lcm_sym269__; - double lcm_sym268__; + local_scalar_t__ lcm_sym268__; double lcm_sym267__; - double lcm_sym266__; - double lcm_sym265__; - int lcm_sym264__; + int lcm_sym266__; + int lcm_sym265__; + double lcm_sym264__; double lcm_sym263__; - int lcm_sym262__; - int lcm_sym261__; - double lcm_sym260__; - double lcm_sym259__; - double lcm_sym258__; - double lcm_sym257__; + double lcm_sym262__; + double lcm_sym261__; + int lcm_sym260__; + int lcm_sym259__; + int lcm_sym258__; + Eigen::Matrix lcm_sym257__; double lcm_sym256__; double lcm_sym255__; - double lcm_sym254__; + Eigen::Matrix lcm_sym254__; double lcm_sym253__; double lcm_sym252__; double lcm_sym251__; - double lcm_sym250__; + int lcm_sym250__; double lcm_sym249__; double lcm_sym248__; double lcm_sym247__; - int lcm_sym246__; - int lcm_sym245__; + double lcm_sym246__; + double lcm_sym245__; double lcm_sym244__; - int lcm_sym243__; - int lcm_sym242__; - int lcm_sym241__; - int lcm_sym240__; - Eigen::Matrix lcm_sym239__; - Eigen::Matrix lcm_sym238__; - Eigen::Matrix lcm_sym237__; - int lcm_sym236__; + double lcm_sym243__; + double lcm_sym242__; + double lcm_sym241__; + double lcm_sym240__; + double lcm_sym239__; + double lcm_sym238__; + double lcm_sym237__; + double lcm_sym236__; int lcm_sym235__; - int lcm_sym234__; + double lcm_sym234__; int lcm_sym233__; int lcm_sym232__; - int lcm_sym231__; - int lcm_sym230__; - int lcm_sym229__; - int lcm_sym228__; - int lcm_sym227__; - int lcm_sym226__; - int lcm_sym225__; - int lcm_sym224__; - int lcm_sym223__; + double lcm_sym231__; + double lcm_sym230__; + double lcm_sym229__; + double lcm_sym228__; + double lcm_sym227__; + double lcm_sym226__; + double lcm_sym225__; + double lcm_sym224__; + double lcm_sym223__; double lcm_sym222__; double lcm_sym221__; - Eigen::Matrix lcm_sym220__; + double lcm_sym220__; + double lcm_sym219__; + double lcm_sym218__; + int lcm_sym217__; + int lcm_sym216__; + double lcm_sym215__; + int lcm_sym214__; + int lcm_sym213__; + int lcm_sym212__; + int lcm_sym211__; + Eigen::Matrix lcm_sym210__; + Eigen::Matrix lcm_sym209__; + Eigen::Matrix lcm_sym208__; + int lcm_sym207__; + int lcm_sym206__; + int lcm_sym205__; + int lcm_sym204__; + int lcm_sym203__; + int lcm_sym202__; + int lcm_sym201__; + int lcm_sym200__; + int lcm_sym199__; + int lcm_sym198__; + int lcm_sym197__; + int lcm_sym196__; + int lcm_sym195__; + int lcm_sym194__; + double lcm_sym193__; + double lcm_sym192__; + Eigen::Matrix lcm_sym191__; local_scalar_t__ mean_phi; mean_phi = DUMMY_VAR__; @@ -12566,52 +11845,52 @@ class expr_prop_fail6_model final : public model_base_crtp(M, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - lcm_sym236__ = (n_occasions - 1); - assign(lcm_sym286__, rep_matrix(mean_phi, M, lcm_sym236__), - "assigning variable lcm_sym286__"); - assign(phi, lcm_sym286__, "assigning variable phi"); - lcm_sym226__ = logical_gte(n_occasions, 1); - if (lcm_sym226__) { - assign(lcm_sym283__, inv_logit(add(logit(mean_p), epsilon)), - "assigning variable lcm_sym283__"); - assign(p, lcm_sym283__, + lcm_sym207__ = (n_occasions - 1); + assign(lcm_sym257__, rep_matrix(mean_phi, M, lcm_sym207__), + "assigning variable lcm_sym257__"); + assign(phi, lcm_sym257__, "assigning variable phi"); + lcm_sym197__ = logical_gte(n_occasions, 1); + if (lcm_sym197__) { + assign(lcm_sym254__, inv_logit(add(logit(mean_p), epsilon)), + "assigning variable lcm_sym254__"); + assign(p, lcm_sym254__, "assigning variable p", index_omni(), index_uni(1)); for (int t = 2; t <= n_occasions; ++t) { current_statement__ = 12; - assign(p, lcm_sym283__, + assign(p, lcm_sym254__, "assigning variable p", index_omni(), index_uni(t)); } } - assign(lcm_sym220__, divide(beta, sum(beta)), - "assigning variable lcm_sym220__"); - assign(b, lcm_sym220__, "assigning variable b"); + assign(lcm_sym191__, divide(beta, sum(beta)), + "assigning variable lcm_sym191__"); + assign(b, lcm_sym191__, "assigning variable b"); { local_scalar_t__ cum_b; cum_b = DUMMY_VAR__; - lcm_sym302__ = rvalue(lcm_sym220__, "lcm_sym220__", index_uni(1)); - current_statement__ = 15; - assign(nu, lcm_sym302__, "assigning variable nu", index_uni(1)); - current_statement__ = 19; - if (logical_gte(lcm_sym236__, 2)) { - current_statement__ = 16; + lcm_sym273__ = rvalue(lcm_sym191__, "lcm_sym191__", index_uni(1)); + current_statement__ = 14; + assign(nu, lcm_sym273__, "assigning variable nu", index_uni(1)); + current_statement__ = 18; + if (logical_gte(lcm_sym207__, 2)) { + current_statement__ = 15; assign(nu, - (rvalue(lcm_sym220__, "lcm_sym220__", index_uni(2)) / - (1.0 - lcm_sym302__)), "assigning variable nu", index_uni(2)); - current_statement__ = 17; - cum_b = (lcm_sym302__ + - rvalue(lcm_sym220__, "lcm_sym220__", index_uni(2))); - for (int t = 3; t <= lcm_sym236__; ++t) { - current_statement__ = 16; + (rvalue(lcm_sym191__, "lcm_sym191__", index_uni(2)) / + (1.0 - lcm_sym273__)), "assigning variable nu", index_uni(2)); + current_statement__ = 16; + cum_b = (lcm_sym273__ + + rvalue(lcm_sym191__, "lcm_sym191__", index_uni(2))); + for (int t = 3; t <= lcm_sym207__; ++t) { + current_statement__ = 15; assign(nu, - (rvalue(lcm_sym220__, "lcm_sym220__", index_uni(t)) / + (rvalue(lcm_sym191__, "lcm_sym191__", index_uni(t)) / (1.0 - cum_b)), "assigning variable nu", index_uni(t)); - current_statement__ = 17; + current_statement__ = 16; cum_b = (cum_b + - rvalue(lcm_sym220__, "lcm_sym220__", index_uni(t))); + rvalue(lcm_sym191__, "lcm_sym191__", index_uni(t))); } } - current_statement__ = 20; + current_statement__ = 19; assign(nu, 1.0, "assigning variable nu", index_uni(n_occasions)); } Eigen::Matrix inline_sym15__; @@ -12623,74 +11902,74 @@ class expr_prop_fail6_model final : public model_base_crtp::min(); - lcm_sym287__ = rows(p); + lcm_sym258__ = rows(p); int inline_sym17__; inline_sym17__ = std::numeric_limits::min(); - lcm_sym279__ = cols(p); + lcm_sym250__ = cols(p); + current_statement__ = 23; + validate_non_negative_index("chi", "n_ind", lcm_sym258__); current_statement__ = 24; - validate_non_negative_index("chi", "n_ind", lcm_sym287__); - current_statement__ = 25; - validate_non_negative_index("chi", "n_occasions", lcm_sym279__); + validate_non_negative_index("chi", "n_occasions", lcm_sym250__); Eigen::Matrix inline_sym18__; - inline_sym18__ = Eigen::Matrix(lcm_sym287__, lcm_sym279__); + inline_sym18__ = Eigen::Matrix(lcm_sym258__, lcm_sym250__); stan::math::fill(inline_sym18__, DUMMY_VAR__); - for (int inline_sym22__ = 1; inline_sym22__ <= lcm_sym287__; + for (int inline_sym22__ = 1; inline_sym22__ <= lcm_sym258__; ++inline_sym22__) { - current_statement__ = 27; + current_statement__ = 26; assign(inline_sym18__, 1.0, "assigning variable inline_sym18__", index_uni(inline_sym22__), - index_uni(lcm_sym279__)); - lcm_sym241__ = (lcm_sym279__ - 1); - if (logical_gte(lcm_sym241__, 1)) { + index_uni(lcm_sym250__)); + lcm_sym212__ = (lcm_sym250__ - 1); + if (logical_gte(lcm_sym212__, 1)) { int inline_sym19__; inline_sym19__ = std::numeric_limits::min(); int inline_sym20__; inline_sym20__ = std::numeric_limits::min(); - lcm_sym246__ = (lcm_sym241__ + 1); - current_statement__ = 30; + lcm_sym217__ = (lcm_sym212__ + 1); + current_statement__ = 29; assign(inline_sym18__, stan::math::fma( - (rvalue(lcm_sym286__, "lcm_sym286__", - index_uni(inline_sym22__), index_uni(lcm_sym241__)) * + (rvalue(lcm_sym257__, "lcm_sym257__", + index_uni(inline_sym22__), index_uni(lcm_sym212__)) * (1 - rvalue(p, "p", - index_uni(inline_sym22__), index_uni(lcm_sym246__)))), + index_uni(inline_sym22__), index_uni(lcm_sym217__)))), rvalue(inline_sym18__, "inline_sym18__", - index_uni(inline_sym22__), index_uni(lcm_sym246__)), + index_uni(inline_sym22__), index_uni(lcm_sym217__)), (1 - - rvalue(lcm_sym286__, "lcm_sym286__", - index_uni(inline_sym22__), index_uni(lcm_sym241__)))), + rvalue(lcm_sym257__, "lcm_sym257__", + index_uni(inline_sym22__), index_uni(lcm_sym212__)))), "assigning variable inline_sym18__", index_uni(inline_sym22__), - index_uni(lcm_sym241__)); - for (int inline_sym21__ = 2; inline_sym21__ <= lcm_sym241__; + index_uni(lcm_sym212__)); + for (int inline_sym21__ = 2; inline_sym21__ <= lcm_sym212__; ++inline_sym21__) { int inline_sym19__; inline_sym19__ = std::numeric_limits::min(); - lcm_sym240__ = (lcm_sym279__ - inline_sym21__); + lcm_sym211__ = (lcm_sym250__ - inline_sym21__); int inline_sym20__; inline_sym20__ = std::numeric_limits::min(); - lcm_sym245__ = (lcm_sym240__ + 1); - current_statement__ = 30; + lcm_sym216__ = (lcm_sym211__ + 1); + current_statement__ = 29; assign(inline_sym18__, stan::math::fma( - (rvalue(lcm_sym286__, "lcm_sym286__", - index_uni(inline_sym22__), index_uni(lcm_sym240__)) * + (rvalue(lcm_sym257__, "lcm_sym257__", + index_uni(inline_sym22__), index_uni(lcm_sym211__)) * (1 - rvalue(p, "p", - index_uni(inline_sym22__), index_uni(lcm_sym245__)))), + index_uni(inline_sym22__), index_uni(lcm_sym216__)))), rvalue(inline_sym18__, "inline_sym18__", - index_uni(inline_sym22__), index_uni(lcm_sym245__)), + index_uni(inline_sym22__), index_uni(lcm_sym216__)), (1 - - rvalue(lcm_sym286__, "lcm_sym286__", - index_uni(inline_sym22__), index_uni(lcm_sym240__)))), + rvalue(lcm_sym257__, "lcm_sym257__", + index_uni(inline_sym22__), index_uni(lcm_sym211__)))), "assigning variable inline_sym18__", index_uni(inline_sym22__), - index_uni(lcm_sym240__)); + index_uni(lcm_sym211__)); } } if (inline_sym23__) { @@ -12706,32 +11985,32 @@ class expr_prop_fail6_model final : public model_base_crtp(epsilon, 0, sigma)); - current_statement__ = 77; + current_statement__ = 76; lp_accum__.add(gamma_lpdf(beta, 1, 1)); int inline_sym32__; inline_sym32__ = std::numeric_limits::min(); @@ -12929,184 +12208,184 @@ class expr_prop_fail6_model final : public model_base_crtp::min(); - lcm_sym303__ = rvalue(dims(y), "dims(y)", index_uni(1)); + lcm_sym274__ = rvalue(dims(y), "dims(y)", index_uni(1)); int inline_sym26__; inline_sym26__ = std::numeric_limits::min(); - lcm_sym304__ = rvalue(dims(y), "dims(y)", index_uni(2)); - current_statement__ = 80; - validate_non_negative_index("qnu", "n_occasions", lcm_sym304__); + lcm_sym275__ = rvalue(dims(y), "dims(y)", index_uni(2)); + current_statement__ = 79; + validate_non_negative_index("qnu", "n_occasions", lcm_sym275__); Eigen::Matrix inline_sym27__; - inline_sym27__ = Eigen::Matrix(lcm_sym304__); + inline_sym27__ = Eigen::Matrix(lcm_sym275__); stan::math::fill(inline_sym27__, std::numeric_limits::quiet_NaN()); - assign(lcm_sym237__, subtract(1.0, nu), - "assigning variable lcm_sym237__"); - lcm_sym234__ = logical_gte(lcm_sym303__, 1); - if (lcm_sym234__) { - current_statement__ = 82; - validate_non_negative_index("qp", "n_occasions", lcm_sym304__); + assign(lcm_sym208__, subtract(1.0, nu), + "assigning variable lcm_sym208__"); + lcm_sym205__ = logical_gte(lcm_sym274__, 1); + if (lcm_sym205__) { + current_statement__ = 81; + validate_non_negative_index("qp", "n_occasions", lcm_sym275__); Eigen::Matrix inline_sym28__; - inline_sym28__ = Eigen::Matrix(lcm_sym304__); + inline_sym28__ = Eigen::Matrix(lcm_sym275__); stan::math::fill(inline_sym28__, std::numeric_limits::quiet_NaN()); - assign(lcm_sym239__, + assign(lcm_sym210__, subtract(1.0, transpose(rvalue(p, "p", index_uni(1)))), - "assigning variable lcm_sym239__"); - lcm_sym289__ = rvalue(first, "first", index_uni(1)); - if (lcm_sym289__) { - current_statement__ = 89; + "assigning variable lcm_sym210__"); + lcm_sym260__ = rvalue(first, "first", index_uni(1)); + if (lcm_sym260__) { + current_statement__ = 88; lp_accum__.add(bernoulli_lpmf(1, psi)); - current_statement__ = 97; - if (logical_eq(lcm_sym289__, 1)) { - lcm_sym297__ = rvalue(nu, "nu", index_uni(1)); + current_statement__ = 96; + if (logical_eq(lcm_sym260__, 1)) { + lcm_sym268__ = rvalue(nu, "nu", index_uni(1)); lp_accum__.add( bernoulli_lpmf(1, - (lcm_sym297__ * + (lcm_sym268__ * rvalue(p, "p", index_uni(1), index_uni(1))))); } else { - current_statement__ = 90; - validate_non_negative_index("lp", "first[i]", lcm_sym289__); + current_statement__ = 89; + validate_non_negative_index("lp", "first[i]", lcm_sym260__); Eigen::Matrix inline_sym29__; - inline_sym29__ = Eigen::Matrix(lcm_sym289__); + inline_sym29__ = Eigen::Matrix(lcm_sym260__); stan::math::fill(inline_sym29__, DUMMY_VAR__); - lcm_sym297__ = rvalue(nu, "nu", index_uni(1)); - lcm_sym243__ = (lcm_sym289__ - 1); + lcm_sym268__ = rvalue(nu, "nu", index_uni(1)); + lcm_sym214__ = (lcm_sym260__ - 1); assign(inline_sym29__, - (((bernoulli_lpmf(1, lcm_sym297__) + + (((bernoulli_lpmf(1, lcm_sym268__) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym239__, "lcm_sym239__", - index_min_max(1, lcm_sym243__))))) + + rvalue(lcm_sym210__, "lcm_sym210__", + index_min_max(1, lcm_sym214__))))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym286__, "lcm_sym286__", - index_uni(1), index_min_max(1, lcm_sym243__))))) + + rvalue(lcm_sym257__, "lcm_sym257__", + index_uni(1), index_min_max(1, lcm_sym214__))))) + bernoulli_lpmf(1, - rvalue(p, "p", index_uni(1), index_uni(lcm_sym289__)))), + rvalue(p, "p", index_uni(1), index_uni(lcm_sym260__)))), "assigning variable inline_sym29__", index_uni(1)); - if (logical_gte(lcm_sym243__, 2)) { - current_statement__ = 92; + if (logical_gte(lcm_sym214__, 2)) { + current_statement__ = 91; assign(inline_sym29__, ((((bernoulli_lpmf(1, prod( - rvalue(lcm_sym237__, "lcm_sym237__", + rvalue(lcm_sym208__, "lcm_sym208__", index_min_max(1, 1)))) + bernoulli_lpmf(1, rvalue(nu, "nu", index_uni(2)))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym239__, "lcm_sym239__", - index_min_max(2, lcm_sym243__))))) + + rvalue(lcm_sym210__, "lcm_sym210__", + index_min_max(2, lcm_sym214__))))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym286__, "lcm_sym286__", - index_uni(1), index_min_max(2, lcm_sym243__))))) + rvalue(lcm_sym257__, "lcm_sym257__", + index_uni(1), index_min_max(2, lcm_sym214__))))) + bernoulli_lpmf(1, - rvalue(p, "p", index_uni(1), index_uni(lcm_sym289__)))), + rvalue(p, "p", index_uni(1), index_uni(lcm_sym260__)))), "assigning variable inline_sym29__", index_uni(2)); for (int inline_sym30__ = 3; - inline_sym30__ <= lcm_sym243__; ++inline_sym30__) { - current_statement__ = 92; + inline_sym30__ <= lcm_sym214__; ++inline_sym30__) { + current_statement__ = 91; assign(inline_sym29__, ((((bernoulli_lpmf(1, prod( - rvalue(lcm_sym237__, "lcm_sym237__", + rvalue(lcm_sym208__, "lcm_sym208__", index_min_max(1, (inline_sym30__ - 1))))) + bernoulli_lpmf(1, nu[(inline_sym30__ - 1)])) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym239__, "lcm_sym239__", - index_min_max(inline_sym30__, lcm_sym243__))))) + rvalue(lcm_sym210__, "lcm_sym210__", + index_min_max(inline_sym30__, lcm_sym214__))))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym286__, "lcm_sym286__", + rvalue(lcm_sym257__, "lcm_sym257__", index_uni(1), - index_min_max(inline_sym30__, lcm_sym243__))))) + index_min_max(inline_sym30__, lcm_sym214__))))) + bernoulli_lpmf(1, rvalue(p, "p", - index_uni(1), index_uni(lcm_sym289__)))), + index_uni(1), index_uni(lcm_sym260__)))), "assigning variable inline_sym29__", index_uni(inline_sym30__)); } } - current_statement__ = 93; + current_statement__ = 92; assign(inline_sym29__, ((bernoulli_lpmf(1, prod( - rvalue(lcm_sym237__, "lcm_sym237__", - index_min_max(1, lcm_sym243__)))) + - bernoulli_lpmf(1, nu[(lcm_sym289__ - 1)])) + + rvalue(lcm_sym208__, "lcm_sym208__", + index_min_max(1, lcm_sym214__)))) + + bernoulli_lpmf(1, nu[(lcm_sym260__ - 1)])) + bernoulli_lpmf(1, - rvalue(p, "p", index_uni(1), index_uni(lcm_sym289__)))), - "assigning variable inline_sym29__", index_uni(lcm_sym289__)); - current_statement__ = 94; + rvalue(p, "p", index_uni(1), index_uni(lcm_sym260__)))), + "assigning variable inline_sym29__", index_uni(lcm_sym260__)); + current_statement__ = 93; lp_accum__.add(log_sum_exp(inline_sym29__)); } - lcm_sym295__ = rvalue(last, "last", index_uni(1)); - if (logical_gte(lcm_sym295__, (lcm_sym289__ + 1))) { - current_statement__ = 98; + lcm_sym266__ = rvalue(last, "last", index_uni(1)); + if (logical_gte(lcm_sym266__, (lcm_sym260__ + 1))) { + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf(1, - rvalue(lcm_sym286__, "lcm_sym286__", - index_uni(1), index_uni(((lcm_sym289__ + 1) - 1))))); - lcm_sym262__ = ((lcm_sym289__ + 1) + 1); + rvalue(lcm_sym257__, "lcm_sym257__", + index_uni(1), index_uni(((lcm_sym260__ + 1) - 1))))); + lcm_sym233__ = ((lcm_sym260__ + 1) + 1); lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", - index_uni(1), index_uni((lcm_sym289__ + 1))), + index_uni(1), index_uni((lcm_sym260__ + 1))), rvalue(p, "p", - index_uni(1), index_uni((lcm_sym289__ + 1))))); - for (int inline_sym30__ = lcm_sym262__; - inline_sym30__ <= lcm_sym295__; ++inline_sym30__) { - current_statement__ = 98; + index_uni(1), index_uni((lcm_sym260__ + 1))))); + for (int inline_sym30__ = lcm_sym233__; + inline_sym30__ <= lcm_sym266__; ++inline_sym30__) { + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf(1, - rvalue(lcm_sym286__, "lcm_sym286__", + rvalue(lcm_sym257__, "lcm_sym257__", index_uni(1), index_uni((inline_sym30__ - 1))))); - current_statement__ = 99; + current_statement__ = 98; lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", index_uni(1), index_uni(inline_sym30__)), rvalue(p, "p", index_uni(1), index_uni(inline_sym30__)))); } } - current_statement__ = 101; + current_statement__ = 100; lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym15__, "inline_sym15__", - index_uni(1), index_uni(lcm_sym295__)))); + index_uni(1), index_uni(lcm_sym266__)))); } else { - lcm_sym264__ = (lcm_sym304__ + 1); + lcm_sym235__ = (lcm_sym275__ + 1); validate_non_negative_index("lp", "n_occasions + 1", - lcm_sym264__); + lcm_sym235__); Eigen::Matrix inline_sym29__; - inline_sym29__ = Eigen::Matrix(lcm_sym264__); + inline_sym29__ = Eigen::Matrix(lcm_sym235__); stan::math::fill(inline_sym29__, DUMMY_VAR__); - lcm_sym297__ = rvalue(nu, "nu", index_uni(1)); + lcm_sym268__ = rvalue(nu, "nu", index_uni(1)); assign(inline_sym29__, (((bernoulli_lpmf(1, psi) + - bernoulli_lpmf(1, lcm_sym297__)) + + bernoulli_lpmf(1, lcm_sym268__)) + bernoulli_lpmf(0, rvalue(p, "p", index_uni(1), index_uni(1)))) + bernoulli_lpmf(1, rvalue(inline_sym15__, "inline_sym15__", index_uni(1), index_uni(1)))), "assigning variable inline_sym29__", index_uni(1)); - if (logical_gte(lcm_sym304__, 2)) { - current_statement__ = 85; + if (logical_gte(lcm_sym275__, 2)) { + current_statement__ = 84; assign(inline_sym29__, ((((bernoulli_lpmf(1, psi) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym237__, "lcm_sym237__", + rvalue(lcm_sym208__, "lcm_sym208__", index_min_max(1, 1))))) + bernoulli_lpmf(1, rvalue(nu, "nu", index_uni(2)))) + @@ -13116,14 +12395,14 @@ class expr_prop_fail6_model final : public model_base_crtp(1, psi) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym237__, "lcm_sym237__", + rvalue(lcm_sym208__, "lcm_sym208__", index_min_max(1, (inline_sym30__ - 1)))))) + bernoulli_lpmf(1, nu[(inline_sym30__ - 1)])) + bernoulli_lpmf(0, @@ -13135,151 +12414,151 @@ class expr_prop_fail6_model final : public model_base_crtp(0, psi), - "assigning variable inline_sym29__", index_uni(lcm_sym264__)); - current_statement__ = 87; + "assigning variable inline_sym29__", index_uni(lcm_sym235__)); + current_statement__ = 86; lp_accum__.add(log_sum_exp(inline_sym29__)); } - for (int inline_sym31__ = 2; inline_sym31__ <= lcm_sym303__; + for (int inline_sym31__ = 2; inline_sym31__ <= lcm_sym274__; ++inline_sym31__) { - current_statement__ = 82; - validate_non_negative_index("qp", "n_occasions", lcm_sym304__); + current_statement__ = 81; + validate_non_negative_index("qp", "n_occasions", lcm_sym275__); Eigen::Matrix inline_sym28__; - inline_sym28__ = Eigen::Matrix(lcm_sym304__); + inline_sym28__ = Eigen::Matrix(lcm_sym275__); stan::math::fill(inline_sym28__, std::numeric_limits::quiet_NaN()); - assign(lcm_sym238__, + assign(lcm_sym209__, subtract(1.0, transpose(rvalue(p, "p", index_uni(inline_sym31__)))), - "assigning variable lcm_sym238__"); - lcm_sym288__ = first[(inline_sym31__ - 1)]; - if (lcm_sym288__) { - current_statement__ = 89; + "assigning variable lcm_sym209__"); + lcm_sym259__ = first[(inline_sym31__ - 1)]; + if (lcm_sym259__) { + current_statement__ = 88; lp_accum__.add(bernoulli_lpmf(1, psi)); - current_statement__ = 97; - if (logical_eq(lcm_sym288__, 1)) { - current_statement__ = 104; + current_statement__ = 96; + if (logical_eq(lcm_sym259__, 1)) { + current_statement__ = 103; lp_accum__.add( bernoulli_lpmf(1, - (lcm_sym297__ * + (lcm_sym268__ * rvalue(p, "p", index_uni(inline_sym31__), index_uni(1))))); } else { - current_statement__ = 90; - validate_non_negative_index("lp", "first[i]", lcm_sym288__); + current_statement__ = 89; + validate_non_negative_index("lp", "first[i]", lcm_sym259__); Eigen::Matrix inline_sym29__; - inline_sym29__ = Eigen::Matrix(lcm_sym288__); + inline_sym29__ = Eigen::Matrix(lcm_sym259__); stan::math::fill(inline_sym29__, DUMMY_VAR__); - lcm_sym242__ = (lcm_sym288__ - 1); + lcm_sym213__ = (lcm_sym259__ - 1); assign(inline_sym29__, - (((bernoulli_lpmf(1, lcm_sym297__) + + (((bernoulli_lpmf(1, lcm_sym268__) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym238__, "lcm_sym238__", - index_min_max(1, lcm_sym242__))))) + + rvalue(lcm_sym209__, "lcm_sym209__", + index_min_max(1, lcm_sym213__))))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym286__, "lcm_sym286__", + rvalue(lcm_sym257__, "lcm_sym257__", index_uni(inline_sym31__), - index_min_max(1, lcm_sym242__))))) + + index_min_max(1, lcm_sym213__))))) + bernoulli_lpmf(1, rvalue(p, "p", - index_uni(inline_sym31__), index_uni(lcm_sym288__)))), + index_uni(inline_sym31__), index_uni(lcm_sym259__)))), "assigning variable inline_sym29__", index_uni(1)); - if (logical_gte(lcm_sym242__, 2)) { - current_statement__ = 92; + if (logical_gte(lcm_sym213__, 2)) { + current_statement__ = 91; assign(inline_sym29__, ((((bernoulli_lpmf(1, prod( - rvalue(lcm_sym237__, "lcm_sym237__", + rvalue(lcm_sym208__, "lcm_sym208__", index_min_max(1, 1)))) + bernoulli_lpmf(1, rvalue(nu, "nu", index_uni(2)))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym238__, "lcm_sym238__", - index_min_max(2, lcm_sym242__))))) + + rvalue(lcm_sym209__, "lcm_sym209__", + index_min_max(2, lcm_sym213__))))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym286__, "lcm_sym286__", + rvalue(lcm_sym257__, "lcm_sym257__", index_uni(inline_sym31__), - index_min_max(2, lcm_sym242__))))) + + index_min_max(2, lcm_sym213__))))) + bernoulli_lpmf(1, rvalue(p, "p", index_uni(inline_sym31__), - index_uni(lcm_sym288__)))), + index_uni(lcm_sym259__)))), "assigning variable inline_sym29__", index_uni(2)); for (int inline_sym30__ = 3; - inline_sym30__ <= lcm_sym242__; ++inline_sym30__) { - current_statement__ = 92; + inline_sym30__ <= lcm_sym213__; ++inline_sym30__) { + current_statement__ = 91; assign(inline_sym29__, ((((bernoulli_lpmf(1, prod( - rvalue(lcm_sym237__, "lcm_sym237__", + rvalue(lcm_sym208__, "lcm_sym208__", index_min_max(1, (inline_sym30__ - 1))))) + bernoulli_lpmf(1, nu[(inline_sym30__ - 1)])) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym238__, "lcm_sym238__", - index_min_max(inline_sym30__, lcm_sym242__))))) + rvalue(lcm_sym209__, "lcm_sym209__", + index_min_max(inline_sym30__, lcm_sym213__))))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym286__, "lcm_sym286__", + rvalue(lcm_sym257__, "lcm_sym257__", index_uni(inline_sym31__), - index_min_max(inline_sym30__, lcm_sym242__))))) + index_min_max(inline_sym30__, lcm_sym213__))))) + bernoulli_lpmf(1, rvalue(p, "p", index_uni(inline_sym31__), - index_uni(lcm_sym288__)))), + index_uni(lcm_sym259__)))), "assigning variable inline_sym29__", index_uni(inline_sym30__)); } } - current_statement__ = 93; + current_statement__ = 92; assign(inline_sym29__, ((bernoulli_lpmf(1, prod( - rvalue(lcm_sym237__, "lcm_sym237__", - index_min_max(1, lcm_sym242__)))) + - bernoulli_lpmf(1, nu[(lcm_sym288__ - 1)])) + + rvalue(lcm_sym208__, "lcm_sym208__", + index_min_max(1, lcm_sym213__)))) + + bernoulli_lpmf(1, nu[(lcm_sym259__ - 1)])) + bernoulli_lpmf(1, rvalue(p, "p", - index_uni(inline_sym31__), index_uni(lcm_sym288__)))), - "assigning variable inline_sym29__", index_uni(lcm_sym288__)); - current_statement__ = 94; + index_uni(inline_sym31__), index_uni(lcm_sym259__)))), + "assigning variable inline_sym29__", index_uni(lcm_sym259__)); + current_statement__ = 93; lp_accum__.add(log_sum_exp(inline_sym29__)); } - lcm_sym294__ = last[(inline_sym31__ - 1)]; - if (logical_gte(lcm_sym294__, (lcm_sym288__ + 1))) { - current_statement__ = 98; + lcm_sym265__ = last[(inline_sym31__ - 1)]; + if (logical_gte(lcm_sym265__, (lcm_sym259__ + 1))) { + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf(1, - rvalue(lcm_sym286__, "lcm_sym286__", + rvalue(lcm_sym257__, "lcm_sym257__", index_uni(inline_sym31__), - index_uni(((lcm_sym288__ + 1) - 1))))); - lcm_sym261__ = ((lcm_sym288__ + 1) + 1); + index_uni(((lcm_sym259__ + 1) - 1))))); + lcm_sym232__ = ((lcm_sym259__ + 1) + 1); lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", index_uni(inline_sym31__), - index_uni((lcm_sym288__ + 1))), + index_uni((lcm_sym259__ + 1))), rvalue(p, "p", index_uni(inline_sym31__), - index_uni((lcm_sym288__ + 1))))); - for (int inline_sym30__ = lcm_sym261__; - inline_sym30__ <= lcm_sym294__; ++inline_sym30__) { - current_statement__ = 98; + index_uni((lcm_sym259__ + 1))))); + for (int inline_sym30__ = lcm_sym232__; + inline_sym30__ <= lcm_sym265__; ++inline_sym30__) { + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf(1, - rvalue(lcm_sym286__, "lcm_sym286__", + rvalue(lcm_sym257__, "lcm_sym257__", index_uni(inline_sym31__), index_uni((inline_sym30__ - 1))))); - current_statement__ = 99; + current_statement__ = 98; lp_accum__.add( bernoulli_lpmf( y[(inline_sym31__ - 1)][(inline_sym30__ - 1)], @@ -13288,23 +12567,23 @@ class expr_prop_fail6_model final : public model_base_crtp(1, rvalue(inline_sym15__, "inline_sym15__", - index_uni(inline_sym31__), index_uni(lcm_sym294__)))); + index_uni(inline_sym31__), index_uni(lcm_sym265__)))); } else { - lcm_sym264__ = (lcm_sym304__ + 1); + lcm_sym235__ = (lcm_sym275__ + 1); validate_non_negative_index("lp", "n_occasions + 1", - lcm_sym264__); + lcm_sym235__); Eigen::Matrix inline_sym29__; - inline_sym29__ = Eigen::Matrix(lcm_sym264__); + inline_sym29__ = Eigen::Matrix(lcm_sym235__); stan::math::fill(inline_sym29__, DUMMY_VAR__); - current_statement__ = 103; + current_statement__ = 102; assign(inline_sym29__, (((bernoulli_lpmf(1, psi) + - bernoulli_lpmf(1, lcm_sym297__)) + + bernoulli_lpmf(1, lcm_sym268__)) + bernoulli_lpmf(0, rvalue(p, "p", index_uni(inline_sym31__), index_uni(1)))) + @@ -13312,13 +12591,13 @@ class expr_prop_fail6_model final : public model_base_crtp(1, psi) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym237__, "lcm_sym237__", + rvalue(lcm_sym208__, "lcm_sym208__", index_min_max(1, 1))))) + bernoulli_lpmf(1, rvalue(nu, "nu", index_uni(2)))) + @@ -13330,13 +12609,13 @@ class expr_prop_fail6_model final : public model_base_crtp(1, psi) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym237__, "lcm_sym237__", + rvalue(lcm_sym208__, "lcm_sym208__", index_min_max(1, (inline_sym30__ - 1)))))) + bernoulli_lpmf(1, nu[(inline_sym30__ - 1)])) + @@ -13351,10 +12630,10 @@ class expr_prop_fail6_model final : public model_base_crtp(0, psi), - "assigning variable inline_sym29__", index_uni(lcm_sym264__)); - current_statement__ = 87; + "assigning variable inline_sym29__", index_uni(lcm_sym235__)); + current_statement__ = 86; lp_accum__.add(log_sum_exp(inline_sym29__)); } } @@ -13380,8 +12659,8 @@ class expr_prop_fail6_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -13395,96 +12674,78 @@ class expr_prop_fail6_model final : public model_base_crtp lcm_sym165__; - std::vector lcm_sym164__; - std::vector> lcm_sym163__; - Eigen::Matrix lcm_sym162__; - double lcm_sym157__; - double lcm_sym156__; - double lcm_sym155__; - double lcm_sym154__; - double lcm_sym161__; - double lcm_sym160__; + int lcm_sym165__; + int lcm_sym164__; + int lcm_sym163__; + int lcm_sym162__; + int lcm_sym161__; + int lcm_sym160__; int lcm_sym159__; - int lcm_sym153__; - int lcm_sym152__; - int lcm_sym151__; - int lcm_sym150__; + double lcm_sym158__; + int lcm_sym157__; + int lcm_sym156__; + int lcm_sym155__; + Eigen::Matrix lcm_sym154__; + std::vector lcm_sym153__; + std::vector> lcm_sym152__; + Eigen::Matrix lcm_sym151__; + double lcm_sym146__; + double lcm_sym145__; + double lcm_sym144__; + double lcm_sym143__; + double lcm_sym150__; double lcm_sym149__; int lcm_sym148__; - int lcm_sym147__; - double lcm_sym146__; - int lcm_sym145__; - int lcm_sym144__; - int lcm_sym143__; int lcm_sym142__; int lcm_sym141__; int lcm_sym140__; int lcm_sym139__; - int lcm_sym138__; + double lcm_sym138__; int lcm_sym137__; int lcm_sym136__; - int lcm_sym135__; + double lcm_sym135__; int lcm_sym134__; int lcm_sym133__; int lcm_sym132__; - double lcm_sym131__; - double lcm_sym130__; - Eigen::Matrix lcm_sym129__; + int lcm_sym131__; + int lcm_sym130__; + int lcm_sym129__; + int lcm_sym128__; + int lcm_sym127__; + int lcm_sym126__; + int lcm_sym125__; + int lcm_sym124__; + int lcm_sym123__; + int lcm_sym122__; + int lcm_sym121__; + double lcm_sym120__; + double lcm_sym119__; + Eigen::Matrix lcm_sym118__; double mean_phi; mean_phi = std::numeric_limits::quiet_NaN(); @@ -13542,74 +12803,62 @@ class expr_prop_fail6_model final : public model_base_crtp(M, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - vars__.emplace_back(mean_phi); - vars__.emplace_back(mean_p); - vars__.emplace_back(psi); - lcm_sym133__ = logical_gte(n_occasions, 1); - if (lcm_sym133__) { - vars__.emplace_back(rvalue(beta, "beta", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - vars__.emplace_back(beta[(sym1__ - 1)]); - } - } - lcm_sym132__ = logical_gte(M, 1); - if (lcm_sym132__) { - vars__.emplace_back(rvalue(epsilon, "epsilon", index_uni(1))); - for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - vars__.emplace_back(epsilon[(sym1__ - 1)]); - } - } - vars__.emplace_back(sigma); + out__.write(mean_phi); + out__.write(mean_p); + out__.write(psi); + out__.write(beta); + out__.write(epsilon); + out__.write(sigma); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - lcm_sym141__ = (n_occasions - 1); - assign(lcm_sym165__, rep_matrix(mean_phi, M, lcm_sym141__), - "assigning variable lcm_sym165__"); - assign(phi, lcm_sym165__, "assigning variable phi"); - current_statement__ = 13; - if (lcm_sym133__) { - assign(lcm_sym162__, inv_logit(add(logit(mean_p), epsilon)), - "assigning variable lcm_sym162__"); - assign(p, lcm_sym162__, + lcm_sym130__ = (n_occasions - 1); + assign(lcm_sym154__, rep_matrix(mean_phi, M, lcm_sym130__), + "assigning variable lcm_sym154__"); + assign(phi, lcm_sym154__, "assigning variable phi"); + lcm_sym122__ = logical_gte(n_occasions, 1); + if (lcm_sym122__) { + assign(lcm_sym151__, inv_logit(add(logit(mean_p), epsilon)), + "assigning variable lcm_sym151__"); + assign(p, lcm_sym151__, "assigning variable p", index_omni(), index_uni(1)); for (int t = 2; t <= n_occasions; ++t) { current_statement__ = 12; - assign(p, lcm_sym162__, + assign(p, lcm_sym151__, "assigning variable p", index_omni(), index_uni(t)); } } - assign(lcm_sym129__, divide(beta, sum(beta)), - "assigning variable lcm_sym129__"); - assign(b, lcm_sym129__, "assigning variable b"); + assign(lcm_sym118__, divide(beta, sum(beta)), + "assigning variable lcm_sym118__"); + assign(b, lcm_sym118__, "assigning variable b"); { local_scalar_t__ cum_b; cum_b = DUMMY_VAR__; - lcm_sym210__ = rvalue(lcm_sym129__, "lcm_sym129__", index_uni(1)); - current_statement__ = 15; - assign(nu, lcm_sym210__, "assigning variable nu", index_uni(1)); - current_statement__ = 19; - if (logical_gte(lcm_sym141__, 2)) { - current_statement__ = 16; + lcm_sym184__ = rvalue(lcm_sym118__, "lcm_sym118__", index_uni(1)); + current_statement__ = 14; + assign(nu, lcm_sym184__, "assigning variable nu", index_uni(1)); + current_statement__ = 18; + if (logical_gte(lcm_sym130__, 2)) { + current_statement__ = 15; assign(nu, - (rvalue(lcm_sym129__, "lcm_sym129__", index_uni(2)) / - (1.0 - lcm_sym210__)), "assigning variable nu", index_uni(2)); - current_statement__ = 17; - cum_b = (lcm_sym210__ + - rvalue(lcm_sym129__, "lcm_sym129__", index_uni(2))); - for (int t = 3; t <= lcm_sym141__; ++t) { - current_statement__ = 16; + (rvalue(lcm_sym118__, "lcm_sym118__", index_uni(2)) / + (1.0 - lcm_sym184__)), "assigning variable nu", index_uni(2)); + current_statement__ = 16; + cum_b = (lcm_sym184__ + + rvalue(lcm_sym118__, "lcm_sym118__", index_uni(2))); + for (int t = 3; t <= lcm_sym130__; ++t) { + current_statement__ = 15; assign(nu, - (rvalue(lcm_sym129__, "lcm_sym129__", index_uni(t)) / + (rvalue(lcm_sym118__, "lcm_sym118__", index_uni(t)) / (1.0 - cum_b)), "assigning variable nu", index_uni(t)); - current_statement__ = 17; + current_statement__ = 16; cum_b = (cum_b + - rvalue(lcm_sym129__, "lcm_sym129__", index_uni(t))); + rvalue(lcm_sym118__, "lcm_sym118__", index_uni(t))); } } - current_statement__ = 20; + current_statement__ = 19; assign(nu, 1.0, "assigning variable nu", index_uni(n_occasions)); } Eigen::Matrix inline_sym1__; @@ -13621,74 +12870,74 @@ class expr_prop_fail6_model final : public model_base_crtp::min(); - lcm_sym166__ = rows(p); + lcm_sym155__ = rows(p); int inline_sym3__; inline_sym3__ = std::numeric_limits::min(); - lcm_sym159__ = cols(p); + lcm_sym148__ = cols(p); + current_statement__ = 23; + validate_non_negative_index("chi", "n_ind", lcm_sym155__); current_statement__ = 24; - validate_non_negative_index("chi", "n_ind", lcm_sym166__); - current_statement__ = 25; - validate_non_negative_index("chi", "n_occasions", lcm_sym159__); + validate_non_negative_index("chi", "n_occasions", lcm_sym148__); Eigen::Matrix inline_sym4__; - inline_sym4__ = Eigen::Matrix(lcm_sym166__, lcm_sym159__); + inline_sym4__ = Eigen::Matrix(lcm_sym155__, lcm_sym148__); stan::math::fill(inline_sym4__, DUMMY_VAR__); - for (int inline_sym8__ = 1; inline_sym8__ <= lcm_sym166__; + for (int inline_sym8__ = 1; inline_sym8__ <= lcm_sym155__; ++inline_sym8__) { - current_statement__ = 27; + current_statement__ = 26; assign(inline_sym4__, 1.0, "assigning variable inline_sym4__", index_uni(inline_sym8__), - index_uni(lcm_sym159__)); - lcm_sym143__ = (lcm_sym159__ - 1); - if (logical_gte(lcm_sym143__, 1)) { + index_uni(lcm_sym148__)); + lcm_sym132__ = (lcm_sym148__ - 1); + if (logical_gte(lcm_sym132__, 1)) { int inline_sym5__; inline_sym5__ = std::numeric_limits::min(); int inline_sym6__; inline_sym6__ = std::numeric_limits::min(); - lcm_sym148__ = (lcm_sym143__ + 1); - current_statement__ = 30; + lcm_sym137__ = (lcm_sym132__ + 1); + current_statement__ = 29; assign(inline_sym4__, stan::math::fma( - (rvalue(lcm_sym165__, "lcm_sym165__", - index_uni(inline_sym8__), index_uni(lcm_sym143__)) * + (rvalue(lcm_sym154__, "lcm_sym154__", + index_uni(inline_sym8__), index_uni(lcm_sym132__)) * (1 - rvalue(p, "p", - index_uni(inline_sym8__), index_uni(lcm_sym148__)))), + index_uni(inline_sym8__), index_uni(lcm_sym137__)))), rvalue(inline_sym4__, "inline_sym4__", - index_uni(inline_sym8__), index_uni(lcm_sym148__)), + index_uni(inline_sym8__), index_uni(lcm_sym137__)), (1 - - rvalue(lcm_sym165__, "lcm_sym165__", - index_uni(inline_sym8__), index_uni(lcm_sym143__)))), + rvalue(lcm_sym154__, "lcm_sym154__", + index_uni(inline_sym8__), index_uni(lcm_sym132__)))), "assigning variable inline_sym4__", index_uni(inline_sym8__), - index_uni(lcm_sym143__)); - for (int inline_sym7__ = 2; inline_sym7__ <= lcm_sym143__; + index_uni(lcm_sym132__)); + for (int inline_sym7__ = 2; inline_sym7__ <= lcm_sym132__; ++inline_sym7__) { int inline_sym5__; inline_sym5__ = std::numeric_limits::min(); - lcm_sym142__ = (lcm_sym159__ - inline_sym7__); + lcm_sym131__ = (lcm_sym148__ - inline_sym7__); int inline_sym6__; inline_sym6__ = std::numeric_limits::min(); - lcm_sym147__ = (lcm_sym142__ + 1); - current_statement__ = 30; + lcm_sym136__ = (lcm_sym131__ + 1); + current_statement__ = 29; assign(inline_sym4__, stan::math::fma( - (rvalue(lcm_sym165__, "lcm_sym165__", - index_uni(inline_sym8__), index_uni(lcm_sym142__)) * + (rvalue(lcm_sym154__, "lcm_sym154__", + index_uni(inline_sym8__), index_uni(lcm_sym131__)) * (1 - rvalue(p, "p", - index_uni(inline_sym8__), index_uni(lcm_sym147__)))), + index_uni(inline_sym8__), index_uni(lcm_sym136__)))), rvalue(inline_sym4__, "inline_sym4__", - index_uni(inline_sym8__), index_uni(lcm_sym147__)), + index_uni(inline_sym8__), index_uni(lcm_sym136__)), (1 - - rvalue(lcm_sym165__, "lcm_sym165__", - index_uni(inline_sym8__), index_uni(lcm_sym142__)))), + rvalue(lcm_sym154__, "lcm_sym154__", + index_uni(inline_sym8__), index_uni(lcm_sym131__)))), "assigning variable inline_sym4__", index_uni(inline_sym8__), - index_uni(lcm_sym142__)); + index_uni(lcm_sym131__)); } } if (inline_sym9__) { @@ -13704,32 +12953,32 @@ class expr_prop_fail6_model final : public model_base_crtp>(M, std::vector(n_occasions, std::numeric_limits::min())); - lcm_sym169__ = square(sigma); - sigma2 = lcm_sym169__; - current_statement__ = 50; - if (lcm_sym132__) { + lcm_sym158__ = square(sigma); + sigma2 = lcm_sym158__; + current_statement__ = 49; + if (lcm_sym121__) { int q; q = std::numeric_limits::min(); - current_statement__ = 48; + current_statement__ = 47; if (bernoulli_rng(psi, base_rng__)) { - current_statement__ = 42; + current_statement__ = 41; assign(z, bernoulli_rng(rvalue(nu, "nu", index_uni(1)), base_rng__), "assigning variable z", index_uni(1), index_uni(1)); - current_statement__ = 46; + current_statement__ = 45; if (logical_gte(n_occasions, 2)) { - lcm_sym207__ = rvalue(z, "z", index_uni(1), index_uni(1)); - lcm_sym153__ = (1 * (1 - lcm_sym207__)); - q = lcm_sym153__; - current_statement__ = 43; + lcm_sym183__ = rvalue(z, "z", index_uni(1), index_uni(1)); + lcm_sym142__ = (1 * (1 - lcm_sym183__)); + q = lcm_sym142__; + current_statement__ = 42; assign(z, bernoulli_rng( - stan::math::fma(lcm_sym207__, - rvalue(lcm_sym165__, "lcm_sym165__", + stan::math::fma(lcm_sym183__, + rvalue(lcm_sym154__, "lcm_sym154__", index_uni(1), index_uni(1)), - (lcm_sym153__ * rvalue(nu, "nu", index_uni(2)))), + (lcm_sym142__ * rvalue(nu, "nu", index_uni(2)))), base_rng__), "assigning variable z", index_uni(1), index_uni(2)); for (int t = 3; t <= n_occasions; ++t) { - current_statement__ = 44; + current_statement__ = 43; q = (q * (1 - rvalue(z, "z", index_uni(1), index_uni((t - 1))))); - current_statement__ = 43; + current_statement__ = 42; assign(z, bernoulli_rng( stan::math::fma( rvalue(z, "z", index_uni(1), index_uni((t - 1))), - rvalue(lcm_sym165__, "lcm_sym165__", + rvalue(lcm_sym154__, "lcm_sym154__", index_uni(1), index_uni((t - 1))), (q * rvalue(nu, "nu", index_uni(t)))), base_rng__), "assigning variable z", index_uni(1), index_uni(t)); } } } else { - current_statement__ = 40; + current_statement__ = 39; assign(z, rep_array(0, n_occasions), "assigning variable z", index_uni(1), index_omni()); } @@ -14067,73 +13241,73 @@ class expr_prop_fail6_model final : public model_base_crtp::min(); - current_statement__ = 48; + current_statement__ = 47; if (bernoulli_rng(psi, base_rng__)) { - current_statement__ = 42; + current_statement__ = 41; assign(z, bernoulli_rng(rvalue(nu, "nu", index_uni(1)), base_rng__), "assigning variable z", index_uni(i), index_uni(1)); - current_statement__ = 46; + current_statement__ = 45; if (logical_gte(n_occasions, 2)) { - lcm_sym152__ = (1 * + lcm_sym141__ = (1 * (1 - rvalue(z, "z", index_uni(i), index_uni(1)))); - q = lcm_sym152__; - current_statement__ = 43; + q = lcm_sym141__; + current_statement__ = 42; assign(z, bernoulli_rng( stan::math::fma(rvalue(z, "z", index_uni(i), index_uni(1)), - rvalue(lcm_sym165__, "lcm_sym165__", + rvalue(lcm_sym154__, "lcm_sym154__", index_uni(i), index_uni(1)), - (lcm_sym152__ * rvalue(nu, "nu", index_uni(2)))), + (lcm_sym141__ * rvalue(nu, "nu", index_uni(2)))), base_rng__), "assigning variable z", index_uni(i), index_uni(2)); for (int t = 3; t <= n_occasions; ++t) { - current_statement__ = 44; + current_statement__ = 43; q = (q * (1 - rvalue(z, "z", index_uni(i), index_uni((t - 1))))); - current_statement__ = 43; + current_statement__ = 42; assign(z, bernoulli_rng( stan::math::fma( rvalue(z, "z", index_uni(i), index_uni((t - 1))), - rvalue(lcm_sym165__, "lcm_sym165__", + rvalue(lcm_sym154__, "lcm_sym154__", index_uni(i), index_uni((t - 1))), (q * rvalue(nu, "nu", index_uni(t)))), base_rng__), "assigning variable z", index_uni(i), index_uni(t)); } } } else { - current_statement__ = 40; + current_statement__ = 39; assign(z, rep_array(0, n_occasions), "assigning variable z", index_uni(i), index_omni()); } } } { - current_statement__ = 51; + current_statement__ = 50; validate_non_negative_index("recruit", "M", M); - current_statement__ = 52; + current_statement__ = 51; validate_non_negative_index("recruit", "n_occasions", n_occasions); std::vector> recruit; recruit = std::vector>(M, std::vector(n_occasions, std::numeric_limits::min())); - current_statement__ = 53; + current_statement__ = 52; assign(recruit, rep_array(0, M, n_occasions), "assigning variable recruit"); - current_statement__ = 54; + current_statement__ = 53; validate_non_negative_index("Nind", "M", M); std::vector Nind; Nind = std::vector(M, std::numeric_limits::min()); - current_statement__ = 56; + current_statement__ = 55; validate_non_negative_index("Nalive", "M", M); std::vector Nalive; Nalive = std::vector(M, std::numeric_limits::min()); - current_statement__ = 65; - if (lcm_sym132__) { + current_statement__ = 64; + if (lcm_sym121__) { int f; f = std::numeric_limits::min(); @@ -14143,10 +13317,10 @@ class expr_prop_fail6_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym128__; - double lcm_sym127__; - double lcm_sym126__; - double lcm_sym125__; - double lcm_sym124__; - double lcm_sym123__; - double lcm_sym122__; - double lcm_sym121__; - double lcm_sym120__; - double lcm_sym119__; - int lcm_sym118__; int lcm_sym117__; int lcm_sym116__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double mean_phi; - mean_phi = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_phi = context__.vals_r("mean_phi")[(1 - 1)]; - double mean_phi_free__; - mean_phi_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_phi_free__ = stan::math::lub_free(mean_phi, 0, 1); - double mean_p; - mean_p = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - mean_p = context__.vals_r("mean_p")[(1 - 1)]; - double mean_p_free__; - mean_p_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - mean_p_free__ = stan::math::lub_free(mean_p, 0, 1); - double psi; - psi = std::numeric_limits::quiet_NaN(); + local_scalar_t__ mean_phi; + mean_phi = DUMMY_VAR__; - current_statement__ = 3; - psi = context__.vals_r("psi")[(1 - 1)]; - double psi_free__; - psi_free__ = std::numeric_limits::quiet_NaN(); + mean_phi = in__.read(); + out__.write_free_lub(0, 1, mean_phi); + local_scalar_t__ mean_p; + mean_p = DUMMY_VAR__; - current_statement__ = 3; - psi_free__ = stan::math::lub_free(psi, 0, 1); - Eigen::Matrix beta; - beta = Eigen::Matrix(n_occasions); - stan::math::fill(beta, std::numeric_limits::quiet_NaN()); + mean_p = in__.read(); + out__.write_free_lub(0, 1, mean_p); + local_scalar_t__ psi; + psi = DUMMY_VAR__; - { - std::vector beta_flat__; - current_statement__ = 4; - beta_flat__ = context__.vals_r("beta"); - current_statement__ = 4; - pos__ = 1; - lcm_sym117__ = logical_gte(n_occasions, 1); - if (lcm_sym117__) { - current_statement__ = 4; - assign(beta, rvalue(beta_flat__, "beta_flat__", index_uni(1)), - "assigning variable beta", index_uni(1)); - current_statement__ = 4; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - current_statement__ = 4; - assign(beta, beta_flat__[(pos__ - 1)], - "assigning variable beta", index_uni(sym1__)); - current_statement__ = 4; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix beta_free__; - beta_free__ = Eigen::Matrix(n_occasions); - stan::math::fill(beta_free__, std::numeric_limits::quiet_NaN()); + psi = in__.read(); + out__.write_free_lub(0, 1, psi); + Eigen::Matrix beta; + beta = Eigen::Matrix(n_occasions); + stan::math::fill(beta, DUMMY_VAR__); - current_statement__ = 4; - if (lcm_sym117__) { - current_statement__ = 4; - assign(beta_free__, - stan::math::lb_free(rvalue(beta, "beta", index_uni(1)), 0), - "assigning variable beta_free__", index_uni(1)); + if (logical_gte(n_occasions, 1)) { + assign(beta, in__.read(), + "assigning variable beta", index_uni(1)); for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - current_statement__ = 4; - assign(beta_free__, stan::math::lb_free(beta[(sym1__ - 1)], 0), - "assigning variable beta_free__", index_uni(sym1__)); + assign(beta, in__.read(), + "assigning variable beta", index_uni(sym1__)); } } - Eigen::Matrix epsilon; - epsilon = Eigen::Matrix(M); - stan::math::fill(epsilon, std::numeric_limits::quiet_NaN()); - - { - std::vector epsilon_flat__; - current_statement__ = 5; - epsilon_flat__ = context__.vals_r("epsilon"); - current_statement__ = 5; - pos__ = 1; - lcm_sym116__ = logical_gte(M, 1); - if (lcm_sym116__) { - current_statement__ = 5; - assign(epsilon, - rvalue(epsilon_flat__, "epsilon_flat__", index_uni(1)), - "assigning variable epsilon", index_uni(1)); - current_statement__ = 5; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - current_statement__ = 5; - assign(epsilon, epsilon_flat__[(pos__ - 1)], - "assigning variable epsilon", index_uni(sym1__)); - current_statement__ = 5; - pos__ = (pos__ + 1); - } - } - } - double sigma; - sigma = std::numeric_limits::quiet_NaN(); - - current_statement__ = 6; - sigma = context__.vals_r("sigma")[(1 - 1)]; - double sigma_free__; - sigma_free__ = std::numeric_limits::quiet_NaN(); + out__.write_free_lb(0, beta); + Eigen::Matrix epsilon; + epsilon = Eigen::Matrix(M); + stan::math::fill(epsilon, DUMMY_VAR__); - current_statement__ = 6; - sigma_free__ = stan::math::lub_free(sigma, 0, 5); - vars__.emplace_back(mean_phi_free__); - vars__.emplace_back(mean_p_free__); - vars__.emplace_back(psi_free__); - if (lcm_sym117__) { - vars__.emplace_back( - rvalue(beta_free__, "beta_free__", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - vars__.emplace_back(beta_free__[(sym1__ - 1)]); - } - } - if (lcm_sym116__) { - vars__.emplace_back(rvalue(epsilon, "epsilon", index_uni(1))); + if (logical_gte(M, 1)) { + assign(epsilon, in__.read(), + "assigning variable epsilon", index_uni(1)); for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - vars__.emplace_back(epsilon[(sym1__ - 1)]); + assign(epsilon, in__.read(), + "assigning variable epsilon", index_uni(sym1__)); } } - vars__.emplace_back(sigma_free__); + out__.write(epsilon); + local_scalar_t__ sigma; + sigma = DUMMY_VAR__; + + sigma = in__.read(); + out__.write_free_lub(0, 5, sigma); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -14567,51 +13624,51 @@ class expr_prop_fail6_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((((1 + 1) + 1) + n_occasions) + M) + 1); + const size_t num_transformed = + (((((M * phi_2dim__) + (M * n_occasions)) + n_occasions) + n_occasions) + + (M * n_occasions)); + const size_t num_gen_quantities = ((((1 + 1) + + n_occasions) + + + n_occasions) + + + (M * + n_occasions)); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -14767,8 +13837,22 @@ class expr_prop_fail6_model final : public model_base_crtp @@ -14789,20 +13873,33 @@ class expr_prop_fail6_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mean_phi", + "mean_p", "psi", "beta", "epsilon", "sigma", "phi", "p", "b", "nu", + "chi", "sigma2", "Nsuper", "N", "B", "z"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = expr_prop_fail6_model_namespace::expr_prop_fail6_model; @@ -14846,7 +13943,7 @@ using namespace stan::math; stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = +static constexpr std::array locations_array__ = {" (found before start of program)", " (in 'expr-prop-fail7.stan', line 20, column 2 to column 16)", " (in 'expr-prop-fail7.stan', line 21, column 2 to column 24)", @@ -14857,6 +13954,7 @@ static constexpr std::array locations_array__ = " (in 'expr-prop-fail7.stan', line 45, column 4 to column 45)", " (in 'expr-prop-fail7.stan', line 43, column 4 to line 44, column 51)", " (in 'expr-prop-fail7.stan', line 41, column 17 to line 46, column 3)", + " (in 'expr-prop-fail7.stan', line 41, column 2 to line 46, column 3)", " (in 'expr-prop-fail7.stan', line 25, column 2 to column 24)", " (in 'expr-prop-fail7.stan', line 28, column 6 to column 39)", " (in 'expr-prop-fail7.stan', line 27, column 4 to line 28, column 39)", @@ -14890,26 +13988,26 @@ static constexpr std::array locations_array__ = class expr_prop_fail7_model final : public model_base_crtp { private: - int lcm_sym82__; - int lcm_sym81__; - int lcm_sym80__; - int lcm_sym79__; - int lcm_sym78__; - int lcm_sym77__; - double lcm_sym76__; - double lcm_sym75__; - double lcm_sym74__; - double lcm_sym73__; - double lcm_sym72__; - double lcm_sym71__; - double lcm_sym70__; - double lcm_sym69__; - double lcm_sym68__; - double lcm_sym67__; - int lcm_sym66__; - int lcm_sym65__; - int lcm_sym64__; - int lcm_sym63__; + int lcm_sym46__; + int lcm_sym45__; + int lcm_sym44__; + int lcm_sym43__; + int lcm_sym42__; + int lcm_sym41__; + double lcm_sym40__; + double lcm_sym39__; + double lcm_sym38__; + double lcm_sym37__; + double lcm_sym36__; + double lcm_sym35__; + double lcm_sym34__; + double lcm_sym33__; + double lcm_sym32__; + double lcm_sym31__; + int lcm_sym30__; + int lcm_sym29__; + int lcm_sym28__; + int lcm_sym27__; int K; int I; int J; @@ -14965,38 +14063,38 @@ class expr_prop_fail7_model final : public model_base_crtp::min(); pos__ = 1; - current_statement__ = 20; + current_statement__ = 21; context__.validate_dims("data initialization","K","int", std::vector{}); K = std::numeric_limits::min(); - current_statement__ = 20; + current_statement__ = 21; K = context__.vals_i("K")[(1 - 1)]; - current_statement__ = 20; - check_greater_or_equal(function__, "K", K, 2); current_statement__ = 21; + check_greater_or_equal(function__, "K", K, 2); + current_statement__ = 22; context__.validate_dims("data initialization","I","int", std::vector{}); I = std::numeric_limits::min(); - current_statement__ = 21; + current_statement__ = 22; I = context__.vals_i("I")[(1 - 1)]; - current_statement__ = 21; - check_greater_or_equal(function__, "I", I, 1); current_statement__ = 22; + check_greater_or_equal(function__, "I", I, 1); + current_statement__ = 23; context__.validate_dims("data initialization","J","int", std::vector{}); J = std::numeric_limits::min(); - current_statement__ = 22; + current_statement__ = 23; J = context__.vals_i("J")[(1 - 1)]; - current_statement__ = 22; - check_greater_or_equal(function__, "J", J, 1); current_statement__ = 23; - validate_non_negative_index("y", "I", I); + check_greater_or_equal(function__, "J", J, 1); current_statement__ = 24; - validate_non_negative_index("y", "J", J); + validate_non_negative_index("y", "I", I); current_statement__ = 25; + validate_non_negative_index("y", "J", J); + current_statement__ = 26; context__.validate_dims("data initialization","y","int", std::vector{static_cast(I), static_cast(J)}); @@ -15005,113 +14103,113 @@ class expr_prop_fail7_model final : public model_base_crtp y_flat__; - current_statement__ = 25; + current_statement__ = 26; y_flat__ = context__.vals_i("y"); - current_statement__ = 25; + current_statement__ = 26; pos__ = 1; - lcm_sym64__ = logical_gte(J, 1); - if (lcm_sym64__) { + lcm_sym28__ = logical_gte(J, 1); + if (lcm_sym28__) { { - lcm_sym63__ = logical_gte(I, 1); - if (lcm_sym63__) { - current_statement__ = 25; + lcm_sym27__ = logical_gte(I, 1); + if (lcm_sym27__) { + current_statement__ = 26; assign(y, rvalue(y_flat__, "y_flat__", index_uni(1)), "assigning variable y", index_uni(1), index_uni(1)); - current_statement__ = 25; + current_statement__ = 26; pos__ = 2; for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - current_statement__ = 25; + current_statement__ = 26; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(sym2__), index_uni(1)); - current_statement__ = 25; + current_statement__ = 26; pos__ = (pos__ + 1); } } for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - current_statement__ = 25; - if (lcm_sym63__) { - current_statement__ = 25; + current_statement__ = 26; + if (lcm_sym27__) { + current_statement__ = 26; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(1), index_uni(sym1__)); - current_statement__ = 25; + current_statement__ = 26; pos__ = (pos__ + 1); for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - current_statement__ = 25; + current_statement__ = 26; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 25; + current_statement__ = 26; pos__ = (pos__ + 1); } } } } } else { - lcm_sym63__ = logical_gte(I, 1); + lcm_sym27__ = logical_gte(I, 1); } } - current_statement__ = 25; - if (lcm_sym63__) { - current_statement__ = 25; - if (lcm_sym64__) { - current_statement__ = 25; + current_statement__ = 26; + if (lcm_sym27__) { + current_statement__ = 26; + if (lcm_sym28__) { + current_statement__ = 26; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= J; ++sym2__) { - current_statement__ = 25; + current_statement__ = 26; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(sym2__)), 1); } } for (int sym1__ = 2; sym1__ <= I; ++sym1__) { - current_statement__ = 25; - if (lcm_sym64__) { - current_statement__ = 25; + current_statement__ = 26; + if (lcm_sym28__) { + current_statement__ = 26; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(sym1__), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= J; ++sym2__) { - current_statement__ = 25; + current_statement__ = 26; check_greater_or_equal(function__, "y[sym1__, sym2__]", y[(sym1__ - 1)][(sym2__ - 1)], 1); } } } } - current_statement__ = 25; - if (lcm_sym63__) { - current_statement__ = 25; - if (lcm_sym64__) { - current_statement__ = 25; + current_statement__ = 26; + if (lcm_sym27__) { + current_statement__ = 26; + if (lcm_sym28__) { + current_statement__ = 26; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), K); for (int sym2__ = 2; sym2__ <= J; ++sym2__) { - current_statement__ = 25; + current_statement__ = 26; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(sym2__)), K); } } for (int sym1__ = 2; sym1__ <= I; ++sym1__) { - current_statement__ = 25; - if (lcm_sym64__) { - current_statement__ = 25; + current_statement__ = 26; + if (lcm_sym28__) { + current_statement__ = 26; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(sym1__), index_uni(1)), K); for (int sym2__ = 2; sym2__ <= J; ++sym2__) { - current_statement__ = 25; + current_statement__ = 26; check_less_or_equal(function__, "y[sym1__, sym2__]", y[(sym1__ - 1)][(sym2__ - 1)], K); } } } } - current_statement__ = 26; - validate_non_negative_index("alpha", "K", K); current_statement__ = 27; + validate_non_negative_index("alpha", "K", K); + current_statement__ = 28; context__.validate_dims("data initialization","alpha","double", std::vector{static_cast(K)}); alpha__ = Eigen::Matrix(K); @@ -15120,42 +14218,42 @@ class expr_prop_fail7_model final : public model_base_crtp alpha_flat__; - current_statement__ = 27; + current_statement__ = 28; alpha_flat__ = context__.vals_r("alpha"); - current_statement__ = 27; + current_statement__ = 28; pos__ = 1; - lcm_sym65__ = logical_gte(K, 1); - if (lcm_sym65__) { - current_statement__ = 27; + lcm_sym29__ = logical_gte(K, 1); + if (lcm_sym29__) { + current_statement__ = 28; assign(alpha, rvalue(alpha_flat__, "alpha_flat__", index_uni(1)), "assigning variable alpha", index_uni(1)); - current_statement__ = 27; + current_statement__ = 28; pos__ = 2; for (int sym1__ = 2; sym1__ <= K; ++sym1__) { - current_statement__ = 27; + current_statement__ = 28; assign(alpha, alpha_flat__[(pos__ - 1)], "assigning variable alpha", index_uni(sym1__)); - current_statement__ = 27; + current_statement__ = 28; pos__ = (pos__ + 1); } } } - current_statement__ = 27; - if (lcm_sym65__) { - current_statement__ = 27; + current_statement__ = 28; + if (lcm_sym29__) { + current_statement__ = 28; check_greater_or_equal(function__, "alpha[sym1__]", rvalue(alpha, "alpha", index_uni(1)), 0); for (int sym1__ = 2; sym1__ <= K; ++sym1__) { - current_statement__ = 27; + current_statement__ = 28; check_greater_or_equal(function__, "alpha[sym1__]", alpha[(sym1__ - 1)], 0); } } - current_statement__ = 28; - validate_non_negative_index("beta", "K", K); current_statement__ = 29; validate_non_negative_index("beta", "K", K); current_statement__ = 30; + validate_non_negative_index("beta", "K", K); + current_statement__ = 31; context__.validate_dims("data initialization","beta","double", std::vector{static_cast(K), static_cast(K)}); @@ -15164,88 +14262,88 @@ class expr_prop_fail7_model final : public model_base_crtp beta_flat__; - current_statement__ = 30; + current_statement__ = 31; beta_flat__ = context__.vals_r("beta"); - current_statement__ = 30; + current_statement__ = 31; pos__ = 1; - current_statement__ = 30; - if (lcm_sym65__) { - current_statement__ = 30; - if (lcm_sym65__) { - current_statement__ = 30; + current_statement__ = 31; + if (lcm_sym29__) { + current_statement__ = 31; + if (lcm_sym29__) { + current_statement__ = 31; assign(beta, rvalue(beta_flat__, "beta_flat__", index_uni(1)), "assigning variable beta", index_uni(1), index_uni(1)); - current_statement__ = 30; + current_statement__ = 31; pos__ = 2; for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - current_statement__ = 30; + current_statement__ = 31; assign(beta, beta_flat__[(pos__ - 1)], "assigning variable beta", index_uni(sym2__), index_uni(1)); - current_statement__ = 30; + current_statement__ = 31; pos__ = (pos__ + 1); } } for (int sym1__ = 2; sym1__ <= K; ++sym1__) { - current_statement__ = 30; - if (lcm_sym65__) { - current_statement__ = 30; + current_statement__ = 31; + if (lcm_sym29__) { + current_statement__ = 31; assign(beta, beta_flat__[(pos__ - 1)], "assigning variable beta", index_uni(1), index_uni(sym1__)); - current_statement__ = 30; + current_statement__ = 31; pos__ = (pos__ + 1); for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - current_statement__ = 30; + current_statement__ = 31; assign(beta, beta_flat__[(pos__ - 1)], "assigning variable beta", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 30; + current_statement__ = 31; pos__ = (pos__ + 1); } } } } } - current_statement__ = 30; - if (lcm_sym65__) { - current_statement__ = 30; - if (lcm_sym65__) { - current_statement__ = 30; + current_statement__ = 31; + if (lcm_sym29__) { + current_statement__ = 31; + if (lcm_sym29__) { + current_statement__ = 31; check_greater_or_equal(function__, "beta[sym1__, sym2__]", rvalue(beta, "beta", index_uni(1), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - current_statement__ = 30; + current_statement__ = 31; check_greater_or_equal(function__, "beta[sym1__, sym2__]", rvalue(beta, "beta", index_uni(1), index_uni(sym2__)), 0); } } for (int sym1__ = 2; sym1__ <= K; ++sym1__) { - current_statement__ = 30; - if (lcm_sym65__) { - current_statement__ = 30; + current_statement__ = 31; + if (lcm_sym29__) { + current_statement__ = 31; check_greater_or_equal(function__, "beta[sym1__, sym2__]", rvalue(beta, "beta", index_uni(sym1__), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - current_statement__ = 30; + current_statement__ = 31; check_greater_or_equal(function__, "beta[sym1__, sym2__]", beta[(sym1__ - 1)][(sym2__ - 1)], 0); } } } } - current_statement__ = 31; - validate_positive_index("pi", "K", K); current_statement__ = 32; - validate_non_negative_index("theta", "J", J); + validate_positive_index("pi", "K", K); current_statement__ = 33; - validate_non_negative_index("theta", "K", K); + validate_non_negative_index("theta", "J", J); current_statement__ = 34; - validate_positive_index("theta", "K", K); + validate_non_negative_index("theta", "K", K); current_statement__ = 35; - validate_non_negative_index("log_Pr_z", "I", I); + validate_positive_index("theta", "K", K); current_statement__ = 36; + validate_non_negative_index("log_Pr_z", "I", I); + current_statement__ = 37; validate_non_negative_index("log_Pr_z", "K", K); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -15274,20 +14372,20 @@ class expr_prop_fail7_model final : public model_base_crtp lcm_sym61__; - double lcm_sym60__; - double lcm_sym59__; - double lcm_sym58__; - double lcm_sym57__; - double lcm_sym56__; - Eigen::Matrix lcm_sym55__; - Eigen::Matrix lcm_sym54__; - Eigen::Matrix lcm_sym53__; - Eigen::Matrix lcm_sym52__; - int lcm_sym51__; - int lcm_sym50__; - int lcm_sym49__; + double lcm_sym26__; + Eigen::Matrix lcm_sym25__; + double lcm_sym24__; + double lcm_sym23__; + double lcm_sym22__; + double lcm_sym21__; + double lcm_sym20__; + Eigen::Matrix lcm_sym19__; + Eigen::Matrix lcm_sym18__; + Eigen::Matrix lcm_sym17__; + Eigen::Matrix lcm_sym16__; + int lcm_sym15__; + int lcm_sym14__; + int lcm_sym13__; Eigen::Matrix pi; pi = Eigen::Matrix(K); stan::math::fill(pi, DUMMY_VAR__); @@ -15303,19 +14401,19 @@ class expr_prop_fail7_model final : public model_base_crtp>>, jacobian__>( lp__, J, K, K); { - current_statement__ = 10; + current_statement__ = 11; lp_accum__.add(dirichlet_lpdf(pi, alpha)); - lcm_sym50__ = logical_gte(J, 1); - if (lcm_sym50__) { - lcm_sym51__ = logical_gte(K, 1); - if (lcm_sym51__) { - current_statement__ = 11; + lcm_sym14__ = logical_gte(J, 1); + if (lcm_sym14__) { + lcm_sym15__ = logical_gte(K, 1); + if (lcm_sym15__) { + current_statement__ = 12; lp_accum__.add( dirichlet_lpdf( rvalue(theta, "theta", index_uni(1), index_uni(1)), rvalue(beta, "beta", index_uni(1)))); for (int k = 2; k <= K; ++k) { - current_statement__ = 11; + current_statement__ = 12; lp_accum__.add( dirichlet_lpdf( rvalue(theta, "theta", index_uni(1), index_uni(k)), @@ -15323,15 +14421,15 @@ class expr_prop_fail7_model final : public model_base_crtp( rvalue(theta, "theta", index_uni(j), index_uni(1)), rvalue(beta, "beta", index_uni(1)))); for (int k = 2; k <= K; ++k) { - current_statement__ = 11; + current_statement__ = 12; lp_accum__.add( dirichlet_lpdf( rvalue(theta, "theta", index_uni(j), index_uni(k)), @@ -15340,22 +14438,22 @@ class expr_prop_fail7_model final : public model_base_crtp log_q; log_q = Eigen::Matrix(K); stan::math::fill(log_q, DUMMY_VAR__); - assign(lcm_sym61__, stan::math::log(pi), - "assigning variable lcm_sym61__"); - assign(log_q, lcm_sym61__, "assigning variable log_q"); - current_statement__ = 16; - if (lcm_sym50__) { - current_statement__ = 15; + assign(lcm_sym25__, stan::math::log(pi), + "assigning variable lcm_sym25__"); + assign(log_q, lcm_sym25__, "assigning variable log_q"); + current_statement__ = 17; + if (lcm_sym14__) { + current_statement__ = 16; assign(log_q, - add(lcm_sym61__, + add(lcm_sym25__, to_vector( stan::math::log( rvalue(theta, "theta", @@ -15363,7 +14461,7 @@ class expr_prop_fail7_model final : public model_base_crtp log_q; log_q = Eigen::Matrix(K); stan::math::fill(log_q, DUMMY_VAR__); - current_statement__ = 14; - assign(log_q, lcm_sym61__, "assigning variable log_q"); - current_statement__ = 16; - if (lcm_sym50__) { - current_statement__ = 15; + current_statement__ = 15; + assign(log_q, lcm_sym25__, "assigning variable log_q"); + current_statement__ = 17; + if (lcm_sym14__) { + current_statement__ = 16; assign(log_q, - add(lcm_sym61__, + add(lcm_sym25__, to_vector( stan::math::log( rvalue(theta, "theta", @@ -15399,7 +14497,7 @@ class expr_prop_fail7_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -15450,31 +14548,16 @@ class expr_prop_fail7_model final : public model_base_crtp lcm_sym34__; - Eigen::Matrix lcm_sym33__; - Eigen::Matrix lcm_sym32__; - Eigen::Matrix lcm_sym31__; - Eigen::Matrix lcm_sym30__; - int lcm_sym29__; - int lcm_sym28__; - Eigen::Matrix lcm_sym27__; - int lcm_sym26__; - int lcm_sym25__; - int lcm_sym24__; + Eigen::Matrix lcm_sym12__; + Eigen::Matrix lcm_sym11__; + Eigen::Matrix lcm_sym10__; + Eigen::Matrix lcm_sym9__; + Eigen::Matrix lcm_sym8__; + int lcm_sym7__; + int lcm_sym6__; + Eigen::Matrix lcm_sym5__; + int lcm_sym4__; + int lcm_sym3__; Eigen::Matrix pi; pi = Eigen::Matrix(K); stan::math::fill(pi, std::numeric_limits::quiet_NaN()); @@ -15489,66 +14572,8 @@ class expr_prop_fail7_model final : public model_base_crtp>>, jacobian__>( lp__, J, K, K); - lcm_sym26__ = logical_gte(K, 1); - if (lcm_sym26__) { - vars__.emplace_back(rvalue(pi, "pi", index_uni(1))); - for (int sym1__ = 2; sym1__ <= K; ++sym1__) { - vars__.emplace_back(pi[(sym1__ - 1)]); - } - } - if (lcm_sym26__) { - if (lcm_sym26__) { - lcm_sym25__ = logical_gte(J, 1); - if (lcm_sym25__) { - vars__.emplace_back( - rvalue(theta, "theta", - index_uni(1), index_uni(1), index_uni(1))); - for (int sym3__ = 2; sym3__ <= J; ++sym3__) { - vars__.emplace_back( - rvalue(theta, "theta", - index_uni(sym3__), index_uni(1), index_uni(1))); - } - } - for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - if (lcm_sym25__) { - vars__.emplace_back( - rvalue(theta, "theta", - index_uni(1), index_uni(sym2__), index_uni(1))); - for (int sym3__ = 2; sym3__ <= J; ++sym3__) { - vars__.emplace_back( - rvalue(theta, "theta", - index_uni(sym3__), index_uni(sym2__), index_uni(1))); - } - } - } - } - for (int sym1__ = 2; sym1__ <= K; ++sym1__) { - if (lcm_sym26__) { - lcm_sym25__ = logical_gte(J, 1); - if (lcm_sym25__) { - vars__.emplace_back( - rvalue(theta, "theta", - index_uni(1), index_uni(1), index_uni(sym1__))); - for (int sym3__ = 2; sym3__ <= J; ++sym3__) { - vars__.emplace_back( - rvalue(theta, "theta", - index_uni(sym3__), index_uni(1), index_uni(sym1__))); - } - } - for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - if (lcm_sym25__) { - vars__.emplace_back( - rvalue(theta, "theta", - index_uni(1), index_uni(sym2__), index_uni(sym1__))); - for (int sym3__ = 2; sym3__ <= J; ++sym3__) { - vars__.emplace_back( - theta[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - } - } - } + out__.write(pi); + out__.write(theta); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -15560,22 +14585,22 @@ class expr_prop_fail7_model final : public model_base_crtp>(I, Eigen::Matrix(K)); stan::math::fill(log_Pr_z, std::numeric_limits::quiet_NaN()); - lcm_sym24__ = logical_gte(I, 1); - if (lcm_sym24__) { + current_statement__ = 10; + if (logical_gte(I, 1)) { current_statement__ = 4; validate_non_negative_index("log_q", "K", K); Eigen::Matrix log_q; log_q = Eigen::Matrix(K); stan::math::fill(log_q, std::numeric_limits::quiet_NaN()); - assign(lcm_sym34__, stan::math::log(pi), - "assigning variable lcm_sym34__"); - assign(log_q, lcm_sym34__, "assigning variable log_q"); - lcm_sym25__ = logical_gte(J, 1); - if (lcm_sym25__) { + assign(lcm_sym12__, stan::math::log(pi), + "assigning variable lcm_sym12__"); + assign(log_q, lcm_sym12__, "assigning variable log_q"); + lcm_sym4__ = logical_gte(J, 1); + if (lcm_sym4__) { current_statement__ = 6; assign(log_q, - add(lcm_sym34__, + add(lcm_sym12__, to_vector( stan::math::log( rvalue(theta, "theta", @@ -15605,12 +14630,12 @@ class expr_prop_fail7_model final : public model_base_crtp::quiet_NaN()); current_statement__ = 5; - assign(log_q, lcm_sym34__, "assigning variable log_q"); + assign(log_q, lcm_sym12__, "assigning variable log_q"); current_statement__ = 8; - if (lcm_sym25__) { + if (lcm_sym4__) { current_statement__ = 6; assign(log_q, - add(lcm_sym34__, + add(lcm_sym12__, to_vector( stan::math::log( rvalue(theta, "theta", @@ -15635,25 +14660,7 @@ class expr_prop_fail7_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym23__; - double lcm_sym22__; - double lcm_sym21__; - double lcm_sym20__; - double lcm_sym19__; - double lcm_sym18__; - double lcm_sym17__; - double lcm_sym16__; - double lcm_sym15__; - double lcm_sym14__; - Eigen::Matrix lcm_sym9__; - Eigen::Matrix lcm_sym8__; - Eigen::Matrix lcm_sym7__; - Eigen::Matrix lcm_sym6__; - double lcm_sym13__; - double lcm_sym12__; - double lcm_sym11__; - double lcm_sym10__; - int lcm_sym5__; - int lcm_sym4__; - int lcm_sym3__; int lcm_sym2__; int lcm_sym1__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - Eigen::Matrix pi; - pi = Eigen::Matrix(K); - stan::math::fill(pi, std::numeric_limits::quiet_NaN()); - - { - std::vector pi_flat__; - current_statement__ = 1; - pi_flat__ = context__.vals_r("pi"); - current_statement__ = 1; - pos__ = 1; - lcm_sym2__ = logical_gte(K, 1); - if (lcm_sym2__) { - current_statement__ = 1; - assign(pi, rvalue(pi_flat__, "pi_flat__", index_uni(1)), - "assigning variable pi", index_uni(1)); - current_statement__ = 1; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= K; ++sym1__) { - current_statement__ = 1; - assign(pi, pi_flat__[(pos__ - 1)], - "assigning variable pi", index_uni(sym1__)); - current_statement__ = 1; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix pi_free__; - pi_free__ = Eigen::Matrix((K - 1)); - stan::math::fill(pi_free__, std::numeric_limits::quiet_NaN()); - - current_statement__ = 1; - assign(pi_free__, stan::math::simplex_free(pi), - "assigning variable pi_free__"); - std::vector>> theta; - theta = std::vector>>(J, std::vector>(K, Eigen::Matrix(K))); - stan::math::fill(theta, std::numeric_limits::quiet_NaN()); - - { - std::vector theta_flat__; - current_statement__ = 2; - theta_flat__ = context__.vals_r("theta"); - current_statement__ = 2; - pos__ = 1; - current_statement__ = 2; - if (lcm_sym2__) { - { - current_statement__ = 2; - if (lcm_sym2__) { - { - lcm_sym1__ = logical_gte(J, 1); - if (lcm_sym1__) { - current_statement__ = 2; - assign(theta, - rvalue(theta_flat__, "theta_flat__", index_uni(1)), - "assigning variable theta", index_uni(1), index_uni(1), - index_uni(1)); - current_statement__ = 2; - pos__ = 2; - for (int sym3__ = 2; sym3__ <= J; ++sym3__) { - current_statement__ = 2; - assign(theta, theta_flat__[(pos__ - 1)], - "assigning variable theta", index_uni(sym3__), - index_uni(1), - index_uni(1)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } - } - for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - current_statement__ = 2; - if (lcm_sym1__) { - current_statement__ = 2; - assign(theta, theta_flat__[(pos__ - 1)], - "assigning variable theta", index_uni(1), - index_uni(sym2__), - index_uni(1)); - current_statement__ = 2; - pos__ = (pos__ + 1); - for (int sym3__ = 2; sym3__ <= J; ++sym3__) { - current_statement__ = 2; - assign(theta, theta_flat__[(pos__ - 1)], - "assigning variable theta", index_uni(sym3__), - index_uni(sym2__), - index_uni(1)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } - } - } - } - } else { - lcm_sym1__ = logical_gte(J, 1); - } - for (int sym1__ = 2; sym1__ <= K; ++sym1__) { - current_statement__ = 2; - if (lcm_sym2__) { - current_statement__ = 2; - if (lcm_sym1__) { - current_statement__ = 2; - assign(theta, theta_flat__[(pos__ - 1)], - "assigning variable theta", index_uni(1), index_uni(1), - index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - for (int sym3__ = 2; sym3__ <= J; ++sym3__) { - current_statement__ = 2; - assign(theta, theta_flat__[(pos__ - 1)], - "assigning variable theta", index_uni(sym3__), - index_uni(1), - index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } - } - for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - current_statement__ = 2; - if (lcm_sym1__) { - current_statement__ = 2; - assign(theta, theta_flat__[(pos__ - 1)], - "assigning variable theta", index_uni(1), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - for (int sym3__ = 2; sym3__ <= J; ++sym3__) { - current_statement__ = 2; - assign(theta, theta_flat__[(pos__ - 1)], - "assigning variable theta", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } - } - } - } - } - } - } else { - lcm_sym1__ = logical_gte(J, 1); - } - } - std::vector>> theta_free__; - theta_free__ = std::vector>>(J, std::vector>(K, Eigen::Matrix( - (K - 1)))); - stan::math::fill(theta_free__, std::numeric_limits::quiet_NaN()); - + Eigen::Matrix pi; + pi = Eigen::Matrix(K); + stan::math::fill(pi, DUMMY_VAR__); - current_statement__ = 2; - if (lcm_sym1__) { - current_statement__ = 2; - if (lcm_sym2__) { - current_statement__ = 2; - assign(theta_free__, - stan::math::simplex_free( - rvalue(theta, "theta", index_uni(1), index_uni(1))), - "assigning variable theta_free__", index_uni(1), index_uni(1)); - for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - current_statement__ = 2; - assign(theta_free__, - stan::math::simplex_free( - rvalue(theta, "theta", index_uni(1), index_uni(sym2__))), - "assigning variable theta_free__", index_uni(1), - index_uni(sym2__)); - } - } - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - current_statement__ = 2; - if (lcm_sym2__) { - current_statement__ = 2; - assign(theta_free__, - stan::math::simplex_free( - rvalue(theta, "theta", index_uni(sym1__), index_uni(1))), - "assigning variable theta_free__", index_uni(sym1__), - index_uni(1)); - for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - current_statement__ = 2; - assign(theta_free__, - stan::math::simplex_free(theta[(sym1__ - 1)][(sym2__ - 1)]), - "assigning variable theta_free__", index_uni(sym1__), - index_uni(sym2__)); - } - } - } - } - lcm_sym4__ = (K - 1); - lcm_sym3__ = logical_gte(lcm_sym4__, 1); - if (lcm_sym3__) { - vars__.emplace_back(rvalue(pi_free__, "pi_free__", index_uni(1))); - for (int sym1__ = 2; sym1__ <= lcm_sym4__; ++sym1__) { - vars__.emplace_back(pi_free__[(sym1__ - 1)]); + lcm_sym2__ = logical_gte(K, 1); + if (lcm_sym2__) { + assign(pi, in__.read(), + "assigning variable pi", index_uni(1)); + for (int sym1__ = 2; sym1__ <= K; ++sym1__) { + assign(pi, in__.read(), + "assigning variable pi", index_uni(sym1__)); } } - if (lcm_sym1__) { + out__.write_free_simplex(pi); + std::vector>> theta; + theta = std::vector>>(J, std::vector>(K, Eigen::Matrix(K))); + stan::math::fill(theta, DUMMY_VAR__); + + if (lcm_sym2__) { if (lcm_sym2__) { - if (lcm_sym3__) { - vars__.emplace_back( - rvalue(theta_free__, "theta_free__", - index_uni(1), index_uni(1), index_uni(1))); - for (int sym3__ = 2; sym3__ <= lcm_sym4__; ++sym3__) { - vars__.emplace_back( - rvalue(theta_free__, "theta_free__", - index_uni(1), index_uni(1), index_uni(sym3__))); + lcm_sym1__ = logical_gte(J, 1); + if (lcm_sym1__) { + assign(theta, in__.read(), + "assigning variable theta", index_uni(1), index_uni(1), + index_uni(1)); + for (int sym3__ = 2; sym3__ <= J; ++sym3__) { + assign(theta, in__.read(), + "assigning variable theta", index_uni(sym3__), index_uni(1), + index_uni(1)); } } for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - if (lcm_sym3__) { - vars__.emplace_back( - rvalue(theta_free__, "theta_free__", - index_uni(1), index_uni(sym2__), index_uni(1))); - for (int sym3__ = 2; sym3__ <= lcm_sym4__; ++sym3__) { - vars__.emplace_back( - rvalue(theta_free__, "theta_free__", - index_uni(1), index_uni(sym2__), index_uni(sym3__))); + if (lcm_sym1__) { + assign(theta, in__.read(), + "assigning variable theta", index_uni(1), index_uni(sym2__), + index_uni(1)); + for (int sym3__ = 2; sym3__ <= J; ++sym3__) { + assign(theta, in__.read(), + "assigning variable theta", index_uni(sym3__), + index_uni(sym2__), + index_uni(1)); } } } } - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { + for (int sym1__ = 2; sym1__ <= K; ++sym1__) { if (lcm_sym2__) { - if (lcm_sym3__) { - vars__.emplace_back( - rvalue(theta_free__, "theta_free__", - index_uni(sym1__), index_uni(1), index_uni(1))); - for (int sym3__ = 2; sym3__ <= lcm_sym4__; ++sym3__) { - vars__.emplace_back( - rvalue(theta_free__, "theta_free__", - index_uni(sym1__), index_uni(1), index_uni(sym3__))); + lcm_sym1__ = logical_gte(J, 1); + if (lcm_sym1__) { + assign(theta, in__.read(), + "assigning variable theta", index_uni(1), index_uni(1), + index_uni(sym1__)); + for (int sym3__ = 2; sym3__ <= J; ++sym3__) { + assign(theta, in__.read(), + "assigning variable theta", index_uni(sym3__), + index_uni(1), + index_uni(sym1__)); } } for (int sym2__ = 2; sym2__ <= K; ++sym2__) { - if (lcm_sym3__) { - vars__.emplace_back( - rvalue(theta_free__, "theta_free__", - index_uni(sym1__), index_uni(sym2__), index_uni(1))); - for (int sym3__ = 2; sym3__ <= lcm_sym4__; ++sym3__) { - vars__.emplace_back( - theta_free__[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - 1)]); + if (lcm_sym1__) { + assign(theta, in__.read(), + "assigning variable theta", index_uni(1), + index_uni(sym2__), + index_uni(sym1__)); + for (int sym3__ = 2; sym3__ <= J; ++sym3__) { + assign(theta, in__.read(), + "assigning variable theta", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } } } } + out__.write_free_simplex(theta); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -15974,18 +14794,18 @@ class expr_prop_fail7_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (K + ((J * K) * K)); + const size_t num_transformed = 0; + const size_t num_gen_quantities = + (I * K); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -16089,8 +14915,15 @@ class expr_prop_fail7_model final : public model_base_crtp @@ -16111,20 +14944,32 @@ class expr_prop_fail7_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"pi", + "theta", "log_Pr_z"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = expr_prop_fail7_model_namespace::expr_prop_fail7_model; @@ -16200,17 +15045,17 @@ static constexpr std::array locations_array__ = class expr_prop_fail8_model final : public model_base_crtp { private: - int lcm_sym35__; - int lcm_sym34__; - double lcm_sym33__; - double lcm_sym32__; - int lcm_sym31__; - int lcm_sym30__; - int lcm_sym29__; - int lcm_sym28__; - int lcm_sym27__; - int lcm_sym26__; - int lcm_sym25__; + int lcm_sym19__; + int lcm_sym18__; + double lcm_sym17__; + double lcm_sym16__; + int lcm_sym15__; + int lcm_sym14__; + int lcm_sym13__; + int lcm_sym12__; + int lcm_sym11__; + int lcm_sym10__; + int lcm_sym9__; int N; int N_edges; std::vector node1; @@ -16284,8 +15129,8 @@ class expr_prop_fail8_model final : public model_base_crtp lcm_sym22__; + local_scalar_t__ lcm_sym8__; + double lcm_sym7__; + Eigen::Matrix lcm_sym6__; local_scalar_t__ beta0; beta0 = DUMMY_VAR__; @@ -16461,8 +15306,8 @@ class expr_prop_fail8_model final : public model_base_crtp phi; phi = Eigen::Matrix(N); stan::math::fill(phi, DUMMY_VAR__); @@ -16470,10 +15315,10 @@ class expr_prop_fail8_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -16512,17 +15357,10 @@ class expr_prop_fail8_model final : public model_base_crtp lcm_sym14__; - int lcm_sym13__; - int lcm_sym12__; - int lcm_sym11__; + double lcm_sym5__; + Eigen::Matrix lcm_sym4__; + int lcm_sym3__; + int lcm_sym2__; double beta0; beta0 = std::numeric_limits::quiet_NaN(); @@ -16565,46 +15403,29 @@ class expr_prop_fail8_model final : public model_base_crtp phi; phi = Eigen::Matrix(N); stan::math::fill(phi, std::numeric_limits::quiet_NaN()); - - vars__.emplace_back(beta0); - vars__.emplace_back(beta1); - vars__.emplace_back(tau_theta); - vars__.emplace_back(tau_phi); - lcm_sym11__ = logical_gte(N, 1); - if (lcm_sym11__) { - vars__.emplace_back(rvalue(theta_std, "theta_std", index_uni(1))); - for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - vars__.emplace_back(theta_std[(sym1__ - 1)]); - } - } - if (lcm_sym11__) { - vars__.emplace_back( - rvalue(phi_std_raw, "phi_std_raw", index_uni(1))); - for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - vars__.emplace_back(phi_std_raw[(sym1__ - 1)]); - } - } + + out__.write(beta0); + out__.write(beta1); + out__.write(tau_theta); + out__.write(tau_phi); + out__.write(theta_std); + out__.write(phi_std_raw); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - lcm_sym15__ = inv_sqrt(tau_phi); - sigma_phi = lcm_sym15__; + lcm_sym5__ = inv_sqrt(tau_phi); + sigma_phi = lcm_sym5__; current_statement__ = 9; assign(phi, phi_std_raw, "assigning variable phi", index_min_max(1, N)); current_statement__ = 10; - assign(phi, multiply(stan::model::deep_copy(phi), lcm_sym15__), + assign(phi, multiply(stan::model::deep_copy(phi), lcm_sym5__), "assigning variable phi"); current_statement__ = 7; - check_greater_or_equal(function__, "sigma_phi", lcm_sym15__, 0); + check_greater_or_equal(function__, "sigma_phi", lcm_sym5__, 0); if (emit_transformed_parameters__) { - vars__.emplace_back(lcm_sym15__); - if (lcm_sym11__) { - vars__.emplace_back(rvalue(phi, "phi", index_uni(1))); - for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - vars__.emplace_back(phi[(sym1__ - 1)]); - } - } + out__.write(lcm_sym5__); + out__.write(phi); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -16619,130 +15440,68 @@ class expr_prop_fail8_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym10__; - double lcm_sym9__; - double lcm_sym8__; - double lcm_sym7__; - double lcm_sym6__; - double lcm_sym5__; - double lcm_sym4__; - double lcm_sym3__; - int lcm_sym2__; int lcm_sym1__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double beta0; - beta0 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - beta0 = context__.vals_r("beta0")[(1 - 1)]; - double beta1; - beta1 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - beta1 = context__.vals_r("beta1")[(1 - 1)]; - double tau_theta; - tau_theta = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - tau_theta = context__.vals_r("tau_theta")[(1 - 1)]; - double tau_theta_free__; - tau_theta_free__ = std::numeric_limits::quiet_NaN(); + local_scalar_t__ beta0; + beta0 = DUMMY_VAR__; - current_statement__ = 3; - tau_theta_free__ = stan::math::lb_free(tau_theta, 0); - double tau_phi; - tau_phi = std::numeric_limits::quiet_NaN(); + beta0 = in__.read(); + out__.write(beta0); + local_scalar_t__ beta1; + beta1 = DUMMY_VAR__; - current_statement__ = 4; - tau_phi = context__.vals_r("tau_phi")[(1 - 1)]; - double tau_phi_free__; - tau_phi_free__ = std::numeric_limits::quiet_NaN(); + beta1 = in__.read(); + out__.write(beta1); + local_scalar_t__ tau_theta; + tau_theta = DUMMY_VAR__; - current_statement__ = 4; - tau_phi_free__ = stan::math::lb_free(tau_phi, 0); - Eigen::Matrix theta_std; - theta_std = Eigen::Matrix(N); - stan::math::fill(theta_std, std::numeric_limits::quiet_NaN()); + tau_theta = in__.read(); + out__.write_free_lb(0, tau_theta); + local_scalar_t__ tau_phi; + tau_phi = DUMMY_VAR__; - { - std::vector theta_std_flat__; - current_statement__ = 5; - theta_std_flat__ = context__.vals_r("theta_std"); - current_statement__ = 5; - pos__ = 1; - lcm_sym1__ = logical_gte(N, 1); - if (lcm_sym1__) { - current_statement__ = 5; - assign(theta_std, - rvalue(theta_std_flat__, "theta_std_flat__", index_uni(1)), - "assigning variable theta_std", index_uni(1)); - current_statement__ = 5; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - current_statement__ = 5; - assign(theta_std, theta_std_flat__[(pos__ - 1)], - "assigning variable theta_std", index_uni(sym1__)); - current_statement__ = 5; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix phi_std_raw; - phi_std_raw = Eigen::Matrix(N); - stan::math::fill(phi_std_raw, std::numeric_limits::quiet_NaN()); + tau_phi = in__.read(); + out__.write_free_lb(0, tau_phi); + Eigen::Matrix theta_std; + theta_std = Eigen::Matrix(N); + stan::math::fill(theta_std, DUMMY_VAR__); - { - std::vector phi_std_raw_flat__; - current_statement__ = 6; - phi_std_raw_flat__ = context__.vals_r("phi_std_raw"); - current_statement__ = 6; - pos__ = 1; - current_statement__ = 6; - if (lcm_sym1__) { - current_statement__ = 6; - assign(phi_std_raw, - rvalue(phi_std_raw_flat__, "phi_std_raw_flat__", index_uni(1)), - "assigning variable phi_std_raw", index_uni(1)); - current_statement__ = 6; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - current_statement__ = 6; - assign(phi_std_raw, phi_std_raw_flat__[(pos__ - 1)], - "assigning variable phi_std_raw", index_uni(sym1__)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - } - vars__.emplace_back(beta0); - vars__.emplace_back(beta1); - vars__.emplace_back(tau_theta_free__); - vars__.emplace_back(tau_phi_free__); + lcm_sym1__ = logical_gte(N, 1); if (lcm_sym1__) { - vars__.emplace_back(rvalue(theta_std, "theta_std", index_uni(1))); + assign(theta_std, in__.read(), + "assigning variable theta_std", index_uni(1)); for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - vars__.emplace_back(theta_std[(sym1__ - 1)]); + assign(theta_std, in__.read(), + "assigning variable theta_std", index_uni(sym1__)); } } + out__.write(theta_std); + Eigen::Matrix phi_std_raw; + phi_std_raw = Eigen::Matrix(N); + stan::math::fill(phi_std_raw, DUMMY_VAR__); + if (lcm_sym1__) { - vars__.emplace_back( - rvalue(phi_std_raw, "phi_std_raw", index_uni(1))); + assign(phi_std_raw, in__.read(), + "assigning variable phi_std_raw", index_uni(1)); for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - vars__.emplace_back(phi_std_raw[(sym1__ - 1)]); + assign(phi_std_raw, in__.read(), + "assigning variable phi_std_raw", index_uni(sym1__)); } } + out__.write(phi_std_raw); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -16777,21 +15536,21 @@ class expr_prop_fail8_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((((1 + 1) + 1) + 1) + N) + N); + const size_t num_transformed = + (1 + N); + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -16874,8 +15639,15 @@ class expr_prop_fail8_model final : public model_base_crtp @@ -16896,20 +15668,33 @@ class expr_prop_fail8_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"beta0", + "beta1", "tau_theta", "tau_phi", "theta_std", "phi_std_raw", + "sigma_phi", "phi"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = expr_prop_fail8_model_namespace::expr_prop_fail8_model; @@ -17284,25 +16069,6 @@ return prob_uncaptured(nind, n_occasions, p, phi, pstream__); class fails_test_model final : public model_base_crtp { private: - int lcm_sym186__; - int lcm_sym185__; - int lcm_sym184__; - int lcm_sym183__; - int lcm_sym182__; - int lcm_sym181__; - int lcm_sym180__; - int lcm_sym179__; - int lcm_sym178__; - int lcm_sym177__; - int lcm_sym176__; - int lcm_sym175__; - int lcm_sym174__; - int lcm_sym173__; - int lcm_sym172__; - int lcm_sym171__; - int lcm_sym170__; - int lcm_sym169__; - int lcm_sym168__; int lcm_sym167__; int lcm_sym166__; int lcm_sym165__; @@ -17315,6 +16081,25 @@ class fails_test_model final : public model_base_crtp { int lcm_sym158__; int lcm_sym157__; int lcm_sym156__; + int lcm_sym155__; + int lcm_sym154__; + int lcm_sym153__; + int lcm_sym152__; + int lcm_sym151__; + int lcm_sym150__; + int lcm_sym149__; + int lcm_sym148__; + int lcm_sym147__; + int lcm_sym146__; + int lcm_sym145__; + int lcm_sym144__; + int lcm_sym143__; + int lcm_sym142__; + int lcm_sym141__; + int lcm_sym140__; + int lcm_sym139__; + int lcm_sym138__; + int lcm_sym137__; int nind; int n_occasions; std::vector> y; @@ -17418,11 +16203,11 @@ class fails_test_model final : public model_base_crtp { y_flat__ = context__.vals_i("y"); current_statement__ = 35; pos__ = 1; - lcm_sym156__ = logical_gte(n_occasions, 1); - if (lcm_sym156__) { + lcm_sym137__ = logical_gte(n_occasions, 1); + if (lcm_sym137__) { { - lcm_sym157__ = logical_gte(nind, 1); - if (lcm_sym157__) { + lcm_sym138__ = logical_gte(nind, 1); + if (lcm_sym138__) { current_statement__ = 35; assign(y, rvalue(y_flat__, "y_flat__", index_uni(1)), "assigning variable y", index_uni(1), index_uni(1)); @@ -17438,7 +16223,7 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { current_statement__ = 35; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 35; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(1), index_uni(sym1__)); @@ -17456,13 +16241,13 @@ class fails_test_model final : public model_base_crtp { } } } else { - lcm_sym157__ = logical_gte(nind, 1); + lcm_sym138__ = logical_gte(nind, 1); } } current_statement__ = 35; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 35; - if (lcm_sym156__) { + if (lcm_sym137__) { current_statement__ = 35; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), @@ -17476,7 +16261,7 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 35; - if (lcm_sym156__) { + if (lcm_sym137__) { current_statement__ = 35; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", @@ -17490,9 +16275,9 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 35; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 35; - if (lcm_sym156__) { + if (lcm_sym137__) { current_statement__ = 35; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 1); @@ -17505,7 +16290,7 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 35; - if (lcm_sym156__) { + if (lcm_sym137__) { current_statement__ = 35; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", @@ -17529,13 +16314,13 @@ class fails_test_model final : public model_base_crtp { check_greater_or_equal(function__, "max_age", max_age, 1); current_statement__ = 37; validate_non_negative_index("x", "nind", nind); - lcm_sym159__ = (n_occasions - 1); - validate_non_negative_index("x", "n_occasions - 1", lcm_sym159__); + lcm_sym140__ = (n_occasions - 1); + validate_non_negative_index("x", "n_occasions - 1", lcm_sym140__); current_statement__ = 38; context__.validate_dims("data initialization","x","int", std::vector{static_cast(nind), - static_cast(lcm_sym159__)}); - x = std::vector>(nind, std::vector(lcm_sym159__, std::numeric_limits::min())); + static_cast(lcm_sym140__)}); + x = std::vector>(nind, std::vector(lcm_sym140__, std::numeric_limits::min())); { @@ -17544,10 +16329,10 @@ class fails_test_model final : public model_base_crtp { x_flat__ = context__.vals_i("x"); current_statement__ = 38; pos__ = 1; - lcm_sym158__ = logical_gte(lcm_sym159__, 1); - if (lcm_sym158__) { + lcm_sym139__ = logical_gte(lcm_sym140__, 1); + if (lcm_sym139__) { current_statement__ = 38; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 38; assign(x, rvalue(x_flat__, "x_flat__", index_uni(1)), "assigning variable x", index_uni(1), index_uni(1)); @@ -17561,9 +16346,9 @@ class fails_test_model final : public model_base_crtp { pos__ = (pos__ + 1); } } - for (int sym1__ = 2; sym1__ <= lcm_sym159__; ++sym1__) { + for (int sym1__ = 2; sym1__ <= lcm_sym140__; ++sym1__) { current_statement__ = 38; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 38; assign(x, x_flat__[(pos__ - 1)], "assigning variable x", index_uni(1), index_uni(sym1__)); @@ -17582,14 +16367,14 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 38; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 38; - if (lcm_sym158__) { + if (lcm_sym139__) { current_statement__ = 38; check_greater_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym159__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym140__; ++sym2__) { current_statement__ = 38; check_greater_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", @@ -17598,12 +16383,12 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 38; - if (lcm_sym158__) { + if (lcm_sym139__) { current_statement__ = 38; check_greater_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym159__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym140__; ++sym2__) { current_statement__ = 38; check_greater_or_equal(function__, "x[sym1__, sym2__]", x[(sym1__ - 1)][(sym2__ - 1)], 0); @@ -17612,14 +16397,14 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 38; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 38; - if (lcm_sym158__) { + if (lcm_sym139__) { current_statement__ = 38; check_less_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", index_uni(1), index_uni(1)), max_age); - for (int sym2__ = 2; sym2__ <= lcm_sym159__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym140__; ++sym2__) { current_statement__ = 38; check_less_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", @@ -17628,12 +16413,12 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 38; - if (lcm_sym158__) { + if (lcm_sym139__) { current_statement__ = 38; check_less_or_equal(function__, "x[sym1__, sym2__]", rvalue(x, "x", index_uni(sym1__), index_uni(1)), max_age); - for (int sym2__ = 2; sym2__ <= lcm_sym159__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym140__; ++sym2__) { current_statement__ = 38; check_less_or_equal(function__, "x[sym1__, sym2__]", x[(sym1__ - 1)][(sym2__ - 1)], max_age); @@ -17645,7 +16430,7 @@ class fails_test_model final : public model_base_crtp { n_occ_minus_1 = std::numeric_limits::min(); current_statement__ = 39; - n_occ_minus_1 = lcm_sym159__; + n_occ_minus_1 = lcm_sym140__; current_statement__ = 40; validate_non_negative_index("first", "nind", nind); current_statement__ = 41; @@ -17657,15 +16442,15 @@ class fails_test_model final : public model_base_crtp { last = std::vector(nind, std::numeric_limits::min()); current_statement__ = 48; - if (lcm_sym157__) { + if (lcm_sym138__) { int inline_sym17__; int inline_sym19__; inline_sym19__ = std::numeric_limits::min(); inline_sym19__ = 0; for (int inline_sym20__ = 1; inline_sym20__ <= 1; ++inline_sym20__) { - lcm_sym166__ = size(rvalue(y, "y", index_uni(1))); - for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym166__; + lcm_sym147__ = size(rvalue(y, "y", index_uni(1))); + for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym147__; ++inline_sym18__) { current_statement__ = 45; if (rvalue(y, "y", index_uni(1))[(inline_sym18__ - 1)]) { @@ -17690,8 +16475,8 @@ class fails_test_model final : public model_base_crtp { inline_sym19__ = 0; for (int inline_sym20__ = 1; inline_sym20__ <= 1; ++inline_sym20__) { - lcm_sym165__ = size(rvalue(y, "y", index_uni(i))); - for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym165__; + lcm_sym146__ = size(rvalue(y, "y", index_uni(i))); + for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym146__; ++inline_sym18__) { current_statement__ = 45; if (rvalue(y, "y", index_uni(i))[(inline_sym18__ - 1)]) { @@ -17712,26 +16497,26 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 55; - if (lcm_sym157__) { + if (lcm_sym138__) { int inline_sym21__; int inline_sym24__; inline_sym24__ = std::numeric_limits::min(); inline_sym24__ = 0; for (int inline_sym25__ = 1; inline_sym25__ <= 1; ++inline_sym25__) { - lcm_sym166__ = size(rvalue(y, "y", index_uni(1))); - lcm_sym163__ = (lcm_sym166__ - 1); - for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym163__; + lcm_sym147__ = size(rvalue(y, "y", index_uni(1))); + lcm_sym144__ = (lcm_sym147__ - 1); + for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym144__; ++inline_sym23__) { int inline_sym22__; inline_sym22__ = std::numeric_limits::min(); - lcm_sym162__ = (lcm_sym166__ - inline_sym23__); - inline_sym22__ = lcm_sym162__; + lcm_sym143__ = (lcm_sym147__ - inline_sym23__); + inline_sym22__ = lcm_sym143__; current_statement__ = 51; - if (rvalue(y, "y", index_uni(1))[(lcm_sym162__ - 1)]) { + if (rvalue(y, "y", index_uni(1))[(lcm_sym143__ - 1)]) { inline_sym24__ = 1; - inline_sym21__ = lcm_sym162__; + inline_sym21__ = lcm_sym143__; break; } } @@ -17750,19 +16535,19 @@ class fails_test_model final : public model_base_crtp { inline_sym24__ = 0; for (int inline_sym25__ = 1; inline_sym25__ <= 1; ++inline_sym25__) { - lcm_sym165__ = size(rvalue(y, "y", index_uni(i))); - lcm_sym161__ = (lcm_sym165__ - 1); - for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym161__; + lcm_sym146__ = size(rvalue(y, "y", index_uni(i))); + lcm_sym142__ = (lcm_sym146__ - 1); + for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym142__; ++inline_sym23__) { int inline_sym22__; inline_sym22__ = std::numeric_limits::min(); - lcm_sym160__ = (lcm_sym165__ - inline_sym23__); - inline_sym22__ = lcm_sym160__; + lcm_sym141__ = (lcm_sym146__ - inline_sym23__); + inline_sym22__ = lcm_sym141__; current_statement__ = 51; - if (rvalue(y, "y", index_uni(i))[(lcm_sym160__ - 1)]) { + if (rvalue(y, "y", index_uni(i))[(lcm_sym141__ - 1)]) { inline_sym24__ = 1; - inline_sym21__ = lcm_sym160__; + inline_sym21__ = lcm_sym141__; break; } } @@ -17778,7 +16563,7 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 41; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 41; check_greater_or_equal(function__, "first[sym1__]", rvalue(first, "first", index_uni(1)), 0); @@ -17789,7 +16574,7 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 41; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 41; check_less_or_equal(function__, "first[sym1__]", rvalue(first, "first", index_uni(1)), n_occasions); @@ -17800,7 +16585,7 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 43; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 43; check_greater_or_equal(function__, "last[sym1__]", rvalue(last, "last", index_uni(1)), 0); @@ -17811,7 +16596,7 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 43; - if (lcm_sym157__) { + if (lcm_sym138__) { current_statement__ = 43; check_less_or_equal(function__, "last[sym1__]", rvalue(last, "last", index_uni(1)), n_occasions); @@ -17826,11 +16611,11 @@ class fails_test_model final : public model_base_crtp { current_statement__ = 57; validate_non_negative_index("phi", "nind", nind); current_statement__ = 58; - validate_non_negative_index("phi", "n_occ_minus_1", lcm_sym159__); + validate_non_negative_index("phi", "n_occ_minus_1", lcm_sym140__); current_statement__ = 59; validate_non_negative_index("p", "nind", nind); current_statement__ = 60; - validate_non_negative_index("p", "n_occ_minus_1", lcm_sym159__); + validate_non_negative_index("p", "n_occ_minus_1", lcm_sym140__); current_statement__ = 61; validate_non_negative_index("chi", "nind", nind); current_statement__ = 62; @@ -17862,25 +16647,6 @@ class fails_test_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym155__; - double lcm_sym154__; - double lcm_sym153__; - double lcm_sym152__; - double lcm_sym151__; - double lcm_sym150__; - double lcm_sym149__; - double lcm_sym148__; - int lcm_sym147__; - int lcm_sym146__; - double lcm_sym145__; - double lcm_sym144__; - double lcm_sym143__; - double lcm_sym142__; - int lcm_sym141__; - int lcm_sym140__; - double lcm_sym139__; - double lcm_sym138__; - double lcm_sym137__; double lcm_sym136__; double lcm_sym135__; double lcm_sym134__; @@ -17889,32 +16655,51 @@ class fails_test_model final : public model_base_crtp { double lcm_sym131__; double lcm_sym130__; double lcm_sym129__; - double lcm_sym128__; - double lcm_sym127__; + int lcm_sym128__; + int lcm_sym127__; double lcm_sym126__; double lcm_sym125__; double lcm_sym124__; - int lcm_sym123__; + double lcm_sym123__; int lcm_sym122__; int lcm_sym121__; - int lcm_sym120__; - int lcm_sym119__; - int lcm_sym118__; - int lcm_sym117__; - int lcm_sym116__; - int lcm_sym115__; - int lcm_sym114__; - int lcm_sym113__; - int lcm_sym112__; - int lcm_sym111__; - int lcm_sym110__; - int lcm_sym109__; - int lcm_sym108__; - int lcm_sym107__; - int lcm_sym106__; - int lcm_sym105__; + double lcm_sym120__; + double lcm_sym119__; + double lcm_sym118__; + double lcm_sym117__; + double lcm_sym116__; + double lcm_sym115__; + double lcm_sym114__; + double lcm_sym113__; + double lcm_sym112__; + double lcm_sym111__; + double lcm_sym110__; + double lcm_sym109__; + double lcm_sym108__; + double lcm_sym107__; + double lcm_sym106__; + double lcm_sym105__; int lcm_sym104__; int lcm_sym103__; + int lcm_sym102__; + int lcm_sym101__; + int lcm_sym100__; + int lcm_sym99__; + int lcm_sym98__; + int lcm_sym97__; + int lcm_sym96__; + int lcm_sym95__; + int lcm_sym94__; + int lcm_sym93__; + int lcm_sym92__; + int lcm_sym91__; + int lcm_sym90__; + int lcm_sym89__; + int lcm_sym88__; + int lcm_sym87__; + int lcm_sym86__; + int lcm_sym85__; + int lcm_sym84__; local_scalar_t__ mean_p; mean_p = DUMMY_VAR__; @@ -17940,16 +16725,16 @@ class fails_test_model final : public model_base_crtp { chi = Eigen::Matrix(nind, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - lcm_sym104__ = logical_gte(nind, 1); - if (lcm_sym104__) { - lcm_sym141__ = rvalue(first, "first", index_uni(1)); - lcm_sym117__ = (lcm_sym141__ - 1); - if (logical_gte(lcm_sym117__, 1)) { + lcm_sym85__ = logical_gte(nind, 1); + if (lcm_sym85__) { + lcm_sym122__ = rvalue(first, "first", index_uni(1)); + lcm_sym98__ = (lcm_sym122__ - 1); + if (logical_gte(lcm_sym98__, 1)) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(1)); current_statement__ = 7; assign(p, 0, "assigning variable p", index_uni(1), index_uni(1)); - for (int t = 2; t <= lcm_sym117__; ++t) { + for (int t = 2; t <= lcm_sym98__; ++t) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(t)); @@ -17957,17 +16742,17 @@ class fails_test_model final : public model_base_crtp { assign(p, 0, "assigning variable p", index_uni(1), index_uni(t)); } } - lcm_sym115__ = (n_occasions - 1); - if (logical_gte(lcm_sym115__, lcm_sym141__)) { + lcm_sym96__ = (n_occasions - 1); + if (logical_gte(lcm_sym96__, lcm_sym122__)) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", - index_uni(rvalue(x, "x", index_uni(1), index_uni(lcm_sym141__)))), - "assigning variable phi", index_uni(1), index_uni(lcm_sym141__)); - lcm_sym123__ = (lcm_sym141__ + 1); + index_uni(rvalue(x, "x", index_uni(1), index_uni(lcm_sym122__)))), + "assigning variable phi", index_uni(1), index_uni(lcm_sym122__)); + lcm_sym104__ = (lcm_sym122__ + 1); assign(p, mean_p, - "assigning variable p", index_uni(1), index_uni(lcm_sym141__)); - for (int t = lcm_sym123__; t <= lcm_sym115__; ++t) { + "assigning variable p", index_uni(1), index_uni(lcm_sym122__)); + for (int t = lcm_sym104__; t <= lcm_sym96__; ++t) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", @@ -17979,15 +16764,15 @@ class fails_test_model final : public model_base_crtp { } } for (int i = 2; i <= nind; ++i) { - lcm_sym140__ = rvalue(first, "first", index_uni(i)); - lcm_sym116__ = (lcm_sym140__ - 1); - if (logical_gte(lcm_sym116__, 1)) { + lcm_sym121__ = rvalue(first, "first", index_uni(i)); + lcm_sym97__ = (lcm_sym121__ - 1); + if (logical_gte(lcm_sym97__, 1)) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(i), index_uni(1)); current_statement__ = 7; assign(p, 0, "assigning variable p", index_uni(i), index_uni(1)); - for (int t = 2; t <= lcm_sym116__; ++t) { + for (int t = 2; t <= lcm_sym97__; ++t) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(i), index_uni(t)); @@ -17996,17 +16781,17 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 12; - if (logical_gte(lcm_sym115__, lcm_sym140__)) { + if (logical_gte(lcm_sym96__, lcm_sym121__)) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", index_uni(rvalue(x, "x", - index_uni(i), index_uni(lcm_sym140__)))), - "assigning variable phi", index_uni(i), index_uni(lcm_sym140__)); - lcm_sym122__ = (lcm_sym140__ + 1); + index_uni(i), index_uni(lcm_sym121__)))), + "assigning variable phi", index_uni(i), index_uni(lcm_sym121__)); + lcm_sym103__ = (lcm_sym121__ + 1); assign(p, mean_p, - "assigning variable p", index_uni(i), index_uni(lcm_sym140__)); - for (int t = lcm_sym122__; t <= lcm_sym115__; ++t) { + "assigning variable p", index_uni(i), index_uni(lcm_sym121__)); + for (int t = lcm_sym103__; t <= lcm_sym96__; ++t) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", @@ -18038,57 +16823,57 @@ class fails_test_model final : public model_base_crtp { assign(inline_sym10__, 1.0, "assigning variable inline_sym10__", index_uni(inline_sym14__), index_uni(n_occasions)); - lcm_sym115__ = (n_occasions - 1); - if (logical_gte(lcm_sym115__, 1)) { + lcm_sym96__ = (n_occasions - 1); + if (logical_gte(lcm_sym96__, 1)) { int inline_sym11__; inline_sym11__ = std::numeric_limits::min(); int inline_sym12__; inline_sym12__ = std::numeric_limits::min(); - lcm_sym119__ = (lcm_sym115__ + 1); + lcm_sym100__ = (lcm_sym96__ + 1); current_statement__ = 20; assign(inline_sym10__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym115__)) * + index_uni(inline_sym14__), index_uni(lcm_sym96__)) * (1 - rvalue(p, "p", index_uni(inline_sym14__), - index_uni((lcm_sym119__ - 1))))), + index_uni((lcm_sym100__ - 1))))), rvalue(inline_sym10__, "inline_sym10__", - index_uni(inline_sym14__), index_uni(lcm_sym119__)), + index_uni(inline_sym14__), index_uni(lcm_sym100__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym115__)))), + index_uni(inline_sym14__), index_uni(lcm_sym96__)))), "assigning variable inline_sym10__", index_uni(inline_sym14__), - index_uni(lcm_sym115__)); - for (int inline_sym13__ = 2; inline_sym13__ <= lcm_sym115__; + index_uni(lcm_sym96__)); + for (int inline_sym13__ = 2; inline_sym13__ <= lcm_sym96__; ++inline_sym13__) { int inline_sym11__; inline_sym11__ = std::numeric_limits::min(); - lcm_sym114__ = (n_occasions - inline_sym13__); + lcm_sym95__ = (n_occasions - inline_sym13__); int inline_sym12__; inline_sym12__ = std::numeric_limits::min(); - lcm_sym118__ = (lcm_sym114__ + 1); + lcm_sym99__ = (lcm_sym95__ + 1); current_statement__ = 20; assign(inline_sym10__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym114__)) * + index_uni(inline_sym14__), index_uni(lcm_sym95__)) * (1 - rvalue(p, "p", index_uni(inline_sym14__), - index_uni((lcm_sym118__ - 1))))), + index_uni((lcm_sym99__ - 1))))), rvalue(inline_sym10__, "inline_sym10__", - index_uni(inline_sym14__), index_uni(lcm_sym118__)), + index_uni(inline_sym14__), index_uni(lcm_sym99__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym114__)))), + index_uni(inline_sym14__), index_uni(lcm_sym95__)))), "assigning variable inline_sym10__", index_uni(inline_sym14__), - index_uni(lcm_sym114__)); + index_uni(lcm_sym95__)); } } if (inline_sym15__) { @@ -18105,15 +16890,15 @@ class fails_test_model final : public model_base_crtp { } assign(chi, inline_sym9__, "assigning variable chi"); current_statement__ = 3; - if (lcm_sym104__) { - lcm_sym115__ = (n_occasions - 1); - lcm_sym105__ = logical_gte(lcm_sym115__, 1); - if (lcm_sym105__) { + if (lcm_sym85__) { + lcm_sym96__ = (n_occasions - 1); + lcm_sym86__ = logical_gte(lcm_sym96__, 1); + if (lcm_sym86__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -18122,12 +16907,12 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 3; - if (lcm_sym105__) { + if (lcm_sym86__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -18138,15 +16923,15 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 3; - if (lcm_sym104__) { - lcm_sym115__ = (n_occasions - 1); - lcm_sym105__ = logical_gte(lcm_sym115__, 1); - if (lcm_sym105__) { + if (lcm_sym85__) { + lcm_sym96__ = (n_occasions - 1); + lcm_sym86__ = logical_gte(lcm_sym96__, 1); + if (lcm_sym86__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -18155,12 +16940,12 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 3; - if (lcm_sym105__) { + if (lcm_sym86__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -18170,15 +16955,15 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 4; - if (lcm_sym104__) { - lcm_sym115__ = (n_occasions - 1); - lcm_sym105__ = logical_gte(lcm_sym115__, 1); - if (lcm_sym105__) { + if (lcm_sym85__) { + lcm_sym96__ = (n_occasions - 1); + lcm_sym86__ = logical_gte(lcm_sym96__, 1); + if (lcm_sym86__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -18187,12 +16972,12 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 4; - if (lcm_sym105__) { + if (lcm_sym86__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -18203,14 +16988,14 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 4; - if (lcm_sym104__) { - lcm_sym115__ = (n_occasions - 1); - lcm_sym105__ = logical_gte(lcm_sym115__, 1); - if (lcm_sym105__) { + if (lcm_sym85__) { + lcm_sym96__ = (n_occasions - 1); + lcm_sym86__ = logical_gte(lcm_sym96__, 1); + if (lcm_sym86__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -18219,12 +17004,12 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 4; - if (lcm_sym105__) { + if (lcm_sym86__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym115__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym96__; ++sym2__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -18234,9 +17019,9 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 5; - if (lcm_sym104__) { - lcm_sym103__ = logical_gte(n_occasions, 1); - if (lcm_sym103__) { + if (lcm_sym85__) { + lcm_sym84__ = logical_gte(n_occasions, 1); + if (lcm_sym84__) { current_statement__ = 5; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -18250,7 +17035,7 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 5; - if (lcm_sym103__) { + if (lcm_sym84__) { current_statement__ = 5; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -18266,9 +17051,9 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 5; - if (lcm_sym104__) { - lcm_sym103__ = logical_gte(n_occasions, 1); - if (lcm_sym103__) { + if (lcm_sym85__) { + lcm_sym84__ = logical_gte(n_occasions, 1); + if (lcm_sym84__) { current_statement__ = 5; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -18282,7 +17067,7 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 5; - if (lcm_sym103__) { + if (lcm_sym84__) { current_statement__ = 5; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -18298,23 +17083,23 @@ class fails_test_model final : public model_base_crtp { } { current_statement__ = 30; - if (lcm_sym104__) { - lcm_sym141__ = rvalue(first, "first", index_uni(1)); - if (logical_gt(lcm_sym141__, 0)) { - lcm_sym147__ = rvalue(last, "last", index_uni(1)); - lcm_sym123__ = (lcm_sym141__ + 1); - if (logical_gte(lcm_sym147__, lcm_sym123__)) { + if (lcm_sym85__) { + lcm_sym122__ = rvalue(first, "first", index_uni(1)); + if (logical_gt(lcm_sym122__, 0)) { + lcm_sym128__ = rvalue(last, "last", index_uni(1)); + lcm_sym104__ = (lcm_sym122__ + 1); + if (logical_gte(lcm_sym128__, lcm_sym104__)) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", - index_uni(1), index_uni((lcm_sym123__ - 1))))); - lcm_sym121__ = (lcm_sym123__ + 1); + index_uni(1), index_uni((lcm_sym104__ - 1))))); + lcm_sym102__ = (lcm_sym104__ + 1); lp_accum__.add( bernoulli_lpmf( - rvalue(y, "y", index_uni(1), index_uni(lcm_sym123__)), - rvalue(p, "p", index_uni(1), index_uni((lcm_sym123__ - 1))))); - for (int t = lcm_sym121__; t <= lcm_sym147__; ++t) { + rvalue(y, "y", index_uni(1), index_uni(lcm_sym104__)), + rvalue(p, "p", index_uni(1), index_uni((lcm_sym104__ - 1))))); + for (int t = lcm_sym102__; t <= lcm_sym128__; ++t) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, @@ -18330,26 +17115,26 @@ class fails_test_model final : public model_base_crtp { lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym9__, "inline_sym9__", - index_uni(1), index_uni(lcm_sym147__)))); + index_uni(1), index_uni(lcm_sym128__)))); } for (int i = 2; i <= nind; ++i) { - lcm_sym140__ = rvalue(first, "first", index_uni(i)); - if (logical_gt(lcm_sym140__, 0)) { - lcm_sym146__ = rvalue(last, "last", index_uni(i)); - lcm_sym122__ = (lcm_sym140__ + 1); - if (logical_gte(lcm_sym146__, lcm_sym122__)) { + lcm_sym121__ = rvalue(first, "first", index_uni(i)); + if (logical_gt(lcm_sym121__, 0)) { + lcm_sym127__ = rvalue(last, "last", index_uni(i)); + lcm_sym103__ = (lcm_sym121__ + 1); + if (logical_gte(lcm_sym127__, lcm_sym103__)) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", - index_uni(i), index_uni((lcm_sym122__ - 1))))); - lcm_sym120__ = (lcm_sym122__ + 1); + index_uni(i), index_uni((lcm_sym103__ - 1))))); + lcm_sym101__ = (lcm_sym103__ + 1); lp_accum__.add( bernoulli_lpmf( - rvalue(y, "y", index_uni(i), index_uni(lcm_sym122__)), + rvalue(y, "y", index_uni(i), index_uni(lcm_sym103__)), rvalue(p, "p", - index_uni(i), index_uni((lcm_sym122__ - 1))))); - for (int t = lcm_sym120__; t <= lcm_sym146__; ++t) { + index_uni(i), index_uni((lcm_sym103__ - 1))))); + for (int t = lcm_sym101__; t <= lcm_sym127__; ++t) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, @@ -18365,7 +17150,7 @@ class fails_test_model final : public model_base_crtp { lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym9__, "inline_sym9__", - index_uni(i), index_uni(lcm_sym146__)))); + index_uni(i), index_uni(lcm_sym127__)))); } } } @@ -18389,8 +17174,8 @@ class fails_test_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -18404,29 +17189,10 @@ class fails_test_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym102__; - double lcm_sym101__; - double lcm_sym100__; - double lcm_sym99__; - double lcm_sym98__; - double lcm_sym97__; - double lcm_sym96__; - double lcm_sym95__; - double lcm_sym94__; - double lcm_sym93__; - double lcm_sym92__; - double lcm_sym91__; - double lcm_sym90__; - double lcm_sym89__; - double lcm_sym88__; - double lcm_sym87__; - double lcm_sym86__; - double lcm_sym85__; - double lcm_sym84__; double lcm_sym83__; double lcm_sym82__; - int lcm_sym81__; - int lcm_sym80__; + double lcm_sym81__; + double lcm_sym80__; double lcm_sym79__; double lcm_sym78__; double lcm_sym77__; @@ -18437,12 +17203,12 @@ class fails_test_model final : public model_base_crtp { double lcm_sym72__; int lcm_sym71__; int lcm_sym70__; - int lcm_sym69__; - int lcm_sym68__; - int lcm_sym67__; - int lcm_sym66__; - int lcm_sym65__; - int lcm_sym64__; + double lcm_sym69__; + double lcm_sym68__; + double lcm_sym67__; + double lcm_sym66__; + double lcm_sym65__; + double lcm_sym64__; int lcm_sym63__; int lcm_sym62__; int lcm_sym61__; @@ -18453,6 +17219,13 @@ class fails_test_model final : public model_base_crtp { int lcm_sym56__; int lcm_sym55__; int lcm_sym54__; + int lcm_sym53__; + int lcm_sym52__; + int lcm_sym51__; + int lcm_sym50__; + int lcm_sym49__; + int lcm_sym48__; + int lcm_sym47__; double mean_p; mean_p = std::numeric_limits::quiet_NaN(); @@ -18478,27 +17251,22 @@ class fails_test_model final : public model_base_crtp { chi = Eigen::Matrix(nind, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - vars__.emplace_back(mean_p); - if (logical_gte(max_age, 1)) { - vars__.emplace_back(rvalue(beta, "beta", index_uni(1))); - for (int sym1__ = 2; sym1__ <= max_age; ++sym1__) { - vars__.emplace_back(beta[(sym1__ - 1)]); - } - } + out__.write(mean_p); + out__.write(beta); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - lcm_sym56__ = logical_gte(nind, 1); - if (lcm_sym56__) { - lcm_sym81__ = rvalue(first, "first", index_uni(1)); - lcm_sym65__ = (lcm_sym81__ - 1); - if (logical_gte(lcm_sym65__, 1)) { + lcm_sym48__ = logical_gte(nind, 1); + if (lcm_sym48__) { + lcm_sym71__ = rvalue(first, "first", index_uni(1)); + lcm_sym57__ = (lcm_sym71__ - 1); + if (logical_gte(lcm_sym57__, 1)) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(1)); current_statement__ = 7; assign(p, 0, "assigning variable p", index_uni(1), index_uni(1)); - for (int t = 2; t <= lcm_sym65__; ++t) { + for (int t = 2; t <= lcm_sym57__; ++t) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(t)); @@ -18506,17 +17274,17 @@ class fails_test_model final : public model_base_crtp { assign(p, 0, "assigning variable p", index_uni(1), index_uni(t)); } } - lcm_sym63__ = (n_occasions - 1); - if (logical_gte(lcm_sym63__, lcm_sym81__)) { + lcm_sym55__ = (n_occasions - 1); + if (logical_gte(lcm_sym55__, lcm_sym71__)) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", - index_uni(rvalue(x, "x", index_uni(1), index_uni(lcm_sym81__)))), - "assigning variable phi", index_uni(1), index_uni(lcm_sym81__)); - lcm_sym71__ = (lcm_sym81__ + 1); + index_uni(rvalue(x, "x", index_uni(1), index_uni(lcm_sym71__)))), + "assigning variable phi", index_uni(1), index_uni(lcm_sym71__)); + lcm_sym63__ = (lcm_sym71__ + 1); assign(p, mean_p, - "assigning variable p", index_uni(1), index_uni(lcm_sym81__)); - for (int t = lcm_sym71__; t <= lcm_sym63__; ++t) { + "assigning variable p", index_uni(1), index_uni(lcm_sym71__)); + for (int t = lcm_sym63__; t <= lcm_sym55__; ++t) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", @@ -18528,15 +17296,15 @@ class fails_test_model final : public model_base_crtp { } } for (int i = 2; i <= nind; ++i) { - lcm_sym80__ = rvalue(first, "first", index_uni(i)); - lcm_sym64__ = (lcm_sym80__ - 1); - if (logical_gte(lcm_sym64__, 1)) { + lcm_sym70__ = rvalue(first, "first", index_uni(i)); + lcm_sym56__ = (lcm_sym70__ - 1); + if (logical_gte(lcm_sym56__, 1)) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(i), index_uni(1)); current_statement__ = 7; assign(p, 0, "assigning variable p", index_uni(i), index_uni(1)); - for (int t = 2; t <= lcm_sym64__; ++t) { + for (int t = 2; t <= lcm_sym56__; ++t) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(i), index_uni(t)); @@ -18545,17 +17313,17 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 12; - if (logical_gte(lcm_sym63__, lcm_sym80__)) { + if (logical_gte(lcm_sym55__, lcm_sym70__)) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", index_uni(rvalue(x, "x", - index_uni(i), index_uni(lcm_sym80__)))), - "assigning variable phi", index_uni(i), index_uni(lcm_sym80__)); - lcm_sym70__ = (lcm_sym80__ + 1); + index_uni(i), index_uni(lcm_sym70__)))), + "assigning variable phi", index_uni(i), index_uni(lcm_sym70__)); + lcm_sym62__ = (lcm_sym70__ + 1); assign(p, mean_p, - "assigning variable p", index_uni(i), index_uni(lcm_sym80__)); - for (int t = lcm_sym70__; t <= lcm_sym63__; ++t) { + "assigning variable p", index_uni(i), index_uni(lcm_sym70__)); + for (int t = lcm_sym62__; t <= lcm_sym55__; ++t) { current_statement__ = 9; assign(phi, rvalue(beta, "beta", @@ -18587,56 +17355,56 @@ class fails_test_model final : public model_base_crtp { assign(inline_sym2__, 1.0, "assigning variable inline_sym2__", index_uni(inline_sym6__), index_uni(n_occasions)); - lcm_sym63__ = (n_occasions - 1); - if (logical_gte(lcm_sym63__, 1)) { + lcm_sym55__ = (n_occasions - 1); + if (logical_gte(lcm_sym55__, 1)) { int inline_sym3__; inline_sym3__ = std::numeric_limits::min(); int inline_sym4__; inline_sym4__ = std::numeric_limits::min(); - lcm_sym69__ = (lcm_sym63__ + 1); + lcm_sym61__ = (lcm_sym55__ + 1); current_statement__ = 20; assign(inline_sym2__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym63__)) * + index_uni(inline_sym6__), index_uni(lcm_sym55__)) * (1 - rvalue(p, "p", - index_uni(inline_sym6__), index_uni((lcm_sym69__ - 1))))), + index_uni(inline_sym6__), index_uni((lcm_sym61__ - 1))))), rvalue(inline_sym2__, "inline_sym2__", - index_uni(inline_sym6__), index_uni(lcm_sym69__)), + index_uni(inline_sym6__), index_uni(lcm_sym61__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym63__)))), + index_uni(inline_sym6__), index_uni(lcm_sym55__)))), "assigning variable inline_sym2__", index_uni(inline_sym6__), - index_uni(lcm_sym63__)); - for (int inline_sym5__ = 2; inline_sym5__ <= lcm_sym63__; + index_uni(lcm_sym55__)); + for (int inline_sym5__ = 2; inline_sym5__ <= lcm_sym55__; ++inline_sym5__) { int inline_sym3__; inline_sym3__ = std::numeric_limits::min(); - lcm_sym62__ = (n_occasions - inline_sym5__); + lcm_sym54__ = (n_occasions - inline_sym5__); int inline_sym4__; inline_sym4__ = std::numeric_limits::min(); - lcm_sym68__ = (lcm_sym62__ + 1); + lcm_sym60__ = (lcm_sym54__ + 1); current_statement__ = 20; assign(inline_sym2__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym62__)) * + index_uni(inline_sym6__), index_uni(lcm_sym54__)) * (1 - rvalue(p, "p", index_uni(inline_sym6__), - index_uni((lcm_sym68__ - 1))))), + index_uni((lcm_sym60__ - 1))))), rvalue(inline_sym2__, "inline_sym2__", - index_uni(inline_sym6__), index_uni(lcm_sym68__)), + index_uni(inline_sym6__), index_uni(lcm_sym60__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym6__), index_uni(lcm_sym62__)))), + index_uni(inline_sym6__), index_uni(lcm_sym54__)))), "assigning variable inline_sym2__", index_uni(inline_sym6__), - index_uni(lcm_sym62__)); + index_uni(lcm_sym54__)); } } if (inline_sym7__) { @@ -18653,15 +17421,15 @@ class fails_test_model final : public model_base_crtp { } assign(chi, inline_sym1__, "assigning variable chi"); current_statement__ = 3; - if (lcm_sym56__) { - lcm_sym63__ = (n_occasions - 1); - lcm_sym57__ = logical_gte(lcm_sym63__, 1); - if (lcm_sym57__) { + if (lcm_sym48__) { + lcm_sym55__ = (n_occasions - 1); + lcm_sym49__ = logical_gte(lcm_sym55__, 1); + if (lcm_sym49__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -18670,12 +17438,12 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 3; - if (lcm_sym57__) { + if (lcm_sym49__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -18686,15 +17454,15 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 3; - if (lcm_sym56__) { - lcm_sym63__ = (n_occasions - 1); - lcm_sym57__ = logical_gte(lcm_sym63__, 1); - if (lcm_sym57__) { + if (lcm_sym48__) { + lcm_sym55__ = (n_occasions - 1); + lcm_sym49__ = logical_gte(lcm_sym55__, 1); + if (lcm_sym49__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -18703,12 +17471,12 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 3; - if (lcm_sym57__) { + if (lcm_sym49__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -18718,15 +17486,15 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 4; - if (lcm_sym56__) { - lcm_sym63__ = (n_occasions - 1); - lcm_sym57__ = logical_gte(lcm_sym63__, 1); - if (lcm_sym57__) { + if (lcm_sym48__) { + lcm_sym55__ = (n_occasions - 1); + lcm_sym49__ = logical_gte(lcm_sym55__, 1); + if (lcm_sym49__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -18735,12 +17503,12 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 4; - if (lcm_sym57__) { + if (lcm_sym49__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -18751,14 +17519,14 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 4; - if (lcm_sym56__) { - lcm_sym63__ = (n_occasions - 1); - lcm_sym57__ = logical_gte(lcm_sym63__, 1); - if (lcm_sym57__) { + if (lcm_sym48__) { + lcm_sym55__ = (n_occasions - 1); + lcm_sym49__ = logical_gte(lcm_sym55__, 1); + if (lcm_sym49__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -18767,12 +17535,12 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 4; - if (lcm_sym57__) { + if (lcm_sym49__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym63__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym55__; ++sym2__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -18782,9 +17550,9 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 5; - if (lcm_sym56__) { - lcm_sym55__ = logical_gte(n_occasions, 1); - if (lcm_sym55__) { + if (lcm_sym48__) { + lcm_sym47__ = logical_gte(n_occasions, 1); + if (lcm_sym47__) { current_statement__ = 5; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -18798,7 +17566,7 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 5; - if (lcm_sym55__) { + if (lcm_sym47__) { current_statement__ = 5; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -18814,9 +17582,9 @@ class fails_test_model final : public model_base_crtp { } } current_statement__ = 5; - if (lcm_sym56__) { - lcm_sym55__ = logical_gte(n_occasions, 1); - if (lcm_sym55__) { + if (lcm_sym48__) { + lcm_sym47__ = logical_gte(n_occasions, 1); + if (lcm_sym47__) { current_statement__ = 5; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -18830,7 +17598,7 @@ class fails_test_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 5; - if (lcm_sym55__) { + if (lcm_sym47__) { current_statement__ = 5; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -18844,72 +17612,10 @@ class fails_test_model final : public model_base_crtp { } } } - if (emit_transformed_parameters__) { - lcm_sym63__ = (n_occasions - 1); - lcm_sym57__ = logical_gte(lcm_sym63__, 1); - if (lcm_sym57__) { - if (lcm_sym56__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= lcm_sym63__; ++sym1__) { - if (lcm_sym56__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (lcm_sym57__) { - if (lcm_sym56__) { - vars__.emplace_back(rvalue(p, "p", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(p, "p", index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= lcm_sym63__; ++sym1__) { - if (lcm_sym56__) { - vars__.emplace_back( - rvalue(p, "p", index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(p, "p", index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (logical_gte(n_occasions, 1)) { - if (lcm_sym56__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - if (lcm_sym56__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(sym2__), index_uni(sym1__))); - } - } - } - } + if (emit_transformed_parameters__) { + out__.write(phi); + out__.write(p); + out__.write(inline_sym1__); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -18924,87 +17630,39 @@ class fails_test_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym53__; - double lcm_sym52__; - double lcm_sym51__; - double lcm_sym50__; - double lcm_sym49__; - double lcm_sym48__; - int lcm_sym47__; int lcm_sym46__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double mean_p; - mean_p = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_p = context__.vals_r("mean_p")[(1 - 1)]; - double mean_p_free__; - mean_p_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_p_free__ = stan::math::lub_free(mean_p, 0, 1); - Eigen::Matrix beta; - beta = Eigen::Matrix(max_age); - stan::math::fill(beta, std::numeric_limits::quiet_NaN()); + local_scalar_t__ mean_p; + mean_p = DUMMY_VAR__; - { - std::vector beta_flat__; - current_statement__ = 2; - beta_flat__ = context__.vals_r("beta"); - current_statement__ = 2; - pos__ = 1; - lcm_sym46__ = logical_gte(max_age, 1); - if (lcm_sym46__) { - current_statement__ = 2; - assign(beta, rvalue(beta_flat__, "beta_flat__", index_uni(1)), - "assigning variable beta", index_uni(1)); - current_statement__ = 2; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= max_age; ++sym1__) { - current_statement__ = 2; - assign(beta, beta_flat__[(pos__ - 1)], - "assigning variable beta", index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix beta_free__; - beta_free__ = Eigen::Matrix(max_age); - stan::math::fill(beta_free__, std::numeric_limits::quiet_NaN()); + mean_p = in__.read(); + out__.write_free_lub(0, 1, mean_p); + Eigen::Matrix beta; + beta = Eigen::Matrix(max_age); + stan::math::fill(beta, DUMMY_VAR__); - current_statement__ = 2; - if (lcm_sym46__) { - current_statement__ = 2; - assign(beta_free__, - stan::math::lub_free(rvalue(beta, "beta", index_uni(1)), 0, 1), - "assigning variable beta_free__", index_uni(1)); - for (int sym1__ = 2; sym1__ <= max_age; ++sym1__) { - current_statement__ = 2; - assign(beta_free__, stan::math::lub_free(beta[(sym1__ - 1)], 0, 1), - "assigning variable beta_free__", index_uni(sym1__)); - } - } - vars__.emplace_back(mean_p_free__); - if (lcm_sym46__) { - vars__.emplace_back( - rvalue(beta_free__, "beta_free__", index_uni(1))); + if (logical_gte(max_age, 1)) { + assign(beta, in__.read(), + "assigning variable beta", index_uni(1)); for (int sym1__ = 2; sym1__ <= max_age; ++sym1__) { - vars__.emplace_back(beta_free__[(sym1__ - 1)]); + assign(beta, in__.read(), + "assigning variable beta", index_uni(sym1__)); } } + out__.write_free_lub(0, 1, beta); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -19038,35 +17696,35 @@ class fails_test_model final : public model_base_crtp { final { param_names__.emplace_back(std::string() + "mean_p"); - for (int sym187__ = 1; sym187__ <= max_age; ++sym187__) { + for (int sym168__ = 1; sym168__ <= max_age; ++sym168__) { { - param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym168__)); } } if (emit_transformed_parameters__) { - for (int sym187__ = 1; sym187__ <= n_occ_minus_1; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occ_minus_1; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } } - for (int sym187__ = 1; sym187__ <= n_occ_minus_1; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occ_minus_1; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } } - for (int sym187__ = 1; sym187__ <= n_occasions; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occasions; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } @@ -19086,35 +17744,35 @@ class fails_test_model final : public model_base_crtp { final { param_names__.emplace_back(std::string() + "mean_p"); - for (int sym187__ = 1; sym187__ <= max_age; ++sym187__) { + for (int sym168__ = 1; sym168__ <= max_age; ++sym168__) { { - param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym168__)); } } if (emit_transformed_parameters__) { - for (int sym187__ = 1; sym187__ <= n_occ_minus_1; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occ_minus_1; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } } - for (int sym187__ = 1; sym187__ <= n_occ_minus_1; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occ_minus_1; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } } - for (int sym187__ = 1; sym187__ <= n_occasions; ++sym187__) { + for (int sym168__ = 1; sym168__ <= n_occasions; ++sym168__) { { - for (int sym188__ = 1; sym188__ <= nind; ++sym188__) { + for (int sym169__ = 1; sym169__ <= nind; ++sym169__) { { - param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym188__) + '.' + std::to_string(sym187__)); + param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym169__) + '.' + std::to_string(sym168__)); } } } @@ -19148,8 +17806,17 @@ class fails_test_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (1 + max_age); + const size_t num_transformed = (((nind * + n_occ_minus_1) + + (nind * + n_occ_minus_1)) + + (nind * n_occasions)); + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -19164,8 +17831,18 @@ class fails_test_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (1 + max_age); + const size_t num_transformed = (((nind * + n_occ_minus_1) + + (nind * + n_occ_minus_1)) + + (nind * n_occasions)); + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -19186,20 +17863,32 @@ class fails_test_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mean_p", + "beta", "phi", "p", "chi"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = fails_test_model_namespace::fails_test_model; @@ -19243,7 +17932,7 @@ using namespace stan::math; stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = +static constexpr std::array locations_array__ = {" (found before start of program)", " (in 'inlining-fail2.stan', line 177, column 2 to column 33)", " (in 'inlining-fail2.stan', line 178, column 2 to column 31)", @@ -19255,7 +17944,6 @@ static constexpr std::array locations_array__ = " (in 'inlining-fail2.stan', line 189, column 2 to column 46)", " (in 'inlining-fail2.stan', line 194, column 6 to column 58)", " (in 'inlining-fail2.stan', line 193, column 4 to line 194, column 58)", - " (in 'inlining-fail2.stan', line 192, column 2 to line 194, column 58)", " (in 'inlining-fail2.stan', line 49, column 4 to column 24)", " (in 'inlining-fail2.stan', line 50, column 4 to column 30)", " (in 'inlining-fail2.stan', line 51, column 11 to column 16)", @@ -19407,20 +18095,20 @@ first_capture(const std::vector& y_i, std::ostream* pstream__) { { lcm_sym51__ = size(y_i); if (logical_gte(lcm_sym51__, 1)) { - current_statement__ = 59; + current_statement__ = 58; if (rvalue(y_i, "y_i", index_uni(1))) { - current_statement__ = 58; + current_statement__ = 57; return 1; } for (int k = 2; k <= lcm_sym51__; ++k) { - current_statement__ = 59; + current_statement__ = 58; if (rvalue(y_i, "y_i", index_uni(k))) { - current_statement__ = 58; + current_statement__ = 57; return k; } } } - current_statement__ = 134; + current_statement__ = 133; return 0; } } catch (const std::exception& e) { @@ -19461,9 +18149,9 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { k = std::numeric_limits::min(); lcm_sym56__ = (size(y_i) - 0); - current_statement__ = 116; + current_statement__ = 115; if (y_i[(lcm_sym56__ - 1)]) { - current_statement__ = 115; + current_statement__ = 114; return lcm_sym56__; } for (int k_rev = 1; k_rev <= lcm_sym57__; ++k_rev) { @@ -19471,14 +18159,14 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { k = std::numeric_limits::min(); lcm_sym55__ = (size(y_i) - k_rev); - current_statement__ = 116; + current_statement__ = 115; if (y_i[(lcm_sym55__ - 1)]) { - current_statement__ = 115; + current_statement__ = 114; return lcm_sym55__; } } } - current_statement__ = 135; + current_statement__ = 134; return 0; } } catch (const std::exception& e) { @@ -19534,17 +18222,17 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, lcm_sym66__ = cols(p); n_occasions = lcm_sym66__; - current_statement__ = 14; + current_statement__ = 13; validate_non_negative_index("chi", "n_ind", lcm_sym71__); - current_statement__ = 15; + current_statement__ = 14; validate_non_negative_index("chi", "n_occasions", lcm_sym66__); Eigen::Matrix chi; chi = Eigen::Matrix(lcm_sym71__, lcm_sym66__); stan::math::fill(chi, DUMMY_VAR__); - current_statement__ = 137; + current_statement__ = 136; if (logical_gte(lcm_sym71__, 1)) { - current_statement__ = 17; + current_statement__ = 16; assign(chi, 1.0, "assigning variable chi", index_uni(1), index_uni(lcm_sym66__)); lcm_sym63__ = (lcm_sym66__ - 1); @@ -19557,7 +18245,7 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, t_next = std::numeric_limits::min(); lcm_sym65__ = (lcm_sym63__ + 1); - current_statement__ = 20; + current_statement__ = 19; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(1), index_uni(lcm_sym63__)) * @@ -19574,7 +18262,7 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, t_next = std::numeric_limits::min(); lcm_sym64__ = (lcm_sym62__ + 1); - current_statement__ = 20; + current_statement__ = 19; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(1), index_uni(lcm_sym62__)) * @@ -19586,10 +18274,10 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, } } for (int i = 2; i <= lcm_sym71__; ++i) { - current_statement__ = 17; + current_statement__ = 16; assign(chi, 1.0, "assigning variable chi", index_uni(i), index_uni(lcm_sym66__)); - current_statement__ = 136; + current_statement__ = 135; if (lcm_sym60__) { int t_curr; t_curr = std::numeric_limits::min(); @@ -19598,7 +18286,7 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, t_next = std::numeric_limits::min(); lcm_sym65__ = (lcm_sym63__ + 1); - current_statement__ = 20; + current_statement__ = 19; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(i), index_uni(lcm_sym63__)) * @@ -19616,7 +18304,7 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, t_next = std::numeric_limits::min(); lcm_sym64__ = (lcm_sym62__ + 1); - current_statement__ = 20; + current_statement__ = 19; assign(chi, stan::math::fma( (rvalue(phi, "phi", index_uni(i), index_uni(lcm_sym62__)) * @@ -19631,7 +18319,7 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, } } } - current_statement__ = 138; + current_statement__ = 137; return chi; } } catch (const std::exception& e) { @@ -19732,7 +18420,7 @@ jolly_seber_lp(const std::vector>& y, lcm_sym121__ = rvalue(dims(y), "dims(y)", index_uni(2)); n_occasions = lcm_sym121__; - current_statement__ = 78; + current_statement__ = 77; validate_non_negative_index("qgamma", "n_occasions", lcm_sym121__); Eigen::Matrix qgamma; qgamma = Eigen::Matrix(lcm_sym121__); @@ -19740,9 +18428,9 @@ jolly_seber_lp(const std::vector>& y, assign(lcm_sym80__, subtract(1.0, gamma), "assigning variable lcm_sym80__"); - current_statement__ = 141; + current_statement__ = 140; if (logical_gte(lcm_sym120__, 1)) { - current_statement__ = 80; + current_statement__ = 79; validate_non_negative_index("qp", "n_occasions", lcm_sym121__); Eigen::Matrix qp; qp = Eigen::Matrix(lcm_sym121__); @@ -19753,15 +18441,15 @@ jolly_seber_lp(const std::vector>& y, "assigning variable lcm_sym82__"); lcm_sym117__ = rvalue(first, "first", index_uni(1)); if (lcm_sym117__) { - current_statement__ = 96; + current_statement__ = 95; if (logical_eq(lcm_sym117__, 1)) { - current_statement__ = 94; + current_statement__ = 93; lp_accum__.add( bernoulli_lpmf(1, (rvalue(gamma, "gamma", index_uni(1)) * rvalue(p, "p", index_uni(1), index_uni(1))))); } else { - current_statement__ = 88; + current_statement__ = 87; validate_non_negative_index("lp", "first[i]", lcm_sym117__); Eigen::Matrix lp; lp = Eigen::Matrix(lcm_sym117__); @@ -19782,9 +18470,9 @@ jolly_seber_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(p, "p", index_uni(1), index_uni(lcm_sym117__)))), "assigning variable lp", index_uni(1)); - current_statement__ = 140; + current_statement__ = 139; if (logical_gte(lcm_sym84__, 2)) { - current_statement__ = 90; + current_statement__ = 89; assign(lp, ((((bernoulli_lpmf(1, prod( @@ -19804,7 +18492,7 @@ jolly_seber_lp(const std::vector>& y, rvalue(p, "p", index_uni(1), index_uni(lcm_sym117__)))), "assigning variable lp", index_uni(2)); for (int t = 3; t <= lcm_sym84__; ++t) { - current_statement__ = 90; + current_statement__ = 89; assign(lp, ((((bernoulli_lpmf(1, prod( @@ -19825,7 +18513,7 @@ jolly_seber_lp(const std::vector>& y, "assigning variable lp", index_uni(t)); } } - current_statement__ = 91; + current_statement__ = 90; assign(lp, ((bernoulli_lpmf(1, prod( @@ -19835,12 +18523,12 @@ jolly_seber_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(p, "p", index_uni(1), index_uni(lcm_sym117__)))), "assigning variable lp", index_uni(lcm_sym117__)); - current_statement__ = 92; + current_statement__ = 91; lp_accum__.add(log_sum_exp(lp)); } lcm_sym119__ = rvalue(last, "last", index_uni(1)); if (logical_gte(lcm_sym119__, (lcm_sym117__ + 1))) { - current_statement__ = 97; + current_statement__ = 96; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", @@ -19851,18 +18539,18 @@ jolly_seber_lp(const std::vector>& y, rvalue(y, "y", index_uni(1), index_uni((lcm_sym117__ + 1))), rvalue(p, "p", index_uni(1), index_uni((lcm_sym117__ + 1))))); for (int t = lcm_sym100__; t <= lcm_sym119__; ++t) { - current_statement__ = 97; + current_statement__ = 96; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", index_uni(1), index_uni((t - 1))))); - current_statement__ = 98; + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", index_uni(1), index_uni(t)), rvalue(p, "p", index_uni(1), index_uni(t)))); } } - current_statement__ = 100; + current_statement__ = 99; lp_accum__.add( bernoulli_lpmf(1, rvalue(chi, "chi", index_uni(1), index_uni(lcm_sym119__)))); @@ -19873,7 +18561,7 @@ jolly_seber_lp(const std::vector>& y, lp = Eigen::Matrix(lcm_sym101__); stan::math::fill(lp, DUMMY_VAR__); - current_statement__ = 83; + current_statement__ = 82; assign(lp, ((bernoulli_lpmf(1, rvalue(gamma, "gamma", index_uni(1))) + @@ -19882,9 +18570,9 @@ jolly_seber_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(chi, "chi", index_uni(1), index_uni(1)))), "assigning variable lp", index_uni(1)); - current_statement__ = 139; + current_statement__ = 138; if (logical_gte(lcm_sym121__, 2)) { - current_statement__ = 84; + current_statement__ = 83; assign(lp, (((bernoulli_lpmf(1, prod( @@ -19898,7 +18586,7 @@ jolly_seber_lp(const std::vector>& y, rvalue(chi, "chi", index_uni(1), index_uni(2)))), "assigning variable lp", index_uni(2)); for (int t = 3; t <= lcm_sym121__; ++t) { - current_statement__ = 84; + current_statement__ = 83; assign(lp, (((bernoulli_lpmf(1, prod( @@ -19913,14 +18601,14 @@ jolly_seber_lp(const std::vector>& y, "assigning variable lp", index_uni(t)); } } - current_statement__ = 85; + current_statement__ = 84; assign(lp, bernoulli_lpmf(1, prod(lcm_sym80__)), "assigning variable lp", index_uni(lcm_sym101__)); - current_statement__ = 86; + current_statement__ = 85; lp_accum__.add(log_sum_exp(lp)); } for (int i = 2; i <= lcm_sym120__; ++i) { - current_statement__ = 80; + current_statement__ = 79; validate_non_negative_index("qp", "n_occasions", lcm_sym121__); Eigen::Matrix qp; qp = Eigen::Matrix(lcm_sym121__); @@ -19931,15 +18619,15 @@ jolly_seber_lp(const std::vector>& y, "assigning variable lcm_sym81__"); lcm_sym116__ = rvalue(first, "first", index_uni(i)); if (lcm_sym116__) { - current_statement__ = 96; + current_statement__ = 95; if (logical_eq(lcm_sym116__, 1)) { - current_statement__ = 94; + current_statement__ = 93; lp_accum__.add( bernoulli_lpmf(1, (rvalue(gamma, "gamma", index_uni(1)) * rvalue(p, "p", index_uni(i), index_uni(1))))); } else { - current_statement__ = 88; + current_statement__ = 87; validate_non_negative_index("lp", "first[i]", lcm_sym116__); Eigen::Matrix lp; lp = Eigen::Matrix(lcm_sym116__); @@ -19960,9 +18648,9 @@ jolly_seber_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(p, "p", index_uni(i), index_uni(lcm_sym116__)))), "assigning variable lp", index_uni(1)); - current_statement__ = 140; + current_statement__ = 139; if (logical_gte(lcm_sym83__, 2)) { - current_statement__ = 90; + current_statement__ = 89; assign(lp, ((((bernoulli_lpmf(1, prod( @@ -19982,7 +18670,7 @@ jolly_seber_lp(const std::vector>& y, rvalue(p, "p", index_uni(i), index_uni(lcm_sym116__)))), "assigning variable lp", index_uni(2)); for (int t = 3; t <= lcm_sym83__; ++t) { - current_statement__ = 90; + current_statement__ = 89; assign(lp, ((((bernoulli_lpmf(1, prod( @@ -20004,7 +18692,7 @@ jolly_seber_lp(const std::vector>& y, "assigning variable lp", index_uni(t)); } } - current_statement__ = 91; + current_statement__ = 90; assign(lp, ((bernoulli_lpmf(1, prod( @@ -20014,12 +18702,12 @@ jolly_seber_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(p, "p", index_uni(i), index_uni(lcm_sym116__)))), "assigning variable lp", index_uni(lcm_sym116__)); - current_statement__ = 92; + current_statement__ = 91; lp_accum__.add(log_sum_exp(lp)); } lcm_sym118__ = rvalue(last, "last", index_uni(i)); if (logical_gte(lcm_sym118__, (lcm_sym116__ + 1))) { - current_statement__ = 97; + current_statement__ = 96; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", @@ -20030,18 +18718,18 @@ jolly_seber_lp(const std::vector>& y, rvalue(y, "y", index_uni(i), index_uni((lcm_sym116__ + 1))), rvalue(p, "p", index_uni(i), index_uni((lcm_sym116__ + 1))))); for (int t = lcm_sym99__; t <= lcm_sym118__; ++t) { - current_statement__ = 97; + current_statement__ = 96; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", index_uni(i), index_uni((t - 1))))); - current_statement__ = 98; + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", index_uni(i), index_uni(t)), rvalue(p, "p", index_uni(i), index_uni(t)))); } } - current_statement__ = 100; + current_statement__ = 99; lp_accum__.add( bernoulli_lpmf(1, rvalue(chi, "chi", index_uni(i), index_uni(lcm_sym118__)))); @@ -20052,7 +18740,7 @@ jolly_seber_lp(const std::vector>& y, lp = Eigen::Matrix(lcm_sym101__); stan::math::fill(lp, DUMMY_VAR__); - current_statement__ = 83; + current_statement__ = 82; assign(lp, ((bernoulli_lpmf(1, rvalue(gamma, "gamma", index_uni(1))) + @@ -20061,9 +18749,9 @@ jolly_seber_lp(const std::vector>& y, bernoulli_lpmf(1, rvalue(chi, "chi", index_uni(i), index_uni(1)))), "assigning variable lp", index_uni(1)); - current_statement__ = 139; + current_statement__ = 138; if (logical_gte(lcm_sym121__, 2)) { - current_statement__ = 84; + current_statement__ = 83; assign(lp, (((bernoulli_lpmf(1, prod( @@ -20077,7 +18765,7 @@ jolly_seber_lp(const std::vector>& y, rvalue(chi, "chi", index_uni(i), index_uni(2)))), "assigning variable lp", index_uni(2)); for (int t = 3; t <= lcm_sym121__; ++t) { - current_statement__ = 84; + current_statement__ = 83; assign(lp, (((bernoulli_lpmf(1, prod( @@ -20092,10 +18780,10 @@ jolly_seber_lp(const std::vector>& y, "assigning variable lp", index_uni(t)); } } - current_statement__ = 85; + current_statement__ = 84; assign(lp, bernoulli_lpmf(1, prod(lcm_sym80__)), "assigning variable lp", index_uni(lcm_sym101__)); - current_statement__ = 86; + current_statement__ = 85; lp_accum__.add(log_sum_exp(lp)); } } @@ -20148,7 +18836,7 @@ seq_cprob(const T0__& gamma_arg__, std::ostream* pstream__) { lcm_sym128__ = rows(gamma); N = lcm_sym128__; - current_statement__ = 43; + current_statement__ = 42; validate_non_negative_index("log_cprob", "N", lcm_sym128__); Eigen::Matrix log_cprob; log_cprob = Eigen::Matrix(lcm_sym128__); @@ -20157,26 +18845,26 @@ seq_cprob(const T0__& gamma_arg__, std::ostream* pstream__) { local_scalar_t__ log_residual_prob; log_residual_prob = DUMMY_VAR__; - current_statement__ = 143; + current_statement__ = 142; if (logical_gte(lcm_sym128__, 1)) { - current_statement__ = 46; + current_statement__ = 45; assign(log_cprob, (stan::math::log(rvalue(gamma, "gamma", index_uni(1))) + 0), "assigning variable log_cprob", index_uni(1)); - current_statement__ = 47; + current_statement__ = 46; log_residual_prob = (0 + log1m(rvalue(gamma, "gamma", index_uni(1)))); for (int n = 2; n <= lcm_sym128__; ++n) { - current_statement__ = 46; + current_statement__ = 45; assign(log_cprob, (stan::math::log(rvalue(gamma, "gamma", index_uni(n))) + log_residual_prob), "assigning variable log_cprob", index_uni(n)); - current_statement__ = 47; + current_statement__ = 46; log_residual_prob = (log_residual_prob + log1m(rvalue(gamma, "gamma", index_uni(n)))); } } - current_statement__ = 144; + current_statement__ = 143; return stan::math::exp(log_cprob); } } catch (const std::exception& e) { @@ -20199,30 +18887,30 @@ return seq_cprob(gamma, pstream__); class inlining_fail2_model final : public model_base_crtp { private: - int lcm_sym339__; - int lcm_sym338__; - int lcm_sym337__; - int lcm_sym336__; - int lcm_sym335__; - int lcm_sym334__; - int lcm_sym333__; - int lcm_sym332__; - int lcm_sym331__; - int lcm_sym330__; - int lcm_sym329__; - int lcm_sym328__; - int lcm_sym327__; - int lcm_sym326__; - int lcm_sym325__; - int lcm_sym324__; - int lcm_sym323__; - int lcm_sym322__; - int lcm_sym321__; - int lcm_sym320__; - int lcm_sym319__; - int lcm_sym318__; - int lcm_sym317__; - int lcm_sym316__; + int lcm_sym306__; + int lcm_sym305__; + int lcm_sym304__; + int lcm_sym303__; + int lcm_sym302__; + int lcm_sym301__; + int lcm_sym300__; + int lcm_sym299__; + int lcm_sym298__; + int lcm_sym297__; + int lcm_sym296__; + int lcm_sym295__; + int lcm_sym294__; + int lcm_sym293__; + int lcm_sym292__; + int lcm_sym291__; + int lcm_sym290__; + int lcm_sym289__; + int lcm_sym288__; + int lcm_sym287__; + int lcm_sym286__; + int lcm_sym285__; + int lcm_sym284__; + int lcm_sym283__; int M; int n_occasions; std::vector> y; @@ -20283,29 +18971,29 @@ class inlining_fail2_model final : public model_base_crtp pos__ = std::numeric_limits::min(); pos__ = 1; - current_statement__ = 103; + current_statement__ = 102; context__.validate_dims("data initialization","M","int", std::vector{}); M = std::numeric_limits::min(); - current_statement__ = 103; + current_statement__ = 102; M = context__.vals_i("M")[(1 - 1)]; - current_statement__ = 103; + current_statement__ = 102; check_greater_or_equal(function__, "M", M, 0); - current_statement__ = 104; + current_statement__ = 103; context__.validate_dims("data initialization","n_occasions","int", std::vector{}); n_occasions = std::numeric_limits::min(); - current_statement__ = 104; + current_statement__ = 103; n_occasions = context__.vals_i("n_occasions")[(1 - 1)]; - current_statement__ = 104; + current_statement__ = 103; check_greater_or_equal(function__, "n_occasions", n_occasions, 0); - current_statement__ = 105; + current_statement__ = 104; validate_non_negative_index("y", "M", M); - current_statement__ = 106; + current_statement__ = 105; validate_non_negative_index("y", "n_occasions", n_occasions); - current_statement__ = 107; + current_statement__ = 106; context__.validate_dims("data initialization","y","int", std::vector{static_cast(M), static_cast(n_occasions)}); @@ -20314,132 +19002,132 @@ class inlining_fail2_model final : public model_base_crtp { std::vector y_flat__; - current_statement__ = 107; + current_statement__ = 106; y_flat__ = context__.vals_i("y"); - current_statement__ = 107; + current_statement__ = 106; pos__ = 1; - lcm_sym317__ = logical_gte(n_occasions, 1); - if (lcm_sym317__) { + lcm_sym284__ = logical_gte(n_occasions, 1); + if (lcm_sym284__) { { - lcm_sym316__ = logical_gte(M, 1); - if (lcm_sym316__) { - current_statement__ = 107; + lcm_sym283__ = logical_gte(M, 1); + if (lcm_sym283__) { + current_statement__ = 106; assign(y, rvalue(y_flat__, "y_flat__", index_uni(1)), "assigning variable y", index_uni(1), index_uni(1)); - current_statement__ = 107; + current_statement__ = 106; pos__ = 2; for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - current_statement__ = 107; + current_statement__ = 106; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(sym2__), index_uni(1)); - current_statement__ = 107; + current_statement__ = 106; pos__ = (pos__ + 1); } } for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - current_statement__ = 107; - if (lcm_sym316__) { - current_statement__ = 107; + current_statement__ = 106; + if (lcm_sym283__) { + current_statement__ = 106; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(1), index_uni(sym1__)); - current_statement__ = 107; + current_statement__ = 106; pos__ = (pos__ + 1); for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - current_statement__ = 107; + current_statement__ = 106; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 107; + current_statement__ = 106; pos__ = (pos__ + 1); } } } } } else { - lcm_sym316__ = logical_gte(M, 1); + lcm_sym283__ = logical_gte(M, 1); } } - current_statement__ = 107; - if (lcm_sym316__) { - current_statement__ = 107; - if (lcm_sym317__) { - current_statement__ = 107; + current_statement__ = 106; + if (lcm_sym283__) { + current_statement__ = 106; + if (lcm_sym284__) { + current_statement__ = 106; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 107; + current_statement__ = 106; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(sym2__)), 0); } } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - current_statement__ = 107; - if (lcm_sym317__) { - current_statement__ = 107; + current_statement__ = 106; + if (lcm_sym284__) { + current_statement__ = 106; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(sym1__), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 107; + current_statement__ = 106; check_greater_or_equal(function__, "y[sym1__, sym2__]", y[(sym1__ - 1)][(sym2__ - 1)], 0); } } } } - current_statement__ = 107; - if (lcm_sym316__) { - current_statement__ = 107; - if (lcm_sym317__) { - current_statement__ = 107; + current_statement__ = 106; + if (lcm_sym283__) { + current_statement__ = 106; + if (lcm_sym284__) { + current_statement__ = 106; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 107; + current_statement__ = 106; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(sym2__)), 1); } } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - current_statement__ = 107; - if (lcm_sym317__) { - current_statement__ = 107; + current_statement__ = 106; + if (lcm_sym284__) { + current_statement__ = 106; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(sym1__), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 107; + current_statement__ = 106; check_less_or_equal(function__, "y[sym1__, sym2__]", y[(sym1__ - 1)][(sym2__ - 1)], 1); } } } } - current_statement__ = 108; + current_statement__ = 107; validate_non_negative_index("first", "M", M); - current_statement__ = 109; + current_statement__ = 108; first = std::vector(M, std::numeric_limits::min()); - current_statement__ = 110; + current_statement__ = 109; validate_non_negative_index("last", "M", M); - current_statement__ = 111; + current_statement__ = 110; last = std::vector(M, std::numeric_limits::min()); - current_statement__ = 113; - if (lcm_sym316__) { + current_statement__ = 112; + if (lcm_sym283__) { int inline_sym41__; int inline_sym43__; inline_sym43__ = std::numeric_limits::min(); inline_sym43__ = 0; for (int inline_sym44__ = 1; inline_sym44__ <= 1; ++inline_sym44__) { - lcm_sym325__ = size(rvalue(y, "y", index_uni(1))); - for (int inline_sym42__ = 1; inline_sym42__ <= lcm_sym325__; + lcm_sym292__ = size(rvalue(y, "y", index_uni(1))); + for (int inline_sym42__ = 1; inline_sym42__ <= lcm_sym292__; ++inline_sym42__) { - current_statement__ = 59; + current_statement__ = 58; if (rvalue(y, "y", index_uni(1))[(inline_sym42__ - 1)]) { inline_sym43__ = 1; inline_sym41__ = inline_sym42__; @@ -20462,10 +19150,10 @@ class inlining_fail2_model final : public model_base_crtp inline_sym43__ = 0; for (int inline_sym44__ = 1; inline_sym44__ <= 1; ++inline_sym44__) { - lcm_sym324__ = size(rvalue(y, "y", index_uni(i))); - for (int inline_sym42__ = 1; inline_sym42__ <= lcm_sym324__; + lcm_sym291__ = size(rvalue(y, "y", index_uni(i))); + for (int inline_sym42__ = 1; inline_sym42__ <= lcm_sym291__; ++inline_sym42__) { - current_statement__ = 59; + current_statement__ = 58; if (rvalue(y, "y", index_uni(i))[(inline_sym42__ - 1)]) { inline_sym43__ = 1; inline_sym41__ = inline_sym42__; @@ -20483,27 +19171,27 @@ class inlining_fail2_model final : public model_base_crtp "assigning variable first", index_uni(i)); } } - current_statement__ = 120; - if (lcm_sym316__) { + current_statement__ = 119; + if (lcm_sym283__) { int inline_sym45__; int inline_sym48__; inline_sym48__ = std::numeric_limits::min(); inline_sym48__ = 0; for (int inline_sym49__ = 1; inline_sym49__ <= 1; ++inline_sym49__) { - lcm_sym325__ = size(rvalue(y, "y", index_uni(1))); - lcm_sym322__ = (lcm_sym325__ - 1); - for (int inline_sym47__ = 0; inline_sym47__ <= lcm_sym322__; + lcm_sym292__ = size(rvalue(y, "y", index_uni(1))); + lcm_sym289__ = (lcm_sym292__ - 1); + for (int inline_sym47__ = 0; inline_sym47__ <= lcm_sym289__; ++inline_sym47__) { int inline_sym46__; inline_sym46__ = std::numeric_limits::min(); - lcm_sym321__ = (lcm_sym325__ - inline_sym47__); - inline_sym46__ = lcm_sym321__; - current_statement__ = 116; - if (rvalue(y, "y", index_uni(1))[(lcm_sym321__ - 1)]) { + lcm_sym288__ = (lcm_sym292__ - inline_sym47__); + inline_sym46__ = lcm_sym288__; + current_statement__ = 115; + if (rvalue(y, "y", index_uni(1))[(lcm_sym288__ - 1)]) { inline_sym48__ = 1; - inline_sym45__ = lcm_sym321__; + inline_sym45__ = lcm_sym288__; break; } } @@ -20522,19 +19210,19 @@ class inlining_fail2_model final : public model_base_crtp inline_sym48__ = 0; for (int inline_sym49__ = 1; inline_sym49__ <= 1; ++inline_sym49__) { - lcm_sym324__ = size(rvalue(y, "y", index_uni(i))); - lcm_sym320__ = (lcm_sym324__ - 1); - for (int inline_sym47__ = 0; inline_sym47__ <= lcm_sym320__; + lcm_sym291__ = size(rvalue(y, "y", index_uni(i))); + lcm_sym287__ = (lcm_sym291__ - 1); + for (int inline_sym47__ = 0; inline_sym47__ <= lcm_sym287__; ++inline_sym47__) { int inline_sym46__; inline_sym46__ = std::numeric_limits::min(); - lcm_sym319__ = (lcm_sym324__ - inline_sym47__); - inline_sym46__ = lcm_sym319__; - current_statement__ = 116; - if (rvalue(y, "y", index_uni(i))[(lcm_sym319__ - 1)]) { + lcm_sym286__ = (lcm_sym291__ - inline_sym47__); + inline_sym46__ = lcm_sym286__; + current_statement__ = 115; + if (rvalue(y, "y", index_uni(i))[(lcm_sym286__ - 1)]) { inline_sym48__ = 1; - inline_sym45__ = lcm_sym319__; + inline_sym45__ = lcm_sym286__; break; } } @@ -20549,85 +19237,85 @@ class inlining_fail2_model final : public model_base_crtp "assigning variable last", index_uni(i)); } } - current_statement__ = 109; - if (lcm_sym316__) { - current_statement__ = 109; + current_statement__ = 108; + if (lcm_sym283__) { + current_statement__ = 108; check_greater_or_equal(function__, "first[sym1__]", rvalue(first, "first", index_uni(1)), 0); for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - current_statement__ = 109; + current_statement__ = 108; check_greater_or_equal(function__, "first[sym1__]", first[(sym1__ - 1)], 0); } } - current_statement__ = 109; - if (lcm_sym316__) { - current_statement__ = 109; + current_statement__ = 108; + if (lcm_sym283__) { + current_statement__ = 108; check_less_or_equal(function__, "first[sym1__]", rvalue(first, "first", index_uni(1)), n_occasions); for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - current_statement__ = 109; + current_statement__ = 108; check_less_or_equal(function__, "first[sym1__]", first[(sym1__ - 1)], n_occasions); } } - current_statement__ = 111; - if (lcm_sym316__) { - current_statement__ = 111; + current_statement__ = 110; + if (lcm_sym283__) { + current_statement__ = 110; check_greater_or_equal(function__, "last[sym1__]", rvalue(last, "last", index_uni(1)), 0); for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - current_statement__ = 111; + current_statement__ = 110; check_greater_or_equal(function__, "last[sym1__]", last[(sym1__ - 1)], 0); } } - current_statement__ = 111; - if (lcm_sym316__) { - current_statement__ = 111; + current_statement__ = 110; + if (lcm_sym283__) { + current_statement__ = 110; check_less_or_equal(function__, "last[sym1__]", rvalue(last, "last", index_uni(1)), n_occasions); for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - current_statement__ = 111; + current_statement__ = 110; check_less_or_equal(function__, "last[sym1__]", last[(sym1__ - 1)], n_occasions); } } - current_statement__ = 121; + current_statement__ = 120; validate_non_negative_index("gamma", "n_occasions", n_occasions); - current_statement__ = 122; + current_statement__ = 121; epsilon_1dim__ = std::numeric_limits::min(); - lcm_sym318__ = (n_occasions - 1); - epsilon_1dim__ = lcm_sym318__; + lcm_sym285__ = (n_occasions - 1); + epsilon_1dim__ = lcm_sym285__; + current_statement__ = 121; + validate_non_negative_index("epsilon", "n_occasions - 1", lcm_sym285__); current_statement__ = 122; - validate_non_negative_index("epsilon", "n_occasions - 1", lcm_sym318__); - current_statement__ = 123; validate_non_negative_index("phi", "M", M); - current_statement__ = 124; + current_statement__ = 123; phi_2dim__ = std::numeric_limits::min(); + current_statement__ = 123; + phi_2dim__ = lcm_sym285__; + current_statement__ = 123; + validate_non_negative_index("phi", "n_occasions - 1", lcm_sym285__); current_statement__ = 124; - phi_2dim__ = lcm_sym318__; - current_statement__ = 124; - validate_non_negative_index("phi", "n_occasions - 1", lcm_sym318__); - current_statement__ = 125; validate_non_negative_index("p", "M", M); - current_statement__ = 126; + current_statement__ = 125; validate_non_negative_index("p", "n_occasions", n_occasions); - current_statement__ = 127; + current_statement__ = 126; validate_non_negative_index("chi", "M", M); - current_statement__ = 128; + current_statement__ = 127; validate_non_negative_index("chi", "n_occasions", n_occasions); - current_statement__ = 129; + current_statement__ = 128; validate_non_negative_index("b", "n_occasions", n_occasions); - current_statement__ = 130; + current_statement__ = 129; validate_non_negative_index("N", "n_occasions", n_occasions); - current_statement__ = 131; + current_statement__ = 130; validate_non_negative_index("B", "n_occasions", n_occasions); - current_statement__ = 132; + current_statement__ = 131; validate_non_negative_index("z", "M", M); - current_statement__ = 133; + current_statement__ = 132; validate_non_negative_index("z", "n_occasions", n_occasions); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -20656,85 +19344,85 @@ class inlining_fail2_model final : public model_base_crtp (void) function__; // suppress unused var warning try { - double lcm_sym315__; - double lcm_sym314__; - double lcm_sym313__; - double lcm_sym312__; - int lcm_sym311__; - int lcm_sym310__; - double lcm_sym309__; - double lcm_sym308__; - double lcm_sym307__; - double lcm_sym306__; - int lcm_sym305__; - int lcm_sym304__; - double lcm_sym303__; - double lcm_sym302__; - double lcm_sym301__; - double lcm_sym300__; - int lcm_sym299__; - int lcm_sym298__; - int lcm_sym296__; - Eigen::Matrix lcm_sym295__; - double lcm_sym294__; - double lcm_sym293__; - local_scalar_t__ lcm_sym292__; - local_scalar_t__ lcm_sym291__; - double lcm_sym290__; - double lcm_sym289__; - int lcm_sym288__; - double lcm_sym287__; - double lcm_sym286__; - double lcm_sym285__; - double lcm_sym284__; - double lcm_sym283__; double lcm_sym282__; double lcm_sym281__; double lcm_sym280__; double lcm_sym279__; - double lcm_sym278__; - double lcm_sym277__; + int lcm_sym278__; + int lcm_sym277__; double lcm_sym276__; double lcm_sym275__; - int lcm_sym274__; - int lcm_sym273__; + double lcm_sym274__; + double lcm_sym273__; int lcm_sym272__; - double lcm_sym271__; + int lcm_sym271__; double lcm_sym270__; double lcm_sym269__; double lcm_sym268__; double lcm_sym267__; - double lcm_sym266__; - double lcm_sym265__; - double lcm_sym264__; - double lcm_sym263__; - double lcm_sym262__; + int lcm_sym266__; + int lcm_sym265__; + int lcm_sym263__; + Eigen::Matrix lcm_sym262__; double lcm_sym261__; double lcm_sym260__; - double lcm_sym259__; - double lcm_sym258__; - int lcm_sym257__; - int lcm_sym256__; + local_scalar_t__ lcm_sym259__; + local_scalar_t__ lcm_sym258__; + double lcm_sym257__; + double lcm_sym256__; int lcm_sym255__; - int lcm_sym254__; - int lcm_sym253__; - int lcm_sym252__; - Eigen::Matrix lcm_sym251__; - Eigen::Matrix lcm_sym250__; - Eigen::Matrix lcm_sym249__; - int lcm_sym297__; - int lcm_sym247__; - int lcm_sym246__; - int lcm_sym245__; - int lcm_sym244__; - int lcm_sym243__; - int lcm_sym242__; + double lcm_sym254__; + double lcm_sym253__; + double lcm_sym252__; + double lcm_sym251__; + double lcm_sym250__; + double lcm_sym249__; + double lcm_sym248__; + double lcm_sym247__; + double lcm_sym246__; + double lcm_sym245__; + double lcm_sym244__; + double lcm_sym243__; + double lcm_sym242__; int lcm_sym241__; int lcm_sym240__; int lcm_sym239__; - int lcm_sym238__; - int lcm_sym237__; - int lcm_sym236__; + double lcm_sym238__; + double lcm_sym237__; + double lcm_sym236__; + double lcm_sym235__; + double lcm_sym234__; + double lcm_sym233__; + double lcm_sym232__; + double lcm_sym231__; + double lcm_sym230__; + double lcm_sym229__; + double lcm_sym228__; + double lcm_sym227__; + double lcm_sym226__; + double lcm_sym225__; + int lcm_sym224__; + int lcm_sym223__; + int lcm_sym222__; + int lcm_sym221__; + int lcm_sym220__; + int lcm_sym219__; + Eigen::Matrix lcm_sym218__; + Eigen::Matrix lcm_sym217__; + Eigen::Matrix lcm_sym216__; + int lcm_sym264__; + int lcm_sym214__; + int lcm_sym213__; + int lcm_sym212__; + int lcm_sym211__; + int lcm_sym210__; + int lcm_sym209__; + int lcm_sym208__; + int lcm_sym207__; + int lcm_sym206__; + int lcm_sym205__; + int lcm_sym204__; + int lcm_sym203__; local_scalar_t__ mean_phi; mean_phi = DUMMY_VAR__; @@ -20758,9 +19446,9 @@ class inlining_fail2_model final : public model_base_crtp epsilon = Eigen::Matrix((n_occasions - 1)); stan::math::fill(epsilon, DUMMY_VAR__); - lcm_sym297__ = (n_occasions - 1); + lcm_sym264__ = (n_occasions - 1); epsilon = in__.template read>( - lcm_sym297__); + lcm_sym264__); local_scalar_t__ sigma; sigma = DUMMY_VAR__; @@ -20768,7 +19456,7 @@ class inlining_fail2_model final : public model_base_crtp sigma = in__.template read_constrain_lub( 0, 5, lp__); Eigen::Matrix phi; - phi = Eigen::Matrix(M, lcm_sym297__); + phi = Eigen::Matrix(M, lcm_sym264__); stan::math::fill(phi, DUMMY_VAR__); Eigen::Matrix p; @@ -20779,44 +19467,44 @@ class inlining_fail2_model final : public model_base_crtp chi = Eigen::Matrix(M, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - lcm_sym240__ = logical_gte(lcm_sym297__, 1); - if (lcm_sym240__) { + lcm_sym207__ = logical_gte(lcm_sym264__, 1); + if (lcm_sym207__) { { - lcm_sym238__ = logical_gte(M, 1); - if (lcm_sym238__) { - lcm_sym292__ = inv_logit( + lcm_sym205__ = logical_gte(M, 1); + if (lcm_sym205__) { + lcm_sym259__ = inv_logit( (logit(mean_phi) + rvalue(epsilon, "epsilon", index_uni(1)))); - assign(phi, lcm_sym292__, + assign(phi, lcm_sym259__, "assigning variable phi", index_uni(1), index_uni(1)); for (int i = 2; i <= M; ++i) { current_statement__ = 9; - assign(phi, lcm_sym292__, + assign(phi, lcm_sym259__, "assigning variable phi", index_uni(i), index_uni(1)); } } - for (int t = 2; t <= lcm_sym297__; ++t) { + for (int t = 2; t <= lcm_sym264__; ++t) { current_statement__ = 10; - if (lcm_sym238__) { - lcm_sym291__ = inv_logit( + if (lcm_sym205__) { + lcm_sym258__ = inv_logit( (logit(mean_phi) + rvalue(epsilon, "epsilon", index_uni(t)))); - assign(phi, lcm_sym291__, + assign(phi, lcm_sym258__, "assigning variable phi", index_uni(1), index_uni(t)); for (int i = 2; i <= M; ++i) { current_statement__ = 9; - assign(phi, lcm_sym291__, + assign(phi, lcm_sym258__, "assigning variable phi", index_uni(i), index_uni(t)); } } } } } else { - lcm_sym238__ = logical_gte(M, 1); + lcm_sym205__ = logical_gte(M, 1); } - assign(lcm_sym295__, rep_matrix(mean_p, M, n_occasions), - "assigning variable lcm_sym295__"); - assign(p, lcm_sym295__, "assigning variable p"); + assign(lcm_sym262__, rep_matrix(mean_p, M, n_occasions), + "assigning variable lcm_sym262__"); + assign(p, lcm_sym262__, "assigning variable p"); Eigen::Matrix inline_sym22__; int inline_sym30__; inline_sym30__ = std::numeric_limits::min(); @@ -20826,74 +19514,74 @@ class inlining_fail2_model final : public model_base_crtp int inline_sym23__; inline_sym23__ = std::numeric_limits::min(); - lcm_sym296__ = rows(lcm_sym295__); + lcm_sym263__ = rows(lcm_sym262__); int inline_sym24__; inline_sym24__ = std::numeric_limits::min(); - lcm_sym288__ = cols(lcm_sym295__); + lcm_sym255__ = cols(lcm_sym262__); + current_statement__ = 13; + validate_non_negative_index("chi", "n_ind", lcm_sym263__); current_statement__ = 14; - validate_non_negative_index("chi", "n_ind", lcm_sym296__); - current_statement__ = 15; - validate_non_negative_index("chi", "n_occasions", lcm_sym288__); + validate_non_negative_index("chi", "n_occasions", lcm_sym255__); Eigen::Matrix inline_sym25__; - inline_sym25__ = Eigen::Matrix(lcm_sym296__, lcm_sym288__); + inline_sym25__ = Eigen::Matrix(lcm_sym263__, lcm_sym255__); stan::math::fill(inline_sym25__, DUMMY_VAR__); - for (int inline_sym29__ = 1; inline_sym29__ <= lcm_sym296__; + for (int inline_sym29__ = 1; inline_sym29__ <= lcm_sym263__; ++inline_sym29__) { - current_statement__ = 17; + current_statement__ = 16; assign(inline_sym25__, 1.0, "assigning variable inline_sym25__", index_uni(inline_sym29__), - index_uni(lcm_sym288__)); - lcm_sym253__ = (lcm_sym288__ - 1); - if (logical_gte(lcm_sym253__, 1)) { + index_uni(lcm_sym255__)); + lcm_sym220__ = (lcm_sym255__ - 1); + if (logical_gte(lcm_sym220__, 1)) { int inline_sym26__; inline_sym26__ = std::numeric_limits::min(); int inline_sym27__; inline_sym27__ = std::numeric_limits::min(); - lcm_sym257__ = (lcm_sym253__ + 1); - current_statement__ = 20; + lcm_sym224__ = (lcm_sym220__ + 1); + current_statement__ = 19; assign(inline_sym25__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym29__), index_uni(lcm_sym253__)) * + index_uni(inline_sym29__), index_uni(lcm_sym220__)) * (1 - - rvalue(lcm_sym295__, "lcm_sym295__", - index_uni(inline_sym29__), index_uni(lcm_sym257__)))), + rvalue(lcm_sym262__, "lcm_sym262__", + index_uni(inline_sym29__), index_uni(lcm_sym224__)))), rvalue(inline_sym25__, "inline_sym25__", - index_uni(inline_sym29__), index_uni(lcm_sym257__)), + index_uni(inline_sym29__), index_uni(lcm_sym224__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym29__), index_uni(lcm_sym253__)))), + index_uni(inline_sym29__), index_uni(lcm_sym220__)))), "assigning variable inline_sym25__", index_uni(inline_sym29__), - index_uni(lcm_sym253__)); - for (int inline_sym28__ = 2; inline_sym28__ <= lcm_sym253__; + index_uni(lcm_sym220__)); + for (int inline_sym28__ = 2; inline_sym28__ <= lcm_sym220__; ++inline_sym28__) { int inline_sym26__; inline_sym26__ = std::numeric_limits::min(); - lcm_sym252__ = (lcm_sym288__ - inline_sym28__); + lcm_sym219__ = (lcm_sym255__ - inline_sym28__); int inline_sym27__; inline_sym27__ = std::numeric_limits::min(); - lcm_sym256__ = (lcm_sym252__ + 1); - current_statement__ = 20; + lcm_sym223__ = (lcm_sym219__ + 1); + current_statement__ = 19; assign(inline_sym25__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym29__), index_uni(lcm_sym252__)) * + index_uni(inline_sym29__), index_uni(lcm_sym219__)) * (1 - - rvalue(lcm_sym295__, "lcm_sym295__", - index_uni(inline_sym29__), index_uni(lcm_sym256__)))), + rvalue(lcm_sym262__, "lcm_sym262__", + index_uni(inline_sym29__), index_uni(lcm_sym223__)))), rvalue(inline_sym25__, "inline_sym25__", - index_uni(inline_sym29__), index_uni(lcm_sym256__)), + index_uni(inline_sym29__), index_uni(lcm_sym223__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym29__), index_uni(lcm_sym252__)))), + index_uni(inline_sym29__), index_uni(lcm_sym219__)))), "assigning variable inline_sym25__", index_uni(inline_sym29__), - index_uni(lcm_sym252__)); + index_uni(lcm_sym219__)); } } if (inline_sym30__) { @@ -20910,14 +19598,14 @@ class inlining_fail2_model final : public model_base_crtp } assign(chi, inline_sym22__, "assigning variable chi"); current_statement__ = 6; - if (lcm_sym238__) { + if (lcm_sym205__) { current_statement__ = 6; - if (lcm_sym240__) { + if (lcm_sym207__) { current_statement__ = 6; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym297__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym264__; ++sym2__) { current_statement__ = 6; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -20926,12 +19614,12 @@ class inlining_fail2_model final : public model_base_crtp } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 6; - if (lcm_sym240__) { + if (lcm_sym207__) { current_statement__ = 6; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym297__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym264__; ++sym2__) { current_statement__ = 6; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -20942,14 +19630,14 @@ class inlining_fail2_model final : public model_base_crtp } } current_statement__ = 6; - if (lcm_sym238__) { + if (lcm_sym205__) { current_statement__ = 6; - if (lcm_sym240__) { + if (lcm_sym207__) { current_statement__ = 6; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym297__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym264__; ++sym2__) { current_statement__ = 6; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -20958,12 +19646,12 @@ class inlining_fail2_model final : public model_base_crtp } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 6; - if (lcm_sym240__) { + if (lcm_sym207__) { current_statement__ = 6; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym297__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym264__; ++sym2__) { current_statement__ = 6; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -20973,31 +19661,31 @@ class inlining_fail2_model final : public model_base_crtp } } current_statement__ = 7; - if (lcm_sym238__) { - lcm_sym239__ = logical_gte(n_occasions, 1); - if (lcm_sym239__) { + if (lcm_sym205__) { + lcm_sym206__ = logical_gte(n_occasions, 1); + if (lcm_sym206__) { current_statement__ = 7; check_greater_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(1), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { current_statement__ = 7; check_greater_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(1), index_uni(sym2__)), 0); } } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 7; - if (lcm_sym239__) { + if (lcm_sym206__) { current_statement__ = 7; check_greater_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(sym1__), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { current_statement__ = 7; check_greater_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(sym1__), index_uni(sym2__)), 0); } @@ -21005,40 +19693,40 @@ class inlining_fail2_model final : public model_base_crtp } } current_statement__ = 7; - if (lcm_sym238__) { - lcm_sym239__ = logical_gte(n_occasions, 1); - if (lcm_sym239__) { + if (lcm_sym205__) { + lcm_sym206__ = logical_gte(n_occasions, 1); + if (lcm_sym206__) { current_statement__ = 7; check_less_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(1), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { current_statement__ = 7; check_less_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(1), index_uni(sym2__)), 1); } } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 7; - if (lcm_sym239__) { + if (lcm_sym206__) { current_statement__ = 7; check_less_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(sym1__), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { current_statement__ = 7; check_less_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(sym1__), index_uni(sym2__)), 1); } } } } current_statement__ = 8; - if (lcm_sym238__) { - lcm_sym239__ = logical_gte(n_occasions, 1); - if (lcm_sym239__) { + if (lcm_sym205__) { + lcm_sym206__ = logical_gte(n_occasions, 1); + if (lcm_sym206__) { current_statement__ = 8; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym22__, "inline_sym22__", @@ -21052,7 +19740,7 @@ class inlining_fail2_model final : public model_base_crtp } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 8; - if (lcm_sym239__) { + if (lcm_sym206__) { current_statement__ = 8; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym22__, "inline_sym22__", @@ -21068,9 +19756,9 @@ class inlining_fail2_model final : public model_base_crtp } } current_statement__ = 8; - if (lcm_sym238__) { - lcm_sym239__ = logical_gte(n_occasions, 1); - if (lcm_sym239__) { + if (lcm_sym205__) { + lcm_sym206__ = logical_gte(n_occasions, 1); + if (lcm_sym206__) { current_statement__ = 8; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym22__, "inline_sym22__", @@ -21084,7 +19772,7 @@ class inlining_fail2_model final : public model_base_crtp } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 8; - if (lcm_sym239__) { + if (lcm_sym206__) { current_statement__ = 8; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym22__, "inline_sym22__", @@ -21099,7 +19787,7 @@ class inlining_fail2_model final : public model_base_crtp } } { - current_statement__ = 75; + current_statement__ = 74; lp_accum__.add(normal_lpdf(epsilon, 0, sigma)); int inline_sym39__; inline_sym39__ = std::numeric_limits::min(); @@ -21108,210 +19796,210 @@ class inlining_fail2_model final : public model_base_crtp int inline_sym32__; inline_sym32__ = std::numeric_limits::min(); - lcm_sym310__ = rvalue(dims(y), "dims(y)", index_uni(1)); + lcm_sym277__ = rvalue(dims(y), "dims(y)", index_uni(1)); int inline_sym33__; inline_sym33__ = std::numeric_limits::min(); - lcm_sym311__ = rvalue(dims(y), "dims(y)", index_uni(2)); - current_statement__ = 78; - validate_non_negative_index("qgamma", "n_occasions", lcm_sym311__); + lcm_sym278__ = rvalue(dims(y), "dims(y)", index_uni(2)); + current_statement__ = 77; + validate_non_negative_index("qgamma", "n_occasions", lcm_sym278__); Eigen::Matrix inline_sym34__; - inline_sym34__ = Eigen::Matrix(lcm_sym311__); + inline_sym34__ = Eigen::Matrix(lcm_sym278__); stan::math::fill(inline_sym34__, std::numeric_limits::quiet_NaN()); - assign(lcm_sym249__, subtract(1.0, gamma), - "assigning variable lcm_sym249__"); - lcm_sym246__ = logical_gte(lcm_sym310__, 1); - if (lcm_sym246__) { - current_statement__ = 80; - validate_non_negative_index("qp", "n_occasions", lcm_sym311__); + assign(lcm_sym216__, subtract(1.0, gamma), + "assigning variable lcm_sym216__"); + lcm_sym213__ = logical_gte(lcm_sym277__, 1); + if (lcm_sym213__) { + current_statement__ = 79; + validate_non_negative_index("qp", "n_occasions", lcm_sym278__); Eigen::Matrix inline_sym35__; - inline_sym35__ = Eigen::Matrix(lcm_sym311__); + inline_sym35__ = Eigen::Matrix(lcm_sym278__); stan::math::fill(inline_sym35__, std::numeric_limits::quiet_NaN()); - assign(lcm_sym251__, + assign(lcm_sym218__, subtract(1.0, - transpose(rvalue(lcm_sym295__, "lcm_sym295__", index_uni(1)))), - "assigning variable lcm_sym251__"); - lcm_sym299__ = rvalue(first, "first", index_uni(1)); - if (lcm_sym299__) { - current_statement__ = 96; - if (logical_eq(lcm_sym299__, 1)) { - current_statement__ = 94; + transpose(rvalue(lcm_sym262__, "lcm_sym262__", index_uni(1)))), + "assigning variable lcm_sym218__"); + lcm_sym266__ = rvalue(first, "first", index_uni(1)); + if (lcm_sym266__) { + current_statement__ = 95; + if (logical_eq(lcm_sym266__, 1)) { + current_statement__ = 93; lp_accum__.add( bernoulli_lpmf(1, (rvalue(gamma, "gamma", index_uni(1)) * - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(1), index_uni(1))))); } else { - current_statement__ = 88; - validate_non_negative_index("lp", "first[i]", lcm_sym299__); + current_statement__ = 87; + validate_non_negative_index("lp", "first[i]", lcm_sym266__); Eigen::Matrix inline_sym36__; - inline_sym36__ = Eigen::Matrix(lcm_sym299__); + inline_sym36__ = Eigen::Matrix(lcm_sym266__); stan::math::fill(inline_sym36__, DUMMY_VAR__); - lcm_sym255__ = (lcm_sym299__ - 1); + lcm_sym222__ = (lcm_sym266__ - 1); assign(inline_sym36__, (((bernoulli_lpmf(1, rvalue(gamma, "gamma", index_uni(1))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym251__, "lcm_sym251__", - index_min_max(1, lcm_sym255__))))) + + rvalue(lcm_sym218__, "lcm_sym218__", + index_min_max(1, lcm_sym222__))))) + bernoulli_lpmf(1, prod( rvalue(phi, "phi", - index_uni(1), index_min_max(1, lcm_sym255__))))) + + index_uni(1), index_min_max(1, lcm_sym222__))))) + bernoulli_lpmf(1, - rvalue(lcm_sym295__, "lcm_sym295__", - index_uni(1), index_uni(lcm_sym299__)))), + rvalue(lcm_sym262__, "lcm_sym262__", + index_uni(1), index_uni(lcm_sym266__)))), "assigning variable inline_sym36__", index_uni(1)); - if (logical_gte(lcm_sym255__, 2)) { - current_statement__ = 90; + if (logical_gte(lcm_sym222__, 2)) { + current_statement__ = 89; assign(inline_sym36__, ((((bernoulli_lpmf(1, prod( - rvalue(lcm_sym249__, "lcm_sym249__", + rvalue(lcm_sym216__, "lcm_sym216__", index_min_max(1, 1)))) + bernoulli_lpmf(1, rvalue(gamma, "gamma", index_uni(2)))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym251__, "lcm_sym251__", - index_min_max(2, lcm_sym255__))))) + + rvalue(lcm_sym218__, "lcm_sym218__", + index_min_max(2, lcm_sym222__))))) + bernoulli_lpmf(1, prod( rvalue(phi, "phi", - index_uni(1), index_min_max(2, lcm_sym255__))))) + index_uni(1), index_min_max(2, lcm_sym222__))))) + bernoulli_lpmf(1, - rvalue(lcm_sym295__, "lcm_sym295__", - index_uni(1), index_uni(lcm_sym299__)))), + rvalue(lcm_sym262__, "lcm_sym262__", + index_uni(1), index_uni(lcm_sym266__)))), "assigning variable inline_sym36__", index_uni(2)); for (int inline_sym37__ = 3; - inline_sym37__ <= lcm_sym255__; ++inline_sym37__) { - current_statement__ = 90; + inline_sym37__ <= lcm_sym222__; ++inline_sym37__) { + current_statement__ = 89; assign(inline_sym36__, ((((bernoulli_lpmf(1, prod( - rvalue(lcm_sym249__, "lcm_sym249__", + rvalue(lcm_sym216__, "lcm_sym216__", index_min_max(1, (inline_sym37__ - 1))))) + bernoulli_lpmf(1, gamma[(inline_sym37__ - 1)])) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym251__, "lcm_sym251__", - index_min_max(inline_sym37__, lcm_sym255__))))) + rvalue(lcm_sym218__, "lcm_sym218__", + index_min_max(inline_sym37__, lcm_sym222__))))) + bernoulli_lpmf(1, prod( rvalue(phi, "phi", index_uni(1), - index_min_max(inline_sym37__, lcm_sym255__))))) + index_min_max(inline_sym37__, lcm_sym222__))))) + bernoulli_lpmf(1, - rvalue(lcm_sym295__, "lcm_sym295__", - index_uni(1), index_uni(lcm_sym299__)))), + rvalue(lcm_sym262__, "lcm_sym262__", + index_uni(1), index_uni(lcm_sym266__)))), "assigning variable inline_sym36__", index_uni(inline_sym37__)); } } - current_statement__ = 91; + current_statement__ = 90; assign(inline_sym36__, ((bernoulli_lpmf(1, prod( - rvalue(lcm_sym249__, "lcm_sym249__", - index_min_max(1, lcm_sym255__)))) + - bernoulli_lpmf(1, gamma[(lcm_sym299__ - 1)])) + + rvalue(lcm_sym216__, "lcm_sym216__", + index_min_max(1, lcm_sym222__)))) + + bernoulli_lpmf(1, gamma[(lcm_sym266__ - 1)])) + bernoulli_lpmf(1, - rvalue(lcm_sym295__, "lcm_sym295__", - index_uni(1), index_uni(lcm_sym299__)))), - "assigning variable inline_sym36__", index_uni(lcm_sym299__)); - current_statement__ = 92; + rvalue(lcm_sym262__, "lcm_sym262__", + index_uni(1), index_uni(lcm_sym266__)))), + "assigning variable inline_sym36__", index_uni(lcm_sym266__)); + current_statement__ = 91; lp_accum__.add(log_sum_exp(inline_sym36__)); } - lcm_sym305__ = rvalue(last, "last", index_uni(1)); - if (logical_gte(lcm_sym305__, (lcm_sym299__ + 1))) { - current_statement__ = 97; + lcm_sym272__ = rvalue(last, "last", index_uni(1)); + if (logical_gte(lcm_sym272__, (lcm_sym266__ + 1))) { + current_statement__ = 96; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", - index_uni(1), index_uni(((lcm_sym299__ + 1) - 1))))); - lcm_sym273__ = ((lcm_sym299__ + 1) + 1); + index_uni(1), index_uni(((lcm_sym266__ + 1) - 1))))); + lcm_sym240__ = ((lcm_sym266__ + 1) + 1); lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", - index_uni(1), index_uni((lcm_sym299__ + 1))), - rvalue(lcm_sym295__, "lcm_sym295__", - index_uni(1), index_uni((lcm_sym299__ + 1))))); - for (int inline_sym37__ = lcm_sym273__; - inline_sym37__ <= lcm_sym305__; ++inline_sym37__) { - current_statement__ = 97; + index_uni(1), index_uni((lcm_sym266__ + 1))), + rvalue(lcm_sym262__, "lcm_sym262__", + index_uni(1), index_uni((lcm_sym266__ + 1))))); + for (int inline_sym37__ = lcm_sym240__; + inline_sym37__ <= lcm_sym272__; ++inline_sym37__) { + current_statement__ = 96; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", index_uni(1), index_uni((inline_sym37__ - 1))))); - current_statement__ = 98; + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", index_uni(1), index_uni(inline_sym37__)), - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(1), index_uni(inline_sym37__)))); } } - current_statement__ = 100; + current_statement__ = 99; lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym22__, "inline_sym22__", - index_uni(1), index_uni(lcm_sym305__)))); + index_uni(1), index_uni(lcm_sym272__)))); } else { - lcm_sym274__ = (lcm_sym311__ + 1); + lcm_sym241__ = (lcm_sym278__ + 1); validate_non_negative_index("lp", "n_occasions + 1", - lcm_sym274__); + lcm_sym241__); Eigen::Matrix inline_sym36__; - inline_sym36__ = Eigen::Matrix(lcm_sym274__); + inline_sym36__ = Eigen::Matrix(lcm_sym241__); stan::math::fill(inline_sym36__, DUMMY_VAR__); - current_statement__ = 83; + current_statement__ = 82; assign(inline_sym36__, ((bernoulli_lpmf(1, rvalue(gamma, "gamma", index_uni(1))) + bernoulli_lpmf(0, - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(1), index_uni(1)))) + bernoulli_lpmf(1, rvalue(inline_sym22__, "inline_sym22__", index_uni(1), index_uni(1)))), "assigning variable inline_sym36__", index_uni(1)); - if (logical_gte(lcm_sym311__, 2)) { - current_statement__ = 84; + if (logical_gte(lcm_sym278__, 2)) { + current_statement__ = 83; assign(inline_sym36__, (((bernoulli_lpmf(1, prod( - rvalue(lcm_sym249__, "lcm_sym249__", + rvalue(lcm_sym216__, "lcm_sym216__", index_min_max(1, 1)))) + bernoulli_lpmf(1, rvalue(gamma, "gamma", index_uni(2)))) + bernoulli_lpmf(0, - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(1), index_uni(2)))) + bernoulli_lpmf(1, rvalue(inline_sym22__, "inline_sym22__", index_uni(1), index_uni(2)))), "assigning variable inline_sym36__", index_uni(2)); - for (int inline_sym37__ = 3; inline_sym37__ <= lcm_sym311__; + for (int inline_sym37__ = 3; inline_sym37__ <= lcm_sym278__; ++inline_sym37__) { - current_statement__ = 84; + current_statement__ = 83; assign(inline_sym36__, (((bernoulli_lpmf(1, prod( - rvalue(lcm_sym249__, "lcm_sym249__", + rvalue(lcm_sym216__, "lcm_sym216__", index_min_max(1, (inline_sym37__ - 1))))) + bernoulli_lpmf(1, gamma[(inline_sym37__ - 1)])) + bernoulli_lpmf(0, - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(1), index_uni(inline_sym37__)))) + bernoulli_lpmf(1, rvalue(inline_sym22__, "inline_sym22__", @@ -21319,213 +20007,213 @@ class inlining_fail2_model final : public model_base_crtp "assigning variable inline_sym36__", index_uni(inline_sym37__)); } } - current_statement__ = 85; + current_statement__ = 84; assign(inline_sym36__, - bernoulli_lpmf(1, prod(lcm_sym249__)), - "assigning variable inline_sym36__", index_uni(lcm_sym274__)); - current_statement__ = 86; + bernoulli_lpmf(1, prod(lcm_sym216__)), + "assigning variable inline_sym36__", index_uni(lcm_sym241__)); + current_statement__ = 85; lp_accum__.add(log_sum_exp(inline_sym36__)); } - for (int inline_sym38__ = 2; inline_sym38__ <= lcm_sym310__; + for (int inline_sym38__ = 2; inline_sym38__ <= lcm_sym277__; ++inline_sym38__) { - current_statement__ = 80; - validate_non_negative_index("qp", "n_occasions", lcm_sym311__); + current_statement__ = 79; + validate_non_negative_index("qp", "n_occasions", lcm_sym278__); Eigen::Matrix inline_sym35__; - inline_sym35__ = Eigen::Matrix(lcm_sym311__); + inline_sym35__ = Eigen::Matrix(lcm_sym278__); stan::math::fill(inline_sym35__, std::numeric_limits::quiet_NaN()); - assign(lcm_sym250__, + assign(lcm_sym217__, subtract(1.0, transpose( - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(inline_sym38__)))), - "assigning variable lcm_sym250__"); - lcm_sym298__ = first[(inline_sym38__ - 1)]; - if (lcm_sym298__) { - current_statement__ = 96; - if (logical_eq(lcm_sym298__, 1)) { - current_statement__ = 94; + "assigning variable lcm_sym217__"); + lcm_sym265__ = first[(inline_sym38__ - 1)]; + if (lcm_sym265__) { + current_statement__ = 95; + if (logical_eq(lcm_sym265__, 1)) { + current_statement__ = 93; lp_accum__.add( bernoulli_lpmf(1, (rvalue(gamma, "gamma", index_uni(1)) * - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(inline_sym38__), index_uni(1))))); } else { - current_statement__ = 88; - validate_non_negative_index("lp", "first[i]", lcm_sym298__); + current_statement__ = 87; + validate_non_negative_index("lp", "first[i]", lcm_sym265__); Eigen::Matrix inline_sym36__; - inline_sym36__ = Eigen::Matrix(lcm_sym298__); + inline_sym36__ = Eigen::Matrix(lcm_sym265__); stan::math::fill(inline_sym36__, DUMMY_VAR__); - lcm_sym254__ = (lcm_sym298__ - 1); + lcm_sym221__ = (lcm_sym265__ - 1); assign(inline_sym36__, (((bernoulli_lpmf(1, rvalue(gamma, "gamma", index_uni(1))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym250__, "lcm_sym250__", - index_min_max(1, lcm_sym254__))))) + + rvalue(lcm_sym217__, "lcm_sym217__", + index_min_max(1, lcm_sym221__))))) + bernoulli_lpmf(1, prod( rvalue(phi, "phi", index_uni(inline_sym38__), - index_min_max(1, lcm_sym254__))))) + + index_min_max(1, lcm_sym221__))))) + bernoulli_lpmf(1, - rvalue(lcm_sym295__, "lcm_sym295__", - index_uni(inline_sym38__), index_uni(lcm_sym298__)))), + rvalue(lcm_sym262__, "lcm_sym262__", + index_uni(inline_sym38__), index_uni(lcm_sym265__)))), "assigning variable inline_sym36__", index_uni(1)); - if (logical_gte(lcm_sym254__, 2)) { - current_statement__ = 90; + if (logical_gte(lcm_sym221__, 2)) { + current_statement__ = 89; assign(inline_sym36__, ((((bernoulli_lpmf(1, prod( - rvalue(lcm_sym249__, "lcm_sym249__", + rvalue(lcm_sym216__, "lcm_sym216__", index_min_max(1, 1)))) + bernoulli_lpmf(1, rvalue(gamma, "gamma", index_uni(2)))) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym250__, "lcm_sym250__", - index_min_max(2, lcm_sym254__))))) + + rvalue(lcm_sym217__, "lcm_sym217__", + index_min_max(2, lcm_sym221__))))) + bernoulli_lpmf(1, prod( rvalue(phi, "phi", index_uni(inline_sym38__), - index_min_max(2, lcm_sym254__))))) + + index_min_max(2, lcm_sym221__))))) + bernoulli_lpmf(1, - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(inline_sym38__), - index_uni(lcm_sym298__)))), + index_uni(lcm_sym265__)))), "assigning variable inline_sym36__", index_uni(2)); for (int inline_sym37__ = 3; - inline_sym37__ <= lcm_sym254__; ++inline_sym37__) { - current_statement__ = 90; + inline_sym37__ <= lcm_sym221__; ++inline_sym37__) { + current_statement__ = 89; assign(inline_sym36__, ((((bernoulli_lpmf(1, prod( - rvalue(lcm_sym249__, "lcm_sym249__", + rvalue(lcm_sym216__, "lcm_sym216__", index_min_max(1, (inline_sym37__ - 1))))) + bernoulli_lpmf(1, gamma[(inline_sym37__ - 1)])) + bernoulli_lpmf(1, prod( - rvalue(lcm_sym250__, "lcm_sym250__", - index_min_max(inline_sym37__, lcm_sym254__))))) + rvalue(lcm_sym217__, "lcm_sym217__", + index_min_max(inline_sym37__, lcm_sym221__))))) + bernoulli_lpmf(1, prod( rvalue(phi, "phi", index_uni(inline_sym38__), - index_min_max(inline_sym37__, lcm_sym254__))))) + index_min_max(inline_sym37__, lcm_sym221__))))) + bernoulli_lpmf(1, - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(inline_sym38__), - index_uni(lcm_sym298__)))), + index_uni(lcm_sym265__)))), "assigning variable inline_sym36__", index_uni(inline_sym37__)); } } - current_statement__ = 91; + current_statement__ = 90; assign(inline_sym36__, ((bernoulli_lpmf(1, prod( - rvalue(lcm_sym249__, "lcm_sym249__", - index_min_max(1, lcm_sym254__)))) + - bernoulli_lpmf(1, gamma[(lcm_sym298__ - 1)])) + + rvalue(lcm_sym216__, "lcm_sym216__", + index_min_max(1, lcm_sym221__)))) + + bernoulli_lpmf(1, gamma[(lcm_sym265__ - 1)])) + bernoulli_lpmf(1, - rvalue(lcm_sym295__, "lcm_sym295__", - index_uni(inline_sym38__), index_uni(lcm_sym298__)))), - "assigning variable inline_sym36__", index_uni(lcm_sym298__)); - current_statement__ = 92; + rvalue(lcm_sym262__, "lcm_sym262__", + index_uni(inline_sym38__), index_uni(lcm_sym265__)))), + "assigning variable inline_sym36__", index_uni(lcm_sym265__)); + current_statement__ = 91; lp_accum__.add(log_sum_exp(inline_sym36__)); } - lcm_sym304__ = last[(inline_sym38__ - 1)]; - if (logical_gte(lcm_sym304__, (lcm_sym298__ + 1))) { - current_statement__ = 97; + lcm_sym271__ = last[(inline_sym38__ - 1)]; + if (logical_gte(lcm_sym271__, (lcm_sym265__ + 1))) { + current_statement__ = 96; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", index_uni(inline_sym38__), - index_uni(((lcm_sym298__ + 1) - 1))))); - lcm_sym272__ = ((lcm_sym298__ + 1) + 1); + index_uni(((lcm_sym265__ + 1) - 1))))); + lcm_sym239__ = ((lcm_sym265__ + 1) + 1); lp_accum__.add( bernoulli_lpmf( rvalue(y, "y", index_uni(inline_sym38__), - index_uni((lcm_sym298__ + 1))), - rvalue(lcm_sym295__, "lcm_sym295__", + index_uni((lcm_sym265__ + 1))), + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(inline_sym38__), - index_uni((lcm_sym298__ + 1))))); - for (int inline_sym37__ = lcm_sym272__; - inline_sym37__ <= lcm_sym304__; ++inline_sym37__) { - current_statement__ = 97; + index_uni((lcm_sym265__ + 1))))); + for (int inline_sym37__ = lcm_sym239__; + inline_sym37__ <= lcm_sym271__; ++inline_sym37__) { + current_statement__ = 96; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", index_uni(inline_sym38__), index_uni((inline_sym37__ - 1))))); - current_statement__ = 98; + current_statement__ = 97; lp_accum__.add( bernoulli_lpmf( y[(inline_sym38__ - 1)][(inline_sym37__ - 1)], - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(inline_sym38__), index_uni(inline_sym37__)))); } } - current_statement__ = 100; + current_statement__ = 99; lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym22__, "inline_sym22__", - index_uni(inline_sym38__), index_uni(lcm_sym304__)))); + index_uni(inline_sym38__), index_uni(lcm_sym271__)))); } else { - lcm_sym274__ = (lcm_sym311__ + 1); + lcm_sym241__ = (lcm_sym278__ + 1); validate_non_negative_index("lp", "n_occasions + 1", - lcm_sym274__); + lcm_sym241__); Eigen::Matrix inline_sym36__; - inline_sym36__ = Eigen::Matrix(lcm_sym274__); + inline_sym36__ = Eigen::Matrix(lcm_sym241__); stan::math::fill(inline_sym36__, DUMMY_VAR__); - current_statement__ = 83; + current_statement__ = 82; assign(inline_sym36__, ((bernoulli_lpmf(1, rvalue(gamma, "gamma", index_uni(1))) + bernoulli_lpmf(0, - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(inline_sym38__), index_uni(1)))) + bernoulli_lpmf(1, rvalue(inline_sym22__, "inline_sym22__", index_uni(inline_sym38__), index_uni(1)))), "assigning variable inline_sym36__", index_uni(1)); - if (logical_gte(lcm_sym311__, 2)) { - current_statement__ = 84; + if (logical_gte(lcm_sym278__, 2)) { + current_statement__ = 83; assign(inline_sym36__, (((bernoulli_lpmf(1, prod( - rvalue(lcm_sym249__, "lcm_sym249__", + rvalue(lcm_sym216__, "lcm_sym216__", index_min_max(1, 1)))) + bernoulli_lpmf(1, rvalue(gamma, "gamma", index_uni(2)))) + bernoulli_lpmf(0, - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(inline_sym38__), index_uni(2)))) + bernoulli_lpmf(1, rvalue(inline_sym22__, "inline_sym22__", index_uni(inline_sym38__), index_uni(2)))), "assigning variable inline_sym36__", index_uni(2)); for (int inline_sym37__ = 3; - inline_sym37__ <= lcm_sym311__; ++inline_sym37__) { - current_statement__ = 84; + inline_sym37__ <= lcm_sym278__; ++inline_sym37__) { + current_statement__ = 83; assign(inline_sym36__, (((bernoulli_lpmf(1, prod( - rvalue(lcm_sym249__, "lcm_sym249__", + rvalue(lcm_sym216__, "lcm_sym216__", index_min_max(1, (inline_sym37__ - 1))))) + bernoulli_lpmf(1, gamma[(inline_sym37__ - 1)])) + bernoulli_lpmf(0, - rvalue(lcm_sym295__, "lcm_sym295__", + rvalue(lcm_sym262__, "lcm_sym262__", index_uni(inline_sym38__), index_uni(inline_sym37__)))) + bernoulli_lpmf(1, @@ -21535,11 +20223,11 @@ class inlining_fail2_model final : public model_base_crtp "assigning variable inline_sym36__", index_uni(inline_sym37__)); } } - current_statement__ = 85; + current_statement__ = 84; assign(inline_sym36__, - bernoulli_lpmf(1, prod(lcm_sym249__)), - "assigning variable inline_sym36__", index_uni(lcm_sym274__)); - current_statement__ = 86; + bernoulli_lpmf(1, prod(lcm_sym216__)), + "assigning variable inline_sym36__", index_uni(lcm_sym241__)); + current_statement__ = 85; lp_accum__.add(log_sum_exp(inline_sym36__)); } } @@ -21565,8 +20253,8 @@ class inlining_fail2_model final : public model_base_crtp const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -21580,93 +20268,71 @@ class inlining_fail2_model final : public model_base_crtp (void) function__; // suppress unused var warning try { - int lcm_sym235__; - int lcm_sym234__; - double lcm_sym233__; - double lcm_sym232__; - double lcm_sym231__; - double lcm_sym230__; - double lcm_sym229__; - double lcm_sym228__; - double lcm_sym227__; - double lcm_sym226__; - double lcm_sym225__; - int lcm_sym224__; - int lcm_sym223__; - int lcm_sym222__; - int lcm_sym221__; - double lcm_sym220__; - double lcm_sym219__; - double lcm_sym218__; - double lcm_sym217__; - double lcm_sym216__; - double lcm_sym215__; - double lcm_sym214__; - double lcm_sym213__; - double lcm_sym212__; - double lcm_sym211__; - double lcm_sym210__; - double lcm_sym209__; - double lcm_sym208__; - double lcm_sym207__; - double lcm_sym206__; - double lcm_sym205__; - double lcm_sym204__; - double lcm_sym203__; int lcm_sym202__; int lcm_sym201__; - int lcm_sym200__; - int lcm_sym199__; - int lcm_sym197__; - int lcm_sym196__; - int lcm_sym195__; - int lcm_sym194__; - int lcm_sym193__; - int lcm_sym192__; - local_scalar_t__ lcm_sym191__; - int lcm_sym190__; + double lcm_sym200__; + double lcm_sym199__; + double lcm_sym198__; + double lcm_sym197__; + double lcm_sym196__; + double lcm_sym195__; + double lcm_sym194__; + double lcm_sym193__; + double lcm_sym192__; + double lcm_sym191__; + double lcm_sym190__; double lcm_sym189__; - int lcm_sym188__; + double lcm_sym162__; int lcm_sym187__; int lcm_sym186__; int lcm_sym185__; - Eigen::Matrix lcm_sym184__; - std::vector> lcm_sym183__; - local_scalar_t__ lcm_sym182__; + int lcm_sym184__; + int lcm_sym183__; + int lcm_sym182__; local_scalar_t__ lcm_sym181__; - double lcm_sym180__; + int lcm_sym180__; double lcm_sym179__; - double lcm_sym178__; - double lcm_sym177__; - double lcm_sym176__; - double lcm_sym175__; - Eigen::Matrix lcm_sym174__; - int lcm_sym173__; - int lcm_sym167__; - int lcm_sym166__; - int lcm_sym165__; - int lcm_sym164__; - double lcm_sym163__; - double lcm_sym162__; - int lcm_sym161__; - int lcm_sym160__; - double lcm_sym159__; - double lcm_sym158__; + int lcm_sym178__; + int lcm_sym177__; + int lcm_sym176__; + int lcm_sym175__; + Eigen::Matrix lcm_sym174__; + std::vector> lcm_sym173__; + local_scalar_t__ lcm_sym172__; + local_scalar_t__ lcm_sym171__; + double lcm_sym170__; + double lcm_sym169__; + double lcm_sym168__; + double lcm_sym167__; + double lcm_sym166__; + double lcm_sym165__; + Eigen::Matrix lcm_sym164__; + int lcm_sym163__; int lcm_sym157__; int lcm_sym156__; int lcm_sym155__; int lcm_sym154__; - int lcm_sym153__; - int lcm_sym152__; - int lcm_sym198__; + double lcm_sym153__; + double lcm_sym152__; + int lcm_sym151__; int lcm_sym150__; - int lcm_sym149__; - int lcm_sym148__; + double lcm_sym149__; + double lcm_sym148__; int lcm_sym147__; int lcm_sym146__; int lcm_sym145__; int lcm_sym144__; - Eigen::Matrix lcm_sym143__; + int lcm_sym143__; + int lcm_sym142__; + int lcm_sym188__; + int lcm_sym140__; + int lcm_sym139__; + int lcm_sym138__; + int lcm_sym137__; + int lcm_sym136__; + int lcm_sym135__; + int lcm_sym134__; + Eigen::Matrix lcm_sym133__; double mean_phi; mean_phi = std::numeric_limits::quiet_NaN(); @@ -21690,9 +20356,9 @@ class inlining_fail2_model final : public model_base_crtp epsilon = Eigen::Matrix((n_occasions - 1)); stan::math::fill(epsilon, std::numeric_limits::quiet_NaN()); - lcm_sym198__ = (n_occasions - 1); + lcm_sym188__ = (n_occasions - 1); epsilon = in__.template read>( - lcm_sym198__); + lcm_sym188__); double sigma; sigma = std::numeric_limits::quiet_NaN(); @@ -21700,7 +20366,7 @@ class inlining_fail2_model final : public model_base_crtp sigma = in__.template read_constrain_lub( 0, 5, lp__); Eigen::Matrix phi; - phi = Eigen::Matrix(M, lcm_sym198__); + phi = Eigen::Matrix(M, lcm_sym188__); stan::math::fill(phi, DUMMY_VAR__); Eigen::Matrix p; @@ -21711,65 +20377,53 @@ class inlining_fail2_model final : public model_base_crtp chi = Eigen::Matrix(M, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - vars__.emplace_back(mean_phi); - vars__.emplace_back(mean_p); - lcm_sym145__ = logical_gte(n_occasions, 1); - if (lcm_sym145__) { - vars__.emplace_back(rvalue(gamma, "gamma", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - vars__.emplace_back(gamma[(sym1__ - 1)]); - } - } - lcm_sym147__ = logical_gte(lcm_sym198__, 1); - if (lcm_sym147__) { - vars__.emplace_back(rvalue(epsilon, "epsilon", index_uni(1))); - for (int sym1__ = 2; sym1__ <= lcm_sym198__; ++sym1__) { - vars__.emplace_back(epsilon[(sym1__ - 1)]); - } - } - vars__.emplace_back(sigma); + out__.write(mean_phi); + out__.write(mean_p); + out__.write(gamma); + out__.write(epsilon); + out__.write(sigma); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - current_statement__ = 11; - if (lcm_sym147__) { + lcm_sym137__ = logical_gte(lcm_sym188__, 1); + if (lcm_sym137__) { { - lcm_sym144__ = logical_gte(M, 1); - if (lcm_sym144__) { - lcm_sym182__ = inv_logit( + lcm_sym134__ = logical_gte(M, 1); + if (lcm_sym134__) { + lcm_sym172__ = inv_logit( (logit(mean_phi) + rvalue(epsilon, "epsilon", index_uni(1)))); - assign(phi, lcm_sym182__, + assign(phi, lcm_sym172__, "assigning variable phi", index_uni(1), index_uni(1)); for (int i = 2; i <= M; ++i) { current_statement__ = 9; - assign(phi, lcm_sym182__, + assign(phi, lcm_sym172__, "assigning variable phi", index_uni(i), index_uni(1)); } } - for (int t = 2; t <= lcm_sym198__; ++t) { + for (int t = 2; t <= lcm_sym188__; ++t) { current_statement__ = 10; - if (lcm_sym144__) { - lcm_sym181__ = inv_logit( + if (lcm_sym134__) { + lcm_sym171__ = inv_logit( (logit(mean_phi) + rvalue(epsilon, "epsilon", index_uni(t)))); - assign(phi, lcm_sym181__, + assign(phi, lcm_sym171__, "assigning variable phi", index_uni(1), index_uni(t)); for (int i = 2; i <= M; ++i) { current_statement__ = 9; - assign(phi, lcm_sym181__, + assign(phi, lcm_sym171__, "assigning variable phi", index_uni(i), index_uni(t)); } } } } } else { - lcm_sym144__ = logical_gte(M, 1); + lcm_sym134__ = logical_gte(M, 1); } - assign(lcm_sym184__, rep_matrix(mean_p, M, n_occasions), - "assigning variable lcm_sym184__"); - assign(p, lcm_sym184__, "assigning variable p"); + assign(lcm_sym174__, rep_matrix(mean_p, M, n_occasions), + "assigning variable lcm_sym174__"); + assign(p, lcm_sym174__, "assigning variable p"); Eigen::Matrix inline_sym1__; int inline_sym9__; inline_sym9__ = std::numeric_limits::min(); @@ -21779,74 +20433,74 @@ class inlining_fail2_model final : public model_base_crtp int inline_sym2__; inline_sym2__ = std::numeric_limits::min(); - lcm_sym186__ = rows(lcm_sym184__); + lcm_sym176__ = rows(lcm_sym174__); int inline_sym3__; inline_sym3__ = std::numeric_limits::min(); - lcm_sym173__ = cols(lcm_sym184__); + lcm_sym163__ = cols(lcm_sym174__); + current_statement__ = 13; + validate_non_negative_index("chi", "n_ind", lcm_sym176__); current_statement__ = 14; - validate_non_negative_index("chi", "n_ind", lcm_sym186__); - current_statement__ = 15; - validate_non_negative_index("chi", "n_occasions", lcm_sym173__); + validate_non_negative_index("chi", "n_occasions", lcm_sym163__); Eigen::Matrix inline_sym4__; - inline_sym4__ = Eigen::Matrix(lcm_sym186__, lcm_sym173__); + inline_sym4__ = Eigen::Matrix(lcm_sym176__, lcm_sym163__); stan::math::fill(inline_sym4__, DUMMY_VAR__); - for (int inline_sym8__ = 1; inline_sym8__ <= lcm_sym186__; + for (int inline_sym8__ = 1; inline_sym8__ <= lcm_sym176__; ++inline_sym8__) { - current_statement__ = 17; + current_statement__ = 16; assign(inline_sym4__, 1.0, "assigning variable inline_sym4__", index_uni(inline_sym8__), - index_uni(lcm_sym173__)); - lcm_sym155__ = (lcm_sym173__ - 1); - if (logical_gte(lcm_sym155__, 1)) { + index_uni(lcm_sym163__)); + lcm_sym145__ = (lcm_sym163__ - 1); + if (logical_gte(lcm_sym145__, 1)) { int inline_sym5__; inline_sym5__ = std::numeric_limits::min(); int inline_sym6__; inline_sym6__ = std::numeric_limits::min(); - lcm_sym161__ = (lcm_sym155__ + 1); - current_statement__ = 20; + lcm_sym151__ = (lcm_sym145__ + 1); + current_statement__ = 19; assign(inline_sym4__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym8__), index_uni(lcm_sym155__)) * + index_uni(inline_sym8__), index_uni(lcm_sym145__)) * (1 - - rvalue(lcm_sym184__, "lcm_sym184__", - index_uni(inline_sym8__), index_uni(lcm_sym161__)))), + rvalue(lcm_sym174__, "lcm_sym174__", + index_uni(inline_sym8__), index_uni(lcm_sym151__)))), rvalue(inline_sym4__, "inline_sym4__", - index_uni(inline_sym8__), index_uni(lcm_sym161__)), + index_uni(inline_sym8__), index_uni(lcm_sym151__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym8__), index_uni(lcm_sym155__)))), + index_uni(inline_sym8__), index_uni(lcm_sym145__)))), "assigning variable inline_sym4__", index_uni(inline_sym8__), - index_uni(lcm_sym155__)); - for (int inline_sym7__ = 2; inline_sym7__ <= lcm_sym155__; + index_uni(lcm_sym145__)); + for (int inline_sym7__ = 2; inline_sym7__ <= lcm_sym145__; ++inline_sym7__) { int inline_sym5__; inline_sym5__ = std::numeric_limits::min(); - lcm_sym154__ = (lcm_sym173__ - inline_sym7__); + lcm_sym144__ = (lcm_sym163__ - inline_sym7__); int inline_sym6__; inline_sym6__ = std::numeric_limits::min(); - lcm_sym160__ = (lcm_sym154__ + 1); - current_statement__ = 20; + lcm_sym150__ = (lcm_sym144__ + 1); + current_statement__ = 19; assign(inline_sym4__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym8__), index_uni(lcm_sym154__)) * + index_uni(inline_sym8__), index_uni(lcm_sym144__)) * (1 - - rvalue(lcm_sym184__, "lcm_sym184__", - index_uni(inline_sym8__), index_uni(lcm_sym160__)))), + rvalue(lcm_sym174__, "lcm_sym174__", + index_uni(inline_sym8__), index_uni(lcm_sym150__)))), rvalue(inline_sym4__, "inline_sym4__", - index_uni(inline_sym8__), index_uni(lcm_sym160__)), + index_uni(inline_sym8__), index_uni(lcm_sym150__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym8__), index_uni(lcm_sym154__)))), + index_uni(inline_sym8__), index_uni(lcm_sym144__)))), "assigning variable inline_sym4__", index_uni(inline_sym8__), - index_uni(lcm_sym154__)); + index_uni(lcm_sym144__)); } } if (inline_sym9__) { @@ -21863,14 +20517,14 @@ class inlining_fail2_model final : public model_base_crtp } assign(chi, inline_sym1__, "assigning variable chi"); current_statement__ = 6; - if (lcm_sym144__) { + if (lcm_sym134__) { current_statement__ = 6; - if (lcm_sym147__) { + if (lcm_sym137__) { current_statement__ = 6; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym198__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym188__; ++sym2__) { current_statement__ = 6; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -21879,12 +20533,12 @@ class inlining_fail2_model final : public model_base_crtp } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 6; - if (lcm_sym147__) { + if (lcm_sym137__) { current_statement__ = 6; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym198__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym188__; ++sym2__) { current_statement__ = 6; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -21895,14 +20549,14 @@ class inlining_fail2_model final : public model_base_crtp } } current_statement__ = 6; - if (lcm_sym144__) { + if (lcm_sym134__) { current_statement__ = 6; - if (lcm_sym147__) { + if (lcm_sym137__) { current_statement__ = 6; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym198__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym188__; ++sym2__) { current_statement__ = 6; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -21911,12 +20565,12 @@ class inlining_fail2_model final : public model_base_crtp } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 6; - if (lcm_sym147__) { + if (lcm_sym137__) { current_statement__ = 6; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym198__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym188__; ++sym2__) { current_statement__ = 6; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -21926,72 +20580,76 @@ class inlining_fail2_model final : public model_base_crtp } } current_statement__ = 7; - if (lcm_sym144__) { - current_statement__ = 7; - if (lcm_sym145__) { - current_statement__ = 7; - check_greater_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym184__, "lcm_sym184__", - index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { - current_statement__ = 7; - check_greater_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym184__, "lcm_sym184__", - index_uni(1), index_uni(sym2__)), 0); - } - } - for (int sym1__ = 2; sym1__ <= M; ++sym1__) { - current_statement__ = 7; - if (lcm_sym145__) { + if (lcm_sym134__) { + { + lcm_sym135__ = logical_gte(n_occasions, 1); + if (lcm_sym135__) { current_statement__ = 7; check_greater_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym184__, "lcm_sym184__", - index_uni(sym1__), index_uni(1)), 0); + rvalue(lcm_sym174__, "lcm_sym174__", + index_uni(1), index_uni(1)), 0); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { current_statement__ = 7; check_greater_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym184__, "lcm_sym184__", - index_uni(sym1__), index_uni(sym2__)), - 0); + rvalue(lcm_sym174__, "lcm_sym174__", + index_uni(1), index_uni(sym2__)), 0); } } + for (int sym1__ = 2; sym1__ <= M; ++sym1__) { + current_statement__ = 7; + if (lcm_sym135__) { + current_statement__ = 7; + check_greater_or_equal(function__, "p[sym1__, sym2__]", + rvalue(lcm_sym174__, "lcm_sym174__", + index_uni(sym1__), index_uni(1)), 0); + for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { + current_statement__ = 7; + check_greater_or_equal(function__, "p[sym1__, sym2__]", + rvalue(lcm_sym174__, "lcm_sym174__", + index_uni(sym1__), index_uni(sym2__)), + 0); + } + } + } } - } + } else { + lcm_sym135__ = logical_gte(n_occasions, 1); + } current_statement__ = 7; - if (lcm_sym144__) { + if (lcm_sym134__) { current_statement__ = 7; - if (lcm_sym145__) { + if (lcm_sym135__) { current_statement__ = 7; check_less_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym184__, "lcm_sym184__", + rvalue(lcm_sym174__, "lcm_sym174__", index_uni(1), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { current_statement__ = 7; check_less_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym184__, "lcm_sym184__", + rvalue(lcm_sym174__, "lcm_sym174__", index_uni(1), index_uni(sym2__)), 1); } } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 7; - if (lcm_sym145__) { + if (lcm_sym135__) { current_statement__ = 7; check_less_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym184__, "lcm_sym184__", + rvalue(lcm_sym174__, "lcm_sym174__", index_uni(sym1__), index_uni(1)), 1); for (int sym2__ = 2; sym2__ <= n_occasions; ++sym2__) { current_statement__ = 7; check_less_or_equal(function__, "p[sym1__, sym2__]", - rvalue(lcm_sym184__, "lcm_sym184__", + rvalue(lcm_sym174__, "lcm_sym174__", index_uni(sym1__), index_uni(sym2__)), 1); } } } } current_statement__ = 8; - if (lcm_sym144__) { + if (lcm_sym134__) { current_statement__ = 8; - if (lcm_sym145__) { + if (lcm_sym135__) { current_statement__ = 8; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -22005,7 +20663,7 @@ class inlining_fail2_model final : public model_base_crtp } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 8; - if (lcm_sym145__) { + if (lcm_sym135__) { current_statement__ = 8; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -22021,9 +20679,9 @@ class inlining_fail2_model final : public model_base_crtp } } current_statement__ = 8; - if (lcm_sym144__) { + if (lcm_sym134__) { current_statement__ = 8; - if (lcm_sym145__) { + if (lcm_sym135__) { current_statement__ = 8; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -22037,7 +20695,7 @@ class inlining_fail2_model final : public model_base_crtp } for (int sym1__ = 2; sym1__ <= M; ++sym1__) { current_statement__ = 8; - if (lcm_sym145__) { + if (lcm_sym135__) { current_statement__ = 8; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym1__, "inline_sym1__", @@ -22052,74 +20710,9 @@ class inlining_fail2_model final : public model_base_crtp } } if (emit_transformed_parameters__) { - if (lcm_sym147__) { - if (lcm_sym144__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= lcm_sym198__; ++sym1__) { - if (lcm_sym144__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (lcm_sym145__) { - if (lcm_sym144__) { - vars__.emplace_back( - rvalue(lcm_sym184__, "lcm_sym184__", - index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - vars__.emplace_back( - rvalue(lcm_sym184__, "lcm_sym184__", - index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - if (lcm_sym144__) { - vars__.emplace_back( - rvalue(lcm_sym184__, "lcm_sym184__", - index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - vars__.emplace_back( - rvalue(lcm_sym184__, "lcm_sym184__", - index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (lcm_sym145__) { - if (lcm_sym144__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - if (lcm_sym144__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(sym2__), index_uni(sym1__))); - } - } - } - } + out__.write(phi); + out__.write(lcm_sym174__); + out__.write(inline_sym1__); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -22147,39 +20740,40 @@ class inlining_fail2_model final : public model_base_crtp z = std::vector>(M, std::vector(n_occasions, std::numeric_limits::min())); - current_statement__ = 39; - if (lcm_sym144__) { + current_statement__ = 38; + if (lcm_sym134__) { int q; q = std::numeric_limits::min(); double mu2; mu2 = std::numeric_limits::quiet_NaN(); - lcm_sym206__ = rvalue(gamma, "gamma", index_uni(1)); - assign(z, bernoulli_rng(lcm_sym206__, base_rng__), + lcm_sym162__ = rvalue(gamma, "gamma", index_uni(1)); + assign(z, bernoulli_rng(lcm_sym162__, base_rng__), "assigning variable z", index_uni(1), index_uni(1)); - lcm_sym146__ = logical_gte(n_occasions, 2); - if (lcm_sym146__) { - lcm_sym224__ = rvalue(z, "z", index_uni(1), index_uni(1)); - lcm_sym167__ = (1 * (1 - lcm_sym224__)); - q = lcm_sym167__; - lcm_sym220__ = rvalue(phi, "phi", index_uni(1), index_uni(1)); - lcm_sym179__ = stan::math::fma(lcm_sym220__, lcm_sym224__, + lcm_sym136__ = logical_gte(n_occasions, 2); + if (lcm_sym136__) { + lcm_sym157__ = (1 * + (1 - rvalue(z, "z", index_uni(1), index_uni(1)))); + q = lcm_sym157__; + lcm_sym196__ = rvalue(phi, "phi", index_uni(1), index_uni(1)); + lcm_sym169__ = stan::math::fma(lcm_sym196__, + rvalue(z, "z", index_uni(1), index_uni(1)), (rvalue(gamma, "gamma", index_uni(2)) * - lcm_sym167__)); - current_statement__ = 33; - assign(z, bernoulli_rng(lcm_sym179__, base_rng__), + lcm_sym157__)); + current_statement__ = 32; + assign(z, bernoulli_rng(lcm_sym169__, base_rng__), "assigning variable z", index_uni(1), index_uni(2)); for (int t = 3; t <= n_occasions; ++t) { - current_statement__ = 34; + current_statement__ = 33; q = (q * (1 - rvalue(z, "z", index_uni(1), index_uni((t - 1))))); - lcm_sym180__ = stan::math::fma( + lcm_sym170__ = stan::math::fma( rvalue(phi, "phi", index_uni(1), index_uni((t - 1))), rvalue(z, "z", index_uni(1), index_uni((t - 1))), (rvalue(gamma, "gamma", index_uni(t)) * q)); - current_statement__ = 33; - assign(z, bernoulli_rng(lcm_sym180__, base_rng__), + current_statement__ = 32; + assign(z, bernoulli_rng(lcm_sym170__, base_rng__), "assigning variable z", index_uni(1), index_uni(t)); } } @@ -22190,41 +20784,41 @@ class inlining_fail2_model final : public model_base_crtp double mu2; mu2 = std::numeric_limits::quiet_NaN(); - current_statement__ = 36; - assign(z, bernoulli_rng(lcm_sym206__, base_rng__), + current_statement__ = 35; + assign(z, bernoulli_rng(lcm_sym162__, base_rng__), "assigning variable z", index_uni(i), index_uni(1)); - current_statement__ = 37; - if (lcm_sym146__) { - lcm_sym166__ = (1 * + current_statement__ = 36; + if (lcm_sym136__) { + lcm_sym156__ = (1 * (1 - rvalue(z, "z", index_uni(i), index_uni(1)))); - q = lcm_sym166__; - lcm_sym177__ = stan::math::fma( + q = lcm_sym156__; + lcm_sym167__ = stan::math::fma( rvalue(phi, "phi", index_uni(i), index_uni(1)), rvalue(z, "z", index_uni(i), index_uni(1)), (rvalue(gamma, "gamma", index_uni(2)) * - lcm_sym166__)); - current_statement__ = 33; - assign(z, bernoulli_rng(lcm_sym177__, base_rng__), + lcm_sym156__)); + current_statement__ = 32; + assign(z, bernoulli_rng(lcm_sym167__, base_rng__), "assigning variable z", index_uni(i), index_uni(2)); for (int t = 3; t <= n_occasions; ++t) { - current_statement__ = 34; + current_statement__ = 33; q = (q * (1 - rvalue(z, "z", index_uni(i), index_uni((t - 1))))); - lcm_sym178__ = stan::math::fma( + lcm_sym168__ = stan::math::fma( rvalue(phi, "phi", index_uni(i), index_uni((t - 1))), rvalue(z, "z", index_uni(i), index_uni((t - 1))), (rvalue(gamma, "gamma", index_uni(t)) * q)); - current_statement__ = 33; - assign(z, bernoulli_rng(lcm_sym178__, base_rng__), + current_statement__ = 32; + assign(z, bernoulli_rng(lcm_sym168__, base_rng__), "assigning variable z", index_uni(i), index_uni(t)); } } } } { - current_statement__ = 40; + current_statement__ = 39; validate_non_negative_index("cprob", "n_occasions", n_occasions); Eigen::Matrix cprob; cprob = Eigen::Matrix(n_occasions); @@ -22239,32 +20833,32 @@ class inlining_fail2_model final : public model_base_crtp int inline_sym12__; inline_sym12__ = std::numeric_limits::min(); - lcm_sym185__ = rows(gamma); - current_statement__ = 43; - validate_non_negative_index("log_cprob", "N", lcm_sym185__); + lcm_sym175__ = rows(gamma); + current_statement__ = 42; + validate_non_negative_index("log_cprob", "N", lcm_sym175__); Eigen::Matrix inline_sym13__; - inline_sym13__ = Eigen::Matrix(lcm_sym185__); + inline_sym13__ = Eigen::Matrix(lcm_sym175__); stan::math::fill(inline_sym13__, DUMMY_VAR__); local_scalar_t__ inline_sym14__; inline_sym14__ = DUMMY_VAR__; - if (logical_gte(lcm_sym185__, 1)) { - current_statement__ = 46; + if (logical_gte(lcm_sym175__, 1)) { + current_statement__ = 45; assign(inline_sym13__, (stan::math::log(rvalue(gamma, "gamma", index_uni(1))) + 0), "assigning variable inline_sym13__", index_uni(1)); - current_statement__ = 47; + current_statement__ = 46; inline_sym14__ = (0 + log1m(rvalue(gamma, "gamma", index_uni(1)))); - for (int inline_sym15__ = 2; inline_sym15__ <= lcm_sym185__; + for (int inline_sym15__ = 2; inline_sym15__ <= lcm_sym175__; ++inline_sym15__) { - current_statement__ = 46; + current_statement__ = 45; assign(inline_sym13__, (stan::math::log(gamma[(inline_sym15__ - 1)]) + inline_sym14__), "assigning variable inline_sym13__", index_uni(inline_sym15__)); - current_statement__ = 47; + current_statement__ = 46; inline_sym14__ = (inline_sym14__ + log1m(gamma[(inline_sym15__ - 1)])); } @@ -22277,36 +20871,36 @@ class inlining_fail2_model final : public model_base_crtp "assigning variable inline_sym11__"); break; } - current_statement__ = 50; + current_statement__ = 49; validate_non_negative_index("recruit", "M", M); - current_statement__ = 51; + current_statement__ = 50; validate_non_negative_index("recruit", "n_occasions", n_occasions); std::vector> recruit; recruit = std::vector>(M, std::vector(n_occasions, std::numeric_limits::min())); - current_statement__ = 52; + current_statement__ = 51; assign(recruit, rep_array(0, M, n_occasions), "assigning variable recruit"); - current_statement__ = 53; + current_statement__ = 52; validate_non_negative_index("Nind", "M", M); std::vector Nind; Nind = std::vector(M, std::numeric_limits::min()); - current_statement__ = 55; + current_statement__ = 54; validate_non_negative_index("Nalive", "M", M); std::vector Nalive; Nalive = std::vector(M, std::numeric_limits::min()); - lcm_sym189__ = square(sigma); - sigma2 = lcm_sym189__; - lcm_sym191__ = sum(inline_sym11__); - psi = lcm_sym191__; - assign(lcm_sym143__, divide(inline_sym11__, lcm_sym191__), - "assigning variable lcm_sym143__"); - assign(b, lcm_sym143__, "assigning variable b"); - current_statement__ = 64; - if (lcm_sym144__) { + lcm_sym179__ = square(sigma); + sigma2 = lcm_sym179__; + lcm_sym181__ = sum(inline_sym11__); + psi = lcm_sym181__; + assign(lcm_sym133__, divide(inline_sym11__, lcm_sym181__), + "assigning variable lcm_sym133__"); + assign(b, lcm_sym133__, "assigning variable b"); + current_statement__ = 63; + if (lcm_sym134__) { int f; f = std::numeric_limits::min(); @@ -22316,10 +20910,10 @@ class inlining_fail2_model final : public model_base_crtp inline_sym20__ = 0; for (int inline_sym21__ = 1; inline_sym21__ <= 1; ++inline_sym21__) { - lcm_sym188__ = size(rvalue(z, "z", index_uni(1))); - for (int inline_sym19__ = 1; inline_sym19__ <= lcm_sym188__; + lcm_sym178__ = size(rvalue(z, "z", index_uni(1))); + for (int inline_sym19__ = 1; inline_sym19__ <= lcm_sym178__; ++inline_sym19__) { - current_statement__ = 59; + current_statement__ = 58; if (rvalue(z, "z", index_uni(1), index_uni(inline_sym19__))) { inline_sym20__ = 1; inline_sym18__ = inline_sym19__; @@ -22333,9 +20927,9 @@ class inlining_fail2_model final : public model_base_crtp inline_sym18__ = 0; break; } - current_statement__ = 62; + current_statement__ = 61; if (logical_gt(inline_sym18__, 0)) { - current_statement__ = 61; + current_statement__ = 60; assign(recruit, 1, "assigning variable recruit", index_uni(1), index_uni(inline_sym18__)); @@ -22351,10 +20945,10 @@ class inlining_fail2_model final : public model_base_crtp inline_sym20__ = 0; for (int inline_sym21__ = 1; inline_sym21__ <= 1; ++inline_sym21__) { - lcm_sym187__ = size(rvalue(z, "z", index_uni(i))); - for (int inline_sym19__ = 1; inline_sym19__ <= lcm_sym187__; + lcm_sym177__ = size(rvalue(z, "z", index_uni(i))); + for (int inline_sym19__ = 1; inline_sym19__ <= lcm_sym177__; ++inline_sym19__) { - current_statement__ = 59; + current_statement__ = 58; if (rvalue(z, "z", index_uni(i), index_uni(inline_sym19__))) { inline_sym20__ = 1; inline_sym18__ = inline_sym19__; @@ -22368,96 +20962,63 @@ class inlining_fail2_model final : public model_base_crtp inline_sym18__ = 0; break; } - current_statement__ = 62; + current_statement__ = 61; if (logical_gt(inline_sym18__, 0)) { - current_statement__ = 61; + current_statement__ = 60; assign(recruit, 1, "assigning variable recruit", index_uni(i), index_uni(inline_sym18__)); } } } - current_statement__ = 68; - if (lcm_sym145__) { - current_statement__ = 65; + current_statement__ = 67; + if (lcm_sym135__) { + current_statement__ = 64; assign(N, sum(rvalue(z, "z", index_omni(), index_uni(1))), "assigning variable N", index_uni(1)); - current_statement__ = 66; + current_statement__ = 65; assign(B, sum(rvalue(recruit, "recruit", index_omni(), index_uni(1))), "assigning variable B", index_uni(1)); for (int t = 2; t <= n_occasions; ++t) { - current_statement__ = 65; + current_statement__ = 64; assign(N, sum(rvalue(z, "z", index_omni(), index_uni(t))), "assigning variable N", index_uni(t)); - current_statement__ = 66; + current_statement__ = 65; assign(B, sum(rvalue(recruit, "recruit", index_omni(), index_uni(t))), "assigning variable B", index_uni(t)); } } - current_statement__ = 72; - if (lcm_sym144__) { - current_statement__ = 69; + current_statement__ = 71; + if (lcm_sym134__) { + current_statement__ = 68; assign(Nind, sum(rvalue(z, "z", index_uni(1))), "assigning variable Nind", index_uni(1)); - current_statement__ = 70; + current_statement__ = 69; assign(Nalive, (1 - logical_negation(rvalue(Nind, "Nind", index_uni(1)))), "assigning variable Nalive", index_uni(1)); for (int i = 2; i <= M; ++i) { - current_statement__ = 69; + current_statement__ = 68; assign(Nind, sum(rvalue(z, "z", index_uni(i))), "assigning variable Nind", index_uni(i)); - current_statement__ = 70; + current_statement__ = 69; assign(Nalive, (1 - logical_negation(rvalue(Nind, "Nind", index_uni(i)))), "assigning variable Nalive", index_uni(i)); } } - current_statement__ = 73; + current_statement__ = 72; Nsuper = sum(Nalive); } - vars__.emplace_back(lcm_sym189__); - vars__.emplace_back(lcm_sym191__); - if (lcm_sym145__) { - vars__.emplace_back( - rvalue(lcm_sym143__, "lcm_sym143__", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - vars__.emplace_back(lcm_sym143__[(sym1__ - 1)]); - } - } - vars__.emplace_back(Nsuper); - if (lcm_sym145__) { - vars__.emplace_back(rvalue(N, "N", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - vars__.emplace_back(N[(sym1__ - 1)]); - } - } - if (lcm_sym145__) { - vars__.emplace_back(rvalue(B, "B", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - vars__.emplace_back(B[(sym1__ - 1)]); - } - } - if (lcm_sym145__) { - if (lcm_sym144__) { - vars__.emplace_back(rvalue(z, "z", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - vars__.emplace_back( - rvalue(z, "z", index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - if (lcm_sym144__) { - vars__.emplace_back( - rvalue(z, "z", index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= M; ++sym2__) { - vars__.emplace_back(z[(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - } + out__.write(lcm_sym179__); + out__.write(lcm_sym181__); + out__.write(lcm_sym133__); + out__.write(Nsuper); + out__.write(N); + out__.write(B); + out__.write(z); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -22468,151 +21029,65 @@ class inlining_fail2_model final : public model_base_crtp template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym142__; - double lcm_sym141__; - double lcm_sym140__; - double lcm_sym139__; - double lcm_sym134__; - double lcm_sym133__; - double lcm_sym138__; - double lcm_sym137__; - double lcm_sym136__; - double lcm_sym135__; int lcm_sym132__; - int lcm_sym131__; int lcm_sym130__; int lcm_sym129__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double mean_phi; - mean_phi = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_phi = context__.vals_r("mean_phi")[(1 - 1)]; - double mean_phi_free__; - mean_phi_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_phi_free__ = stan::math::lub_free(mean_phi, 0, 1); - double mean_p; - mean_p = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - mean_p = context__.vals_r("mean_p")[(1 - 1)]; - double mean_p_free__; - mean_p_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - mean_p_free__ = stan::math::lub_free(mean_p, 0, 1); - Eigen::Matrix gamma; - gamma = Eigen::Matrix(n_occasions); - stan::math::fill(gamma, std::numeric_limits::quiet_NaN()); + local_scalar_t__ mean_phi; + mean_phi = DUMMY_VAR__; - { - std::vector gamma_flat__; - current_statement__ = 3; - gamma_flat__ = context__.vals_r("gamma"); - current_statement__ = 3; - pos__ = 1; - lcm_sym129__ = logical_gte(n_occasions, 1); - if (lcm_sym129__) { - current_statement__ = 3; - assign(gamma, rvalue(gamma_flat__, "gamma_flat__", index_uni(1)), - "assigning variable gamma", index_uni(1)); - current_statement__ = 3; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - current_statement__ = 3; - assign(gamma, gamma_flat__[(pos__ - 1)], - "assigning variable gamma", index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix gamma_free__; - gamma_free__ = Eigen::Matrix(n_occasions); - stan::math::fill(gamma_free__, std::numeric_limits::quiet_NaN()); + mean_phi = in__.read(); + out__.write_free_lub(0, 1, mean_phi); + local_scalar_t__ mean_p; + mean_p = DUMMY_VAR__; + mean_p = in__.read(); + out__.write_free_lub(0, 1, mean_p); + Eigen::Matrix gamma; + gamma = Eigen::Matrix(n_occasions); + stan::math::fill(gamma, DUMMY_VAR__); - current_statement__ = 3; - if (lcm_sym129__) { - current_statement__ = 3; - assign(gamma_free__, - stan::math::lub_free(rvalue(gamma, "gamma", index_uni(1)), 0, 1), - "assigning variable gamma_free__", index_uni(1)); + if (logical_gte(n_occasions, 1)) { + assign(gamma, in__.read(), + "assigning variable gamma", index_uni(1)); for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - current_statement__ = 3; - assign(gamma_free__, - stan::math::lub_free(gamma[(sym1__ - 1)], 0, 1), - "assigning variable gamma_free__", index_uni(sym1__)); + assign(gamma, in__.read(), + "assigning variable gamma", index_uni(sym1__)); } } - Eigen::Matrix epsilon; - epsilon = Eigen::Matrix((n_occasions - 1)); - stan::math::fill(epsilon, std::numeric_limits::quiet_NaN()); - - { - std::vector epsilon_flat__; - current_statement__ = 4; - epsilon_flat__ = context__.vals_r("epsilon"); - current_statement__ = 4; - pos__ = 1; - lcm_sym131__ = (n_occasions - 1); - lcm_sym130__ = logical_gte(lcm_sym131__, 1); - if (lcm_sym130__) { - current_statement__ = 4; - assign(epsilon, - rvalue(epsilon_flat__, "epsilon_flat__", index_uni(1)), - "assigning variable epsilon", index_uni(1)); - current_statement__ = 4; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= lcm_sym131__; ++sym1__) { - current_statement__ = 4; - assign(epsilon, epsilon_flat__[(pos__ - 1)], - "assigning variable epsilon", index_uni(sym1__)); - current_statement__ = 4; - pos__ = (pos__ + 1); - } - } - } - double sigma; - sigma = std::numeric_limits::quiet_NaN(); - - current_statement__ = 5; - sigma = context__.vals_r("sigma")[(1 - 1)]; - double sigma_free__; - sigma_free__ = std::numeric_limits::quiet_NaN(); + out__.write_free_lub(0, 1, gamma); + Eigen::Matrix epsilon; + epsilon = Eigen::Matrix((n_occasions - 1)); + stan::math::fill(epsilon, DUMMY_VAR__); - current_statement__ = 5; - sigma_free__ = stan::math::lub_free(sigma, 0, 5); - vars__.emplace_back(mean_phi_free__); - vars__.emplace_back(mean_p_free__); - if (lcm_sym129__) { - vars__.emplace_back( - rvalue(gamma_free__, "gamma_free__", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - vars__.emplace_back(gamma_free__[(sym1__ - 1)]); + lcm_sym132__ = (n_occasions - 1); + if (logical_gte(lcm_sym132__, 1)) { + assign(epsilon, in__.read(), + "assigning variable epsilon", index_uni(1)); + for (int sym1__ = 2; sym1__ <= lcm_sym132__; ++sym1__) { + assign(epsilon, in__.read(), + "assigning variable epsilon", index_uni(sym1__)); } } - if (lcm_sym130__) { - vars__.emplace_back(rvalue(epsilon, "epsilon", index_uni(1))); - for (int sym1__ = 2; sym1__ <= lcm_sym131__; ++sym1__) { - vars__.emplace_back(epsilon[(sym1__ - 1)]); - } - } - vars__.emplace_back(sigma_free__); + out__.write(epsilon); + local_scalar_t__ sigma; + sigma = DUMMY_VAR__; + + sigma = in__.read(); + out__.write_free_lub(0, 5, sigma); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -22659,41 +21134,41 @@ class inlining_fail2_model final : public model_base_crtp param_names__.emplace_back(std::string() + "mean_phi"); param_names__.emplace_back(std::string() + "mean_p"); - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - param_names__.emplace_back(std::string() + "gamma" + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "gamma" + '.' + std::to_string(sym307__)); } } - for (int sym340__ = 1; sym340__ <= epsilon_1dim__; ++sym340__) { + for (int sym307__ = 1; sym307__ <= epsilon_1dim__; ++sym307__) { { - param_names__.emplace_back(std::string() + "epsilon" + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "epsilon" + '.' + std::to_string(sym307__)); } } param_names__.emplace_back(std::string() + "sigma"); if (emit_transformed_parameters__) { - for (int sym340__ = 1; sym340__ <= phi_2dim__; ++sym340__) { + for (int sym307__ = 1; sym307__ <= phi_2dim__; ++sym307__) { { - for (int sym341__ = 1; sym341__ <= M; ++sym341__) { + for (int sym308__ = 1; sym308__ <= M; ++sym308__) { { - param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym341__) + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym308__) + '.' + std::to_string(sym307__)); } } } } - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - for (int sym341__ = 1; sym341__ <= M; ++sym341__) { + for (int sym308__ = 1; sym308__ <= M; ++sym308__) { { - param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym341__) + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym308__) + '.' + std::to_string(sym307__)); } } } } - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - for (int sym341__ = 1; sym341__ <= M; ++sym341__) { + for (int sym308__ = 1; sym308__ <= M; ++sym308__) { { - param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym341__) + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym308__) + '.' + std::to_string(sym307__)); } } } @@ -22703,27 +21178,27 @@ class inlining_fail2_model final : public model_base_crtp if (emit_generated_quantities__) { param_names__.emplace_back(std::string() + "sigma2"); param_names__.emplace_back(std::string() + "psi"); - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - param_names__.emplace_back(std::string() + "b" + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "b" + '.' + std::to_string(sym307__)); } } param_names__.emplace_back(std::string() + "Nsuper"); - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - param_names__.emplace_back(std::string() + "N" + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "N" + '.' + std::to_string(sym307__)); } } - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - param_names__.emplace_back(std::string() + "B" + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "B" + '.' + std::to_string(sym307__)); } } - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - for (int sym341__ = 1; sym341__ <= M; ++sym341__) { + for (int sym308__ = 1; sym308__ <= M; ++sym308__) { { - param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym341__) + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym308__) + '.' + std::to_string(sym307__)); } } } @@ -22740,41 +21215,41 @@ class inlining_fail2_model final : public model_base_crtp param_names__.emplace_back(std::string() + "mean_phi"); param_names__.emplace_back(std::string() + "mean_p"); - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - param_names__.emplace_back(std::string() + "gamma" + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "gamma" + '.' + std::to_string(sym307__)); } } - for (int sym340__ = 1; sym340__ <= epsilon_1dim__; ++sym340__) { + for (int sym307__ = 1; sym307__ <= epsilon_1dim__; ++sym307__) { { - param_names__.emplace_back(std::string() + "epsilon" + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "epsilon" + '.' + std::to_string(sym307__)); } } param_names__.emplace_back(std::string() + "sigma"); if (emit_transformed_parameters__) { - for (int sym340__ = 1; sym340__ <= phi_2dim__; ++sym340__) { + for (int sym307__ = 1; sym307__ <= phi_2dim__; ++sym307__) { { - for (int sym341__ = 1; sym341__ <= M; ++sym341__) { + for (int sym308__ = 1; sym308__ <= M; ++sym308__) { { - param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym341__) + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym308__) + '.' + std::to_string(sym307__)); } } } } - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - for (int sym341__ = 1; sym341__ <= M; ++sym341__) { + for (int sym308__ = 1; sym308__ <= M; ++sym308__) { { - param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym341__) + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym308__) + '.' + std::to_string(sym307__)); } } } } - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - for (int sym341__ = 1; sym341__ <= M; ++sym341__) { + for (int sym308__ = 1; sym308__ <= M; ++sym308__) { { - param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym341__) + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym308__) + '.' + std::to_string(sym307__)); } } } @@ -22784,27 +21259,27 @@ class inlining_fail2_model final : public model_base_crtp if (emit_generated_quantities__) { param_names__.emplace_back(std::string() + "sigma2"); param_names__.emplace_back(std::string() + "psi"); - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - param_names__.emplace_back(std::string() + "b" + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "b" + '.' + std::to_string(sym307__)); } } param_names__.emplace_back(std::string() + "Nsuper"); - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - param_names__.emplace_back(std::string() + "N" + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "N" + '.' + std::to_string(sym307__)); } } - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - param_names__.emplace_back(std::string() + "B" + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "B" + '.' + std::to_string(sym307__)); } } - for (int sym340__ = 1; sym340__ <= n_occasions; ++sym340__) { + for (int sym307__ = 1; sym307__ <= n_occasions; ++sym307__) { { - for (int sym341__ = 1; sym341__ <= M; ++sym341__) { + for (int sym308__ = 1; sym308__ <= M; ++sym308__) { { - param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym341__) + '.' + std::to_string(sym340__)); + param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym308__) + '.' + std::to_string(sym307__)); } } } @@ -22834,8 +21309,16 @@ class inlining_fail2_model final : public model_base_crtp const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((((1 + 1) + n_occasions) + epsilon_1dim__) + 1); + const size_t num_transformed = + (((M * phi_2dim__) + (M * n_occasions)) + (M * n_occasions)); + const size_t num_gen_quantities = + ((((((1 + 1) + n_occasions) + 1) + n_occasions) + n_occasions) + + (M * n_occasions)); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -22850,8 +21333,17 @@ class inlining_fail2_model final : public model_base_crtp bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((((1 + 1) + n_occasions) + epsilon_1dim__) + 1); + const size_t num_transformed = + (((M * phi_2dim__) + (M * n_occasions)) + (M * n_occasions)); + const size_t num_gen_quantities = + ((((((1 + 1) + n_occasions) + 1) + n_occasions) + n_occasions) + + (M * n_occasions)); + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -22872,20 +21364,33 @@ class inlining_fail2_model final : public model_base_crtp inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mean_phi", + "mean_p", "gamma", "epsilon", "sigma", "phi", "p", "chi", "sigma2", + "psi", "b", "Nsuper", "N", "B", "z"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = inlining_fail2_model_namespace::inlining_fail2_model; @@ -23051,8 +21556,8 @@ class lcm_experiment_model final : public model_base_crtp const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -23085,13 +21590,14 @@ class lcm_experiment_model final : public model_base_crtp template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; @@ -23172,8 +21678,12 @@ class lcm_experiment_model final : public model_base_crtp const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -23188,8 +21698,13 @@ class lcm_experiment_model final : public model_base_crtp bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -23210,20 +21725,31 @@ class lcm_experiment_model final : public model_base_crtp inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = lcm_experiment_model_namespace::lcm_experiment_model; @@ -23382,8 +21908,8 @@ class lcm_experiment2_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -23404,7 +21930,7 @@ class lcm_experiment2_model final : public model_base_crtp(); - vars__.emplace_back(x); + out__.write(x); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -23422,25 +21948,25 @@ class lcm_experiment2_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double x; - x = std::numeric_limits::quiet_NaN(); + local_scalar_t__ x; + x = DUMMY_VAR__; - current_statement__ = 1; - x = context__.vals_r("x")[(1 - 1)]; - vars__.emplace_back(x); + x = in__.read(); + out__.write(x); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -23515,8 +22041,12 @@ class lcm_experiment2_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 1; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -23531,8 +22061,13 @@ class lcm_experiment2_model final : public model_base_crtp @@ -23553,20 +22088,31 @@ class lcm_experiment2_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"x"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = lcm_experiment2_model_namespace::lcm_experiment2_model; @@ -23702,7 +22248,7 @@ class lcm_fails_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym9__; + double lcm_sym4__; std::vector theta; theta = std::vector(J, DUMMY_VAR__); @@ -23731,8 +22277,8 @@ class lcm_fails_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -23746,23 +22292,15 @@ class lcm_fails_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym8__; - double lcm_sym7__; - int lcm_sym6__; - int lcm_sym5__; - int lcm_sym4__; + int lcm_sym3__; + int lcm_sym2__; std::vector theta; theta = std::vector(J, std::numeric_limits::quiet_NaN()); current_statement__ = 1; theta = in__.template read>(J); - if (logical_gte(J, 1)) { - vars__.emplace_back(rvalue(theta, "theta", index_uni(1))); - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - vars__.emplace_back(theta[(sym1__ - 1)]); - } - } + out__.write(theta); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -23780,34 +22318,31 @@ class lcm_fails_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym3__; - double lcm_sym2__; int lcm_sym1__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - std::vector theta; - theta = std::vector(J, std::numeric_limits::quiet_NaN()); - + std::vector theta; + theta = std::vector(J, DUMMY_VAR__); - current_statement__ = 1; - theta = context__.vals_r("theta"); if (logical_gte(J, 1)) { - vars__.emplace_back(rvalue(theta, "theta", index_uni(1))); + theta[(1 - 1)] = in__.read(); for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - vars__.emplace_back(theta[(sym1__ - 1)]); + theta[(sym1__ - 1)] = in__.read(); } } + out__.write(theta); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -23835,9 +22370,9 @@ class lcm_fails_model final : public model_base_crtp { bool emit_generated_quantities__ = true) const final { - for (int sym10__ = 1; sym10__ <= J; ++sym10__) { + for (int sym5__ = 1; sym5__ <= J; ++sym5__) { { - param_names__.emplace_back(std::string() + "theta" + '.' + std::to_string(sym10__)); + param_names__.emplace_back(std::string() + "theta" + '.' + std::to_string(sym5__)); } } if (emit_transformed_parameters__) { @@ -23856,9 +22391,9 @@ class lcm_fails_model final : public model_base_crtp { bool emit_generated_quantities__ = true) const final { - for (int sym10__ = 1; sym10__ <= J; ++sym10__) { + for (int sym5__ = 1; sym5__ <= J; ++sym5__) { { - param_names__.emplace_back(std::string() + "theta" + '.' + std::to_string(sym10__)); + param_names__.emplace_back(std::string() + "theta" + '.' + std::to_string(sym5__)); } } if (emit_transformed_parameters__) { @@ -23892,8 +22427,12 @@ class lcm_fails_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = J; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -23908,8 +22447,13 @@ class lcm_fails_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = J; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -23930,20 +22474,31 @@ class lcm_fails_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"theta"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = lcm_fails_model_namespace::lcm_fails_model; @@ -24314,15 +22869,6 @@ return prob_uncaptured(nind, n_occasions, p, phi, pstream__); class lcm_fails2_model final : public model_base_crtp { private: - int lcm_sym160__; - int lcm_sym159__; - int lcm_sym158__; - int lcm_sym157__; - int lcm_sym156__; - int lcm_sym155__; - int lcm_sym154__; - int lcm_sym153__; - int lcm_sym152__; int lcm_sym151__; int lcm_sym150__; int lcm_sym149__; @@ -24338,6 +22884,15 @@ class lcm_fails2_model final : public model_base_crtp { int lcm_sym139__; int lcm_sym138__; int lcm_sym137__; + int lcm_sym136__; + int lcm_sym135__; + int lcm_sym134__; + int lcm_sym133__; + int lcm_sym132__; + int lcm_sym131__; + int lcm_sym130__; + int lcm_sym129__; + int lcm_sym128__; int nind; int n_occasions; std::vector> y; @@ -24432,11 +22987,11 @@ class lcm_fails2_model final : public model_base_crtp { y_flat__ = context__.vals_i("y"); current_statement__ = 35; pos__ = 1; - lcm_sym137__ = logical_gte(n_occasions, 1); - if (lcm_sym137__) { + lcm_sym128__ = logical_gte(n_occasions, 1); + if (lcm_sym128__) { { - lcm_sym138__ = logical_gte(nind, 1); - if (lcm_sym138__) { + lcm_sym129__ = logical_gte(nind, 1); + if (lcm_sym129__) { current_statement__ = 35; assign(y, rvalue(y_flat__, "y_flat__", index_uni(1)), "assigning variable y", index_uni(1), index_uni(1)); @@ -24452,7 +23007,7 @@ class lcm_fails2_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { current_statement__ = 35; - if (lcm_sym138__) { + if (lcm_sym129__) { current_statement__ = 35; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(1), index_uni(sym1__)); @@ -24470,13 +23025,13 @@ class lcm_fails2_model final : public model_base_crtp { } } } else { - lcm_sym138__ = logical_gte(nind, 1); + lcm_sym129__ = logical_gte(nind, 1); } } current_statement__ = 35; - if (lcm_sym138__) { + if (lcm_sym129__) { current_statement__ = 35; - if (lcm_sym137__) { + if (lcm_sym128__) { current_statement__ = 35; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), @@ -24490,7 +23045,7 @@ class lcm_fails2_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 35; - if (lcm_sym137__) { + if (lcm_sym128__) { current_statement__ = 35; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", @@ -24504,9 +23059,9 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 35; - if (lcm_sym138__) { + if (lcm_sym129__) { current_statement__ = 35; - if (lcm_sym137__) { + if (lcm_sym128__) { current_statement__ = 35; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 1); @@ -24519,7 +23074,7 @@ class lcm_fails2_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 35; - if (lcm_sym137__) { + if (lcm_sym128__) { current_statement__ = 35; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", @@ -24535,8 +23090,8 @@ class lcm_fails2_model final : public model_base_crtp { current_statement__ = 36; n_occ_minus_1 = std::numeric_limits::min(); - lcm_sym139__ = (n_occasions - 1); - n_occ_minus_1 = lcm_sym139__; + lcm_sym130__ = (n_occasions - 1); + n_occ_minus_1 = lcm_sym130__; current_statement__ = 37; validate_non_negative_index("first", "nind", nind); current_statement__ = 38; @@ -24548,15 +23103,15 @@ class lcm_fails2_model final : public model_base_crtp { last = std::vector(nind, std::numeric_limits::min()); current_statement__ = 45; - if (lcm_sym138__) { + if (lcm_sym129__) { int inline_sym17__; int inline_sym19__; inline_sym19__ = std::numeric_limits::min(); inline_sym19__ = 0; for (int inline_sym20__ = 1; inline_sym20__ <= 1; ++inline_sym20__) { - lcm_sym146__ = size(rvalue(y, "y", index_uni(1))); - for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym146__; + lcm_sym137__ = size(rvalue(y, "y", index_uni(1))); + for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym137__; ++inline_sym18__) { current_statement__ = 42; if (rvalue(y, "y", index_uni(1))[(inline_sym18__ - 1)]) { @@ -24581,8 +23136,8 @@ class lcm_fails2_model final : public model_base_crtp { inline_sym19__ = 0; for (int inline_sym20__ = 1; inline_sym20__ <= 1; ++inline_sym20__) { - lcm_sym145__ = size(rvalue(y, "y", index_uni(i))); - for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym145__; + lcm_sym136__ = size(rvalue(y, "y", index_uni(i))); + for (int inline_sym18__ = 1; inline_sym18__ <= lcm_sym136__; ++inline_sym18__) { current_statement__ = 42; if (rvalue(y, "y", index_uni(i))[(inline_sym18__ - 1)]) { @@ -24603,26 +23158,26 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 52; - if (lcm_sym138__) { + if (lcm_sym129__) { int inline_sym21__; int inline_sym24__; inline_sym24__ = std::numeric_limits::min(); inline_sym24__ = 0; for (int inline_sym25__ = 1; inline_sym25__ <= 1; ++inline_sym25__) { - lcm_sym146__ = size(rvalue(y, "y", index_uni(1))); - lcm_sym143__ = (lcm_sym146__ - 1); - for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym143__; + lcm_sym137__ = size(rvalue(y, "y", index_uni(1))); + lcm_sym134__ = (lcm_sym137__ - 1); + for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym134__; ++inline_sym23__) { int inline_sym22__; inline_sym22__ = std::numeric_limits::min(); - lcm_sym142__ = (lcm_sym146__ - inline_sym23__); - inline_sym22__ = lcm_sym142__; + lcm_sym133__ = (lcm_sym137__ - inline_sym23__); + inline_sym22__ = lcm_sym133__; current_statement__ = 48; - if (rvalue(y, "y", index_uni(1))[(lcm_sym142__ - 1)]) { + if (rvalue(y, "y", index_uni(1))[(lcm_sym133__ - 1)]) { inline_sym24__ = 1; - inline_sym21__ = lcm_sym142__; + inline_sym21__ = lcm_sym133__; break; } } @@ -24641,19 +23196,19 @@ class lcm_fails2_model final : public model_base_crtp { inline_sym24__ = 0; for (int inline_sym25__ = 1; inline_sym25__ <= 1; ++inline_sym25__) { - lcm_sym145__ = size(rvalue(y, "y", index_uni(i))); - lcm_sym141__ = (lcm_sym145__ - 1); - for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym141__; + lcm_sym136__ = size(rvalue(y, "y", index_uni(i))); + lcm_sym132__ = (lcm_sym136__ - 1); + for (int inline_sym23__ = 0; inline_sym23__ <= lcm_sym132__; ++inline_sym23__) { int inline_sym22__; inline_sym22__ = std::numeric_limits::min(); - lcm_sym140__ = (lcm_sym145__ - inline_sym23__); - inline_sym22__ = lcm_sym140__; + lcm_sym131__ = (lcm_sym136__ - inline_sym23__); + inline_sym22__ = lcm_sym131__; current_statement__ = 48; - if (rvalue(y, "y", index_uni(i))[(lcm_sym140__ - 1)]) { + if (rvalue(y, "y", index_uni(i))[(lcm_sym131__ - 1)]) { inline_sym24__ = 1; - inline_sym21__ = lcm_sym140__; + inline_sym21__ = lcm_sym131__; break; } } @@ -24669,7 +23224,7 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 38; - if (lcm_sym138__) { + if (lcm_sym129__) { current_statement__ = 38; check_greater_or_equal(function__, "first[sym1__]", rvalue(first, "first", index_uni(1)), 0); @@ -24680,7 +23235,7 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 38; - if (lcm_sym138__) { + if (lcm_sym129__) { current_statement__ = 38; check_less_or_equal(function__, "first[sym1__]", rvalue(first, "first", index_uni(1)), n_occasions); @@ -24691,7 +23246,7 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 40; - if (lcm_sym138__) { + if (lcm_sym129__) { current_statement__ = 40; check_greater_or_equal(function__, "last[sym1__]", rvalue(last, "last", index_uni(1)), 0); @@ -24702,7 +23257,7 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 40; - if (lcm_sym138__) { + if (lcm_sym129__) { current_statement__ = 40; check_less_or_equal(function__, "last[sym1__]", rvalue(last, "last", index_uni(1)), n_occasions); @@ -24715,11 +23270,11 @@ class lcm_fails2_model final : public model_base_crtp { current_statement__ = 53; validate_non_negative_index("phi", "nind", nind); current_statement__ = 54; - validate_non_negative_index("phi", "n_occ_minus_1", lcm_sym139__); + validate_non_negative_index("phi", "n_occ_minus_1", lcm_sym130__); current_statement__ = 55; validate_non_negative_index("p", "nind", nind); current_statement__ = 56; - validate_non_negative_index("p", "n_occ_minus_1", lcm_sym139__); + validate_non_negative_index("p", "n_occ_minus_1", lcm_sym130__); current_statement__ = 57; validate_non_negative_index("chi", "nind", nind); current_statement__ = 58; @@ -24751,43 +23306,34 @@ class lcm_fails2_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym136__; - double lcm_sym135__; - double lcm_sym134__; - double lcm_sym133__; - double lcm_sym132__; - double lcm_sym131__; - double lcm_sym130__; - double lcm_sym129__; - int lcm_sym128__; - int lcm_sym127__; + double lcm_sym127__; double lcm_sym126__; double lcm_sym125__; double lcm_sym124__; double lcm_sym123__; - int lcm_sym122__; - int lcm_sym121__; + double lcm_sym122__; + double lcm_sym121__; double lcm_sym120__; - double lcm_sym119__; - double lcm_sym118__; + int lcm_sym119__; + int lcm_sym118__; double lcm_sym117__; double lcm_sym116__; double lcm_sym115__; double lcm_sym114__; - double lcm_sym113__; - double lcm_sym112__; + int lcm_sym113__; + int lcm_sym112__; double lcm_sym111__; double lcm_sym110__; double lcm_sym109__; - int lcm_sym108__; - int lcm_sym107__; - int lcm_sym106__; - int lcm_sym105__; - int lcm_sym104__; - int lcm_sym103__; - int lcm_sym102__; - int lcm_sym101__; - int lcm_sym100__; + double lcm_sym108__; + double lcm_sym107__; + double lcm_sym106__; + double lcm_sym105__; + double lcm_sym104__; + double lcm_sym103__; + double lcm_sym102__; + double lcm_sym101__; + double lcm_sym100__; int lcm_sym99__; int lcm_sym98__; int lcm_sym97__; @@ -24800,6 +23346,15 @@ class lcm_fails2_model final : public model_base_crtp { int lcm_sym90__; int lcm_sym89__; int lcm_sym88__; + int lcm_sym87__; + int lcm_sym86__; + int lcm_sym85__; + int lcm_sym84__; + int lcm_sym83__; + int lcm_sym82__; + int lcm_sym81__; + int lcm_sym80__; + int lcm_sym79__; local_scalar_t__ mean_phi; mean_phi = DUMMY_VAR__; @@ -24824,16 +23379,16 @@ class lcm_fails2_model final : public model_base_crtp { chi = Eigen::Matrix(nind, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - lcm_sym89__ = logical_gte(nind, 1); - if (lcm_sym89__) { - lcm_sym122__ = rvalue(first, "first", index_uni(1)); - lcm_sym102__ = (lcm_sym122__ - 1); - if (logical_gte(lcm_sym102__, 1)) { + lcm_sym80__ = logical_gte(nind, 1); + if (lcm_sym80__) { + lcm_sym113__ = rvalue(first, "first", index_uni(1)); + lcm_sym93__ = (lcm_sym113__ - 1); + if (logical_gte(lcm_sym93__, 1)) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(1)); current_statement__ = 7; assign(p, 0, "assigning variable p", index_uni(1), index_uni(1)); - for (int t = 2; t <= lcm_sym102__; ++t) { + for (int t = 2; t <= lcm_sym93__; ++t) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(1), index_uni(t)); @@ -24841,15 +23396,15 @@ class lcm_fails2_model final : public model_base_crtp { assign(p, 0, "assigning variable p", index_uni(1), index_uni(t)); } } - lcm_sym100__ = (n_occasions - 1); - if (logical_gte(lcm_sym100__, lcm_sym122__)) { + lcm_sym91__ = (n_occasions - 1); + if (logical_gte(lcm_sym91__, lcm_sym113__)) { current_statement__ = 9; assign(phi, mean_phi, - "assigning variable phi", index_uni(1), index_uni(lcm_sym122__)); - lcm_sym108__ = (lcm_sym122__ + 1); + "assigning variable phi", index_uni(1), index_uni(lcm_sym113__)); + lcm_sym99__ = (lcm_sym113__ + 1); assign(p, mean_p, - "assigning variable p", index_uni(1), index_uni(lcm_sym122__)); - for (int t = lcm_sym108__; t <= lcm_sym100__; ++t) { + "assigning variable p", index_uni(1), index_uni(lcm_sym113__)); + for (int t = lcm_sym99__; t <= lcm_sym91__; ++t) { current_statement__ = 9; assign(phi, mean_phi, "assigning variable phi", index_uni(1), index_uni(t)); @@ -24859,15 +23414,15 @@ class lcm_fails2_model final : public model_base_crtp { } } for (int i = 2; i <= nind; ++i) { - lcm_sym121__ = rvalue(first, "first", index_uni(i)); - lcm_sym101__ = (lcm_sym121__ - 1); - if (logical_gte(lcm_sym101__, 1)) { + lcm_sym112__ = rvalue(first, "first", index_uni(i)); + lcm_sym92__ = (lcm_sym112__ - 1); + if (logical_gte(lcm_sym92__, 1)) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(i), index_uni(1)); current_statement__ = 7; assign(p, 0, "assigning variable p", index_uni(i), index_uni(1)); - for (int t = 2; t <= lcm_sym101__; ++t) { + for (int t = 2; t <= lcm_sym92__; ++t) { current_statement__ = 6; assign(phi, 0, "assigning variable phi", index_uni(i), index_uni(t)); @@ -24876,14 +23431,14 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 12; - if (logical_gte(lcm_sym100__, lcm_sym121__)) { + if (logical_gte(lcm_sym91__, lcm_sym112__)) { current_statement__ = 9; assign(phi, mean_phi, - "assigning variable phi", index_uni(i), index_uni(lcm_sym121__)); - lcm_sym107__ = (lcm_sym121__ + 1); + "assigning variable phi", index_uni(i), index_uni(lcm_sym112__)); + lcm_sym98__ = (lcm_sym112__ + 1); assign(p, mean_p, - "assigning variable p", index_uni(i), index_uni(lcm_sym121__)); - for (int t = lcm_sym107__; t <= lcm_sym100__; ++t) { + "assigning variable p", index_uni(i), index_uni(lcm_sym112__)); + for (int t = lcm_sym98__; t <= lcm_sym91__; ++t) { current_statement__ = 9; assign(phi, mean_phi, "assigning variable phi", index_uni(i), index_uni(t)); @@ -24913,57 +23468,56 @@ class lcm_fails2_model final : public model_base_crtp { assign(inline_sym10__, 1.0, "assigning variable inline_sym10__", index_uni(inline_sym14__), index_uni(n_occasions)); - lcm_sym100__ = (n_occasions - 1); - if (logical_gte(lcm_sym100__, 1)) { + lcm_sym91__ = (n_occasions - 1); + if (logical_gte(lcm_sym91__, 1)) { int inline_sym11__; inline_sym11__ = std::numeric_limits::min(); int inline_sym12__; inline_sym12__ = std::numeric_limits::min(); - lcm_sym104__ = (lcm_sym100__ + 1); + lcm_sym95__ = (lcm_sym91__ + 1); current_statement__ = 20; assign(inline_sym10__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym100__)) * + index_uni(inline_sym14__), index_uni(lcm_sym91__)) * (1 - rvalue(p, "p", - index_uni(inline_sym14__), - index_uni((lcm_sym104__ - 1))))), + index_uni(inline_sym14__), index_uni((lcm_sym95__ - 1))))), rvalue(inline_sym10__, "inline_sym10__", - index_uni(inline_sym14__), index_uni(lcm_sym104__)), + index_uni(inline_sym14__), index_uni(lcm_sym95__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym100__)))), + index_uni(inline_sym14__), index_uni(lcm_sym91__)))), "assigning variable inline_sym10__", index_uni(inline_sym14__), - index_uni(lcm_sym100__)); - for (int inline_sym13__ = 2; inline_sym13__ <= lcm_sym100__; + index_uni(lcm_sym91__)); + for (int inline_sym13__ = 2; inline_sym13__ <= lcm_sym91__; ++inline_sym13__) { int inline_sym11__; inline_sym11__ = std::numeric_limits::min(); - lcm_sym99__ = (n_occasions - inline_sym13__); + lcm_sym90__ = (n_occasions - inline_sym13__); int inline_sym12__; inline_sym12__ = std::numeric_limits::min(); - lcm_sym103__ = (lcm_sym99__ + 1); + lcm_sym94__ = (lcm_sym90__ + 1); current_statement__ = 20; assign(inline_sym10__, stan::math::fma( (rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym99__)) * + index_uni(inline_sym14__), index_uni(lcm_sym90__)) * (1 - rvalue(p, "p", index_uni(inline_sym14__), - index_uni((lcm_sym103__ - 1))))), + index_uni((lcm_sym94__ - 1))))), rvalue(inline_sym10__, "inline_sym10__", - index_uni(inline_sym14__), index_uni(lcm_sym103__)), + index_uni(inline_sym14__), index_uni(lcm_sym94__)), (1 - rvalue(phi, "phi", - index_uni(inline_sym14__), index_uni(lcm_sym99__)))), + index_uni(inline_sym14__), index_uni(lcm_sym90__)))), "assigning variable inline_sym10__", index_uni(inline_sym14__), - index_uni(lcm_sym99__)); + index_uni(lcm_sym90__)); } } if (inline_sym15__) { @@ -24980,15 +23534,15 @@ class lcm_fails2_model final : public model_base_crtp { } assign(chi, inline_sym9__, "assigning variable chi"); current_statement__ = 3; - if (lcm_sym89__) { - lcm_sym100__ = (n_occasions - 1); - lcm_sym90__ = logical_gte(lcm_sym100__, 1); - if (lcm_sym90__) { + if (lcm_sym80__) { + lcm_sym91__ = (n_occasions - 1); + lcm_sym81__ = logical_gte(lcm_sym91__, 1); + if (lcm_sym81__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym100__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym91__; ++sym2__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -24997,12 +23551,12 @@ class lcm_fails2_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 3; - if (lcm_sym90__) { + if (lcm_sym81__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym100__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym91__; ++sym2__) { current_statement__ = 3; check_greater_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -25013,15 +23567,15 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 3; - if (lcm_sym89__) { - lcm_sym100__ = (n_occasions - 1); - lcm_sym90__ = logical_gte(lcm_sym100__, 1); - if (lcm_sym90__) { + if (lcm_sym80__) { + lcm_sym91__ = (n_occasions - 1); + lcm_sym81__ = logical_gte(lcm_sym91__, 1); + if (lcm_sym81__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym100__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym91__; ++sym2__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -25030,12 +23584,12 @@ class lcm_fails2_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 3; - if (lcm_sym90__) { + if (lcm_sym81__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym100__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym91__; ++sym2__) { current_statement__ = 3; check_less_or_equal(function__, "phi[sym1__, sym2__]", rvalue(phi, "phi", @@ -25045,15 +23599,15 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 4; - if (lcm_sym89__) { - lcm_sym100__ = (n_occasions - 1); - lcm_sym90__ = logical_gte(lcm_sym100__, 1); - if (lcm_sym90__) { + if (lcm_sym80__) { + lcm_sym91__ = (n_occasions - 1); + lcm_sym81__ = logical_gte(lcm_sym91__, 1); + if (lcm_sym81__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(1), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym100__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym91__; ++sym2__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -25062,12 +23616,12 @@ class lcm_fails2_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 4; - if (lcm_sym90__) { + if (lcm_sym81__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(sym1__), index_uni(1)), 0); - for (int sym2__ = 2; sym2__ <= lcm_sym100__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym91__; ++sym2__) { current_statement__ = 4; check_greater_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -25078,14 +23632,14 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 4; - if (lcm_sym89__) { - lcm_sym100__ = (n_occasions - 1); - lcm_sym90__ = logical_gte(lcm_sym100__, 1); - if (lcm_sym90__) { + if (lcm_sym80__) { + lcm_sym91__ = (n_occasions - 1); + lcm_sym81__ = logical_gte(lcm_sym91__, 1); + if (lcm_sym81__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(1), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym100__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym91__; ++sym2__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -25094,12 +23648,12 @@ class lcm_fails2_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 4; - if (lcm_sym90__) { + if (lcm_sym81__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", index_uni(sym1__), index_uni(1)), 1); - for (int sym2__ = 2; sym2__ <= lcm_sym100__; ++sym2__) { + for (int sym2__ = 2; sym2__ <= lcm_sym91__; ++sym2__) { current_statement__ = 4; check_less_or_equal(function__, "p[sym1__, sym2__]", rvalue(p, "p", @@ -25109,9 +23663,9 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 5; - if (lcm_sym89__) { - lcm_sym88__ = logical_gte(n_occasions, 1); - if (lcm_sym88__) { + if (lcm_sym80__) { + lcm_sym79__ = logical_gte(n_occasions, 1); + if (lcm_sym79__) { current_statement__ = 5; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -25125,7 +23679,7 @@ class lcm_fails2_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 5; - if (lcm_sym88__) { + if (lcm_sym79__) { current_statement__ = 5; check_greater_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -25141,9 +23695,9 @@ class lcm_fails2_model final : public model_base_crtp { } } current_statement__ = 5; - if (lcm_sym89__) { - lcm_sym88__ = logical_gte(n_occasions, 1); - if (lcm_sym88__) { + if (lcm_sym80__) { + lcm_sym79__ = logical_gte(n_occasions, 1); + if (lcm_sym79__) { current_statement__ = 5; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -25157,7 +23711,7 @@ class lcm_fails2_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= nind; ++sym1__) { current_statement__ = 5; - if (lcm_sym88__) { + if (lcm_sym79__) { current_statement__ = 5; check_less_or_equal(function__, "chi[sym1__, sym2__]", rvalue(inline_sym9__, "inline_sym9__", @@ -25173,23 +23727,23 @@ class lcm_fails2_model final : public model_base_crtp { } { current_statement__ = 30; - if (lcm_sym89__) { - lcm_sym122__ = rvalue(first, "first", index_uni(1)); - if (logical_gt(lcm_sym122__, 0)) { - lcm_sym128__ = rvalue(last, "last", index_uni(1)); - lcm_sym108__ = (lcm_sym122__ + 1); - if (logical_gte(lcm_sym128__, lcm_sym108__)) { + if (lcm_sym80__) { + lcm_sym113__ = rvalue(first, "first", index_uni(1)); + if (logical_gt(lcm_sym113__, 0)) { + lcm_sym119__ = rvalue(last, "last", index_uni(1)); + lcm_sym99__ = (lcm_sym113__ + 1); + if (logical_gte(lcm_sym119__, lcm_sym99__)) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", - index_uni(1), index_uni((lcm_sym108__ - 1))))); - lcm_sym106__ = (lcm_sym108__ + 1); + index_uni(1), index_uni((lcm_sym99__ - 1))))); + lcm_sym97__ = (lcm_sym99__ + 1); lp_accum__.add( bernoulli_lpmf( - rvalue(y, "y", index_uni(1), index_uni(lcm_sym108__)), - rvalue(p, "p", index_uni(1), index_uni((lcm_sym108__ - 1))))); - for (int t = lcm_sym106__; t <= lcm_sym128__; ++t) { + rvalue(y, "y", index_uni(1), index_uni(lcm_sym99__)), + rvalue(p, "p", index_uni(1), index_uni((lcm_sym99__ - 1))))); + for (int t = lcm_sym97__; t <= lcm_sym119__; ++t) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, @@ -25205,26 +23759,26 @@ class lcm_fails2_model final : public model_base_crtp { lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym9__, "inline_sym9__", - index_uni(1), index_uni(lcm_sym128__)))); + index_uni(1), index_uni(lcm_sym119__)))); } for (int i = 2; i <= nind; ++i) { - lcm_sym121__ = rvalue(first, "first", index_uni(i)); - if (logical_gt(lcm_sym121__, 0)) { - lcm_sym127__ = rvalue(last, "last", index_uni(i)); - lcm_sym107__ = (lcm_sym121__ + 1); - if (logical_gte(lcm_sym127__, lcm_sym107__)) { + lcm_sym112__ = rvalue(first, "first", index_uni(i)); + if (logical_gt(lcm_sym112__, 0)) { + lcm_sym118__ = rvalue(last, "last", index_uni(i)); + lcm_sym98__ = (lcm_sym112__ + 1); + if (logical_gte(lcm_sym118__, lcm_sym98__)) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, rvalue(phi, "phi", - index_uni(i), index_uni((lcm_sym107__ - 1))))); - lcm_sym105__ = (lcm_sym107__ + 1); + index_uni(i), index_uni((lcm_sym98__ - 1))))); + lcm_sym96__ = (lcm_sym98__ + 1); lp_accum__.add( bernoulli_lpmf( - rvalue(y, "y", index_uni(i), index_uni(lcm_sym107__)), + rvalue(y, "y", index_uni(i), index_uni(lcm_sym98__)), rvalue(p, "p", - index_uni(i), index_uni((lcm_sym107__ - 1))))); - for (int t = lcm_sym105__; t <= lcm_sym127__; ++t) { + index_uni(i), index_uni((lcm_sym98__ - 1))))); + for (int t = lcm_sym96__; t <= lcm_sym118__; ++t) { current_statement__ = 24; lp_accum__.add( bernoulli_lpmf(1, @@ -25240,7 +23794,7 @@ class lcm_fails2_model final : public model_base_crtp { lp_accum__.add( bernoulli_lpmf(1, rvalue(inline_sym9__, "inline_sym9__", - index_uni(i), index_uni(lcm_sym127__)))); + index_uni(i), index_uni(lcm_sym118__)))); } } } @@ -25264,8 +23818,8 @@ class lcm_fails2_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -25279,15 +23833,6 @@ class lcm_fails2_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym87__; - double lcm_sym86__; - double lcm_sym85__; - double lcm_sym84__; - double lcm_sym83__; - double lcm_sym82__; - double lcm_sym81__; - double lcm_sym80__; - double lcm_sym79__; double lcm_sym78__; double lcm_sym77__; double lcm_sym76__; @@ -25345,8 +23890,8 @@ class lcm_fails2_model final : public model_base_crtp { chi = Eigen::Matrix(nind, n_occasions); stan::math::fill(chi, DUMMY_VAR__); - vars__.emplace_back(mean_phi); - vars__.emplace_back(mean_p); + out__.write(mean_phi); + out__.write(mean_p); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -25698,71 +24243,9 @@ class lcm_fails2_model final : public model_base_crtp { } } if (emit_transformed_parameters__) { - lcm_sym54__ = (n_occasions - 1); - lcm_sym48__ = logical_gte(lcm_sym54__, 1); - if (lcm_sym48__) { - if (lcm_sym47__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= lcm_sym54__; ++sym1__) { - if (lcm_sym47__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(phi, "phi", index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (lcm_sym48__) { - if (lcm_sym47__) { - vars__.emplace_back(rvalue(p, "p", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(p, "p", index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= lcm_sym54__; ++sym1__) { - if (lcm_sym47__) { - vars__.emplace_back( - rvalue(p, "p", index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(p, "p", index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - if (logical_gte(n_occasions, 1)) { - if (lcm_sym47__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= n_occasions; ++sym1__) { - if (lcm_sym47__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= nind; ++sym2__) { - vars__.emplace_back( - rvalue(inline_sym1__, "inline_sym1__", - index_uni(sym2__), index_uni(sym1__))); - } - } - } - } + out__.write(phi); + out__.write(p); + out__.write(inline_sym1__); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -25777,41 +24260,30 @@ class lcm_fails2_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double mean_phi; - mean_phi = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_phi = context__.vals_r("mean_phi")[(1 - 1)]; - double mean_phi_free__; - mean_phi_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - mean_phi_free__ = stan::math::lub_free(mean_phi, 0, 1); - double mean_p; - mean_p = std::numeric_limits::quiet_NaN(); + local_scalar_t__ mean_phi; + mean_phi = DUMMY_VAR__; - current_statement__ = 2; - mean_p = context__.vals_r("mean_p")[(1 - 1)]; - double mean_p_free__; - mean_p_free__ = std::numeric_limits::quiet_NaN(); + mean_phi = in__.read(); + out__.write_free_lub(0, 1, mean_phi); + local_scalar_t__ mean_p; + mean_p = DUMMY_VAR__; - current_statement__ = 2; - mean_p_free__ = stan::math::lub_free(mean_p, 0, 1); - vars__.emplace_back(mean_phi_free__); - vars__.emplace_back(mean_p_free__); + mean_p = in__.read(); + out__.write_free_lub(0, 1, mean_p); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -25848,29 +24320,29 @@ class lcm_fails2_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "mean_phi"); param_names__.emplace_back(std::string() + "mean_p"); if (emit_transformed_parameters__) { - for (int sym161__ = 1; sym161__ <= n_occ_minus_1; ++sym161__) { + for (int sym152__ = 1; sym152__ <= n_occ_minus_1; ++sym152__) { { - for (int sym162__ = 1; sym162__ <= nind; ++sym162__) { + for (int sym153__ = 1; sym153__ <= nind; ++sym153__) { { - param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym162__) + '.' + std::to_string(sym161__)); + param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym153__) + '.' + std::to_string(sym152__)); } } } } - for (int sym161__ = 1; sym161__ <= n_occ_minus_1; ++sym161__) { + for (int sym152__ = 1; sym152__ <= n_occ_minus_1; ++sym152__) { { - for (int sym162__ = 1; sym162__ <= nind; ++sym162__) { + for (int sym153__ = 1; sym153__ <= nind; ++sym153__) { { - param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym162__) + '.' + std::to_string(sym161__)); + param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym153__) + '.' + std::to_string(sym152__)); } } } } - for (int sym161__ = 1; sym161__ <= n_occasions; ++sym161__) { + for (int sym152__ = 1; sym152__ <= n_occasions; ++sym152__) { { - for (int sym162__ = 1; sym162__ <= nind; ++sym162__) { + for (int sym153__ = 1; sym153__ <= nind; ++sym153__) { { - param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym162__) + '.' + std::to_string(sym161__)); + param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym153__) + '.' + std::to_string(sym152__)); } } } @@ -25892,29 +24364,29 @@ class lcm_fails2_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "mean_phi"); param_names__.emplace_back(std::string() + "mean_p"); if (emit_transformed_parameters__) { - for (int sym161__ = 1; sym161__ <= n_occ_minus_1; ++sym161__) { + for (int sym152__ = 1; sym152__ <= n_occ_minus_1; ++sym152__) { { - for (int sym162__ = 1; sym162__ <= nind; ++sym162__) { + for (int sym153__ = 1; sym153__ <= nind; ++sym153__) { { - param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym162__) + '.' + std::to_string(sym161__)); + param_names__.emplace_back(std::string() + "phi" + '.' + std::to_string(sym153__) + '.' + std::to_string(sym152__)); } } } } - for (int sym161__ = 1; sym161__ <= n_occ_minus_1; ++sym161__) { + for (int sym152__ = 1; sym152__ <= n_occ_minus_1; ++sym152__) { { - for (int sym162__ = 1; sym162__ <= nind; ++sym162__) { + for (int sym153__ = 1; sym153__ <= nind; ++sym153__) { { - param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym162__) + '.' + std::to_string(sym161__)); + param_names__.emplace_back(std::string() + "p" + '.' + std::to_string(sym153__) + '.' + std::to_string(sym152__)); } } } } - for (int sym161__ = 1; sym161__ <= n_occasions; ++sym161__) { + for (int sym152__ = 1; sym152__ <= n_occasions; ++sym152__) { { - for (int sym162__ = 1; sym162__ <= nind; ++sym162__) { + for (int sym153__ = 1; sym153__ <= nind; ++sym153__) { { - param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym162__) + '.' + std::to_string(sym161__)); + param_names__.emplace_back(std::string() + "chi" + '.' + std::to_string(sym153__) + '.' + std::to_string(sym152__)); } } } @@ -25948,8 +24420,15 @@ class lcm_fails2_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (1 + 1); + const size_t num_transformed = (((nind * n_occ_minus_1) + + (nind * n_occ_minus_1)) + + (nind * n_occasions)); + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -25964,8 +24443,16 @@ class lcm_fails2_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (1 + 1); + const size_t num_transformed = (((nind * n_occ_minus_1) + + (nind * n_occ_minus_1)) + + (nind * n_occasions)); + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -25986,20 +24473,32 @@ class lcm_fails2_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mean_phi", + "mean_p", "phi", "p", "chi"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = lcm_fails2_model_namespace::lcm_fails2_model; @@ -26290,8 +24789,8 @@ class lupdf_inlining_model final : public model_base_crtp const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -26318,7 +24817,7 @@ class lupdf_inlining_model final : public model_base_crtp double tp; tp = std::numeric_limits::quiet_NaN(); - vars__.emplace_back(mu); + out__.write(mu); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -26333,7 +24832,7 @@ class lupdf_inlining_model final : public model_base_crtp } tp = inline_sym13__; if (emit_transformed_parameters__) { - vars__.emplace_back(inline_sym13__); + out__.write(inline_sym13__); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -26375,8 +24874,8 @@ class lupdf_inlining_model final : public model_base_crtp break; } lbar = inline_sym22__; - vars__.emplace_back(inline_sym16__); - vars__.emplace_back(inline_sym22__); + out__.write(inline_sym16__); + out__.write(inline_sym22__); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -26387,25 +24886,25 @@ class lupdf_inlining_model final : public model_base_crtp template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double mu; - mu = std::numeric_limits::quiet_NaN(); + local_scalar_t__ mu; + mu = DUMMY_VAR__; - current_statement__ = 1; - mu = context__.vals_r("mu")[(1 - 1)]; - vars__.emplace_back(mu); + mu = in__.read(); + out__.write(mu); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -26484,8 +24983,13 @@ class lupdf_inlining_model final : public model_base_crtp const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 1; + const size_t num_transformed = 1; + const size_t num_gen_quantities = + (1 + 1); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -26500,8 +25004,14 @@ class lupdf_inlining_model final : public model_base_crtp bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = 1; + const size_t num_transformed = 1; + const size_t num_gen_quantities = + (1 + 1); + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -26522,20 +25032,32 @@ class lupdf_inlining_model final : public model_base_crtp inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"mu", + "tp", "lbaz", "lbar"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = lupdf_inlining_model_namespace::lupdf_inlining_model; @@ -26638,23 +25160,23 @@ static constexpr std::array locations_array__ = class off_dce_model final : public model_base_crtp { private: - int lcm_sym57__; - int lcm_sym56__; - int lcm_sym55__; - int lcm_sym54__; - int lcm_sym53__; - int lcm_sym52__; - int lcm_sym51__; - int lcm_sym50__; - int lcm_sym49__; - double lcm_sym48__; - double lcm_sym47__; int lcm_sym46__; int lcm_sym45__; int lcm_sym44__; int lcm_sym43__; int lcm_sym42__; int lcm_sym41__; + int lcm_sym40__; + int lcm_sym39__; + int lcm_sym38__; + double lcm_sym37__; + double lcm_sym36__; + int lcm_sym35__; + int lcm_sym34__; + int lcm_sym33__; + int lcm_sym32__; + int lcm_sym31__; + int lcm_sym30__; int R; int T; std::vector> y; @@ -26742,11 +25264,11 @@ class off_dce_model final : public model_base_crtp { y_flat__ = context__.vals_i("y"); current_statement__ = 35; pos__ = 1; - lcm_sym42__ = logical_gte(T, 1); - if (lcm_sym42__) { + lcm_sym31__ = logical_gte(T, 1); + if (lcm_sym31__) { { - lcm_sym41__ = logical_gte(R, 1); - if (lcm_sym41__) { + lcm_sym30__ = logical_gte(R, 1); + if (lcm_sym30__) { current_statement__ = 35; assign(y, rvalue(y_flat__, "y_flat__", index_uni(1)), "assigning variable y", index_uni(1), index_uni(1)); @@ -26762,7 +25284,7 @@ class off_dce_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= T; ++sym1__) { current_statement__ = 35; - if (lcm_sym41__) { + if (lcm_sym30__) { current_statement__ = 35; assign(y, y_flat__[(pos__ - 1)], "assigning variable y", index_uni(1), index_uni(sym1__)); @@ -26780,13 +25302,13 @@ class off_dce_model final : public model_base_crtp { } } } else { - lcm_sym41__ = logical_gte(R, 1); + lcm_sym30__ = logical_gte(R, 1); } } current_statement__ = 35; - if (lcm_sym41__) { + if (lcm_sym30__) { current_statement__ = 35; - if (lcm_sym42__) { + if (lcm_sym31__) { current_statement__ = 35; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), @@ -26800,7 +25322,7 @@ class off_dce_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= R; ++sym1__) { current_statement__ = 35; - if (lcm_sym42__) { + if (lcm_sym31__) { current_statement__ = 35; check_greater_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", @@ -26814,9 +25336,9 @@ class off_dce_model final : public model_base_crtp { } } current_statement__ = 35; - if (lcm_sym41__) { + if (lcm_sym30__) { current_statement__ = 35; - if (lcm_sym42__) { + if (lcm_sym31__) { current_statement__ = 35; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", index_uni(1), index_uni(1)), 1); @@ -26829,7 +25351,7 @@ class off_dce_model final : public model_base_crtp { } for (int sym1__ = 2; sym1__ <= R; ++sym1__) { current_statement__ = 35; - if (lcm_sym42__) { + if (lcm_sym31__) { current_statement__ = 35; check_less_or_equal(function__, "y[sym1__, sym2__]", rvalue(y, "y", @@ -26857,7 +25379,7 @@ class off_dce_model final : public model_base_crtp { current_statement__ = 37; pos__ = 1; current_statement__ = 37; - if (lcm_sym41__) { + if (lcm_sym30__) { current_statement__ = 37; assign(X, rvalue(X_flat__, "X_flat__", index_uni(1)), "assigning variable X", index_uni(1)); @@ -26883,7 +25405,7 @@ class off_dce_model final : public model_base_crtp { current_statement__ = 41; occ_obs = 0; current_statement__ = 46; - if (lcm_sym41__) { + if (lcm_sym30__) { current_statement__ = 42; assign(sum_y, sum(rvalue(y, "y", index_uni(1))), "assigning variable sum_y", index_uni(1)); @@ -26904,7 +25426,7 @@ class off_dce_model final : public model_base_crtp { } } current_statement__ = 39; - if (lcm_sym41__) { + if (lcm_sym30__) { current_statement__ = 39; check_greater_or_equal(function__, "sum_y[sym1__]", rvalue(sum_y, "sum_y", index_uni(1)), 0); @@ -26915,7 +25437,7 @@ class off_dce_model final : public model_base_crtp { } } current_statement__ = 39; - if (lcm_sym41__) { + if (lcm_sym30__) { current_statement__ = 39; check_less_or_equal(function__, "sum_y[sym1__]", rvalue(sum_y, "sum_y", index_uni(1)), T); @@ -26966,17 +25488,17 @@ class off_dce_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - int lcm_sym40__; - int lcm_sym39__; - Eigen::Matrix lcm_sym38__; - double lcm_sym37__; - double lcm_sym36__; - Eigen::Matrix lcm_sym35__; - double lcm_sym34__; - double lcm_sym33__; - double lcm_sym32__; - double lcm_sym31__; - int lcm_sym30__; + int lcm_sym29__; + int lcm_sym28__; + Eigen::Matrix lcm_sym27__; + double lcm_sym26__; + double lcm_sym25__; + Eigen::Matrix lcm_sym24__; + double lcm_sym23__; + double lcm_sym22__; + double lcm_sym21__; + double lcm_sym20__; + int lcm_sym19__; local_scalar_t__ alpha_occ; alpha_occ = DUMMY_VAR__; @@ -27005,12 +25527,12 @@ class off_dce_model final : public model_base_crtp { logit_p = Eigen::Matrix(R, T); stan::math::fill(logit_p, DUMMY_VAR__); - assign(lcm_sym35__, stan::math::fma(beta_occ, X, alpha_occ), - "assigning variable lcm_sym35__"); - assign(logit_psi, lcm_sym35__, "assigning variable logit_psi"); - assign(lcm_sym38__, rep_matrix(stan::math::fma(beta_p, X, alpha_p), T), - "assigning variable lcm_sym38__"); - assign(logit_p, lcm_sym38__, "assigning variable logit_p"); + assign(lcm_sym24__, stan::math::fma(beta_occ, X, alpha_occ), + "assigning variable lcm_sym24__"); + assign(logit_psi, lcm_sym24__, "assigning variable logit_psi"); + assign(lcm_sym27__, rep_matrix(stan::math::fma(beta_p, X, alpha_p), T), + "assigning variable lcm_sym27__"); + assign(logit_p, lcm_sym27__, "assigning variable logit_p"); { current_statement__ = 30; if (logical_gte(R, 1)) { @@ -27019,21 +25541,21 @@ class off_dce_model final : public model_base_crtp { current_statement__ = 25; lp_accum__.add( bernoulli_logit_lpmf(1, - rvalue(lcm_sym35__, "lcm_sym35__", index_uni(1)))); + rvalue(lcm_sym24__, "lcm_sym24__", index_uni(1)))); current_statement__ = 26; lp_accum__.add( bernoulli_logit_lpmf(rvalue(y, "y", index_uni(1)), - rvalue(lcm_sym38__, "lcm_sym38__", index_uni(1)))); + rvalue(lcm_sym27__, "lcm_sym27__", index_uni(1)))); } else { current_statement__ = 23; lp_accum__.add( log_sum_exp( (bernoulli_logit_lpmf(1, - rvalue(lcm_sym35__, "lcm_sym35__", index_uni(1))) + + rvalue(lcm_sym24__, "lcm_sym24__", index_uni(1))) + bernoulli_logit_lpmf(0, - rvalue(lcm_sym38__, "lcm_sym38__", index_uni(1)))), + rvalue(lcm_sym27__, "lcm_sym27__", index_uni(1)))), bernoulli_logit_lpmf(0, - rvalue(lcm_sym35__, "lcm_sym35__", index_uni(1))))); + rvalue(lcm_sym24__, "lcm_sym24__", index_uni(1))))); } for (int i = 2; i <= R; ++i) { current_statement__ = 28; @@ -27041,21 +25563,21 @@ class off_dce_model final : public model_base_crtp { current_statement__ = 25; lp_accum__.add( bernoulli_logit_lpmf(1, - rvalue(lcm_sym35__, "lcm_sym35__", index_uni(i)))); + rvalue(lcm_sym24__, "lcm_sym24__", index_uni(i)))); current_statement__ = 26; lp_accum__.add( bernoulli_logit_lpmf(rvalue(y, "y", index_uni(i)), - rvalue(lcm_sym38__, "lcm_sym38__", index_uni(i)))); + rvalue(lcm_sym27__, "lcm_sym27__", index_uni(i)))); } else { current_statement__ = 23; lp_accum__.add( log_sum_exp( (bernoulli_logit_lpmf(1, - rvalue(lcm_sym35__, "lcm_sym35__", index_uni(i))) + + rvalue(lcm_sym24__, "lcm_sym24__", index_uni(i))) + bernoulli_logit_lpmf(0, - rvalue(lcm_sym38__, "lcm_sym38__", index_uni(i)))), + rvalue(lcm_sym27__, "lcm_sym27__", index_uni(i)))), bernoulli_logit_lpmf(0, - rvalue(lcm_sym35__, "lcm_sym35__", index_uni(i))))); + rvalue(lcm_sym24__, "lcm_sym24__", index_uni(i))))); } } } @@ -27079,8 +25601,8 @@ class off_dce_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -27094,27 +25616,17 @@ class off_dce_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym29__; - double lcm_sym28__; - double lcm_sym27__; - double lcm_sym26__; - double lcm_sym25__; - double lcm_sym24__; - int lcm_sym23__; - int lcm_sym22__; - double lcm_sym21__; - double lcm_sym20__; double lcm_sym11__; - int lcm_sym19__; - Eigen::Matrix lcm_sym18__; - double lcm_sym17__; + double lcm_sym10__; + int lcm_sym18__; + Eigen::Matrix lcm_sym17__; double lcm_sym16__; double lcm_sym15__; double lcm_sym14__; - Eigen::Matrix lcm_sym13__; - Eigen::Matrix lcm_sym10__; + double lcm_sym13__; + Eigen::Matrix lcm_sym12__; Eigen::Matrix lcm_sym9__; - int lcm_sym8__; + Eigen::Matrix lcm_sym8__; int lcm_sym7__; int lcm_sym6__; int lcm_sym5__; @@ -27150,58 +25662,24 @@ class off_dce_model final : public model_base_crtp { logit_p = Eigen::Matrix(R, T); stan::math::fill(logit_p, std::numeric_limits::quiet_NaN()); - vars__.emplace_back(alpha_occ); - vars__.emplace_back(beta_occ); - vars__.emplace_back(alpha_p); - vars__.emplace_back(beta_p); + out__.write(alpha_occ); + out__.write(beta_occ); + out__.write(alpha_p); + out__.write(beta_p); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - assign(lcm_sym13__, stan::math::fma(beta_occ, X, alpha_occ), - "assigning variable lcm_sym13__"); - assign(logit_psi, lcm_sym13__, "assigning variable logit_psi"); - assign(lcm_sym18__, rep_matrix(stan::math::fma(beta_p, X, alpha_p), T), - "assigning variable lcm_sym18__"); - assign(logit_p, lcm_sym18__, "assigning variable logit_p"); + assign(lcm_sym12__, stan::math::fma(beta_occ, X, alpha_occ), + "assigning variable lcm_sym12__"); + assign(logit_psi, lcm_sym12__, "assigning variable logit_psi"); + assign(lcm_sym17__, rep_matrix(stan::math::fma(beta_p, X, alpha_p), T), + "assigning variable lcm_sym17__"); + assign(logit_p, lcm_sym17__, "assigning variable logit_p"); if (emit_transformed_parameters__) { - { - lcm_sym5__ = logical_gte(R, 1); - if (lcm_sym5__) { - vars__.emplace_back( - rvalue(lcm_sym13__, "lcm_sym13__", index_uni(1))); - for (int sym1__ = 2; sym1__ <= R; ++sym1__) { - vars__.emplace_back(lcm_sym13__[(sym1__ - 1)]); - } - } - if (logical_gte(T, 1)) { - if (lcm_sym5__) { - vars__.emplace_back( - rvalue(lcm_sym18__, "lcm_sym18__", - index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= R; ++sym2__) { - vars__.emplace_back( - rvalue(lcm_sym18__, "lcm_sym18__", - index_uni(sym2__), index_uni(1))); - } - } - for (int sym1__ = 2; sym1__ <= T; ++sym1__) { - if (lcm_sym5__) { - vars__.emplace_back( - rvalue(lcm_sym18__, "lcm_sym18__", - index_uni(1), index_uni(sym1__))); - for (int sym2__ = 2; sym2__ <= R; ++sym2__) { - vars__.emplace_back( - rvalue(lcm_sym18__, "lcm_sym18__", - index_uni(sym2__), index_uni(sym1__))); - } - } - } - } - } - } else { - lcm_sym5__ = logical_gte(R, 1); - } + out__.write(lcm_sym12__); + out__.write(lcm_sym17__); + } if (logical_negation(emit_generated_quantities__)) { return ; } @@ -27216,33 +25694,33 @@ class off_dce_model final : public model_base_crtp { z = std::vector(R, std::numeric_limits::min()); current_statement__ = 22; - if (lcm_sym5__) { + if (logical_gte(R, 1)) { current_statement__ = 20; if (logical_eq(rvalue(sum_y, "sum_y", index_uni(1)), 0)) { double psi; psi = std::numeric_limits::quiet_NaN(); - lcm_sym25__ = rvalue(lcm_sym13__, "lcm_sym13__", index_uni(1)); - lcm_sym15__ = inv_logit(lcm_sym25__); + lcm_sym14__ = inv_logit( + rvalue(lcm_sym12__, "lcm_sym12__", index_uni(1))); current_statement__ = 14; validate_non_negative_index("q", "T", T); Eigen::Matrix q; q = Eigen::Matrix(T); stan::math::fill(q, std::numeric_limits::quiet_NaN()); - assign(lcm_sym10__, + assign(lcm_sym9__, transpose( inv_logit( - minus(rvalue(lcm_sym18__, "lcm_sym18__", index_uni(1))))), - "assigning variable lcm_sym10__"); + minus(rvalue(lcm_sym17__, "lcm_sym17__", index_uni(1))))), + "assigning variable lcm_sym9__"); double qT; qT = std::numeric_limits::quiet_NaN(); - lcm_sym17__ = prod(lcm_sym10__); + lcm_sym16__ = prod(lcm_sym9__); current_statement__ = 17; assign(psi_con, - ((lcm_sym15__ * lcm_sym17__) / - stan::math::fma(lcm_sym15__, lcm_sym17__, (1 - lcm_sym15__))), + ((lcm_sym14__ * lcm_sym16__) / + stan::math::fma(lcm_sym14__, lcm_sym16__, (1 - lcm_sym14__))), "assigning variable psi_con", index_uni(1)); current_statement__ = 18; assign(z, @@ -27260,27 +25738,27 @@ class off_dce_model final : public model_base_crtp { double psi; psi = std::numeric_limits::quiet_NaN(); - lcm_sym14__ = inv_logit( - rvalue(lcm_sym13__, "lcm_sym13__", index_uni(i))); + lcm_sym13__ = inv_logit( + rvalue(lcm_sym12__, "lcm_sym12__", index_uni(i))); current_statement__ = 14; validate_non_negative_index("q", "T", T); Eigen::Matrix q; q = Eigen::Matrix(T); stan::math::fill(q, std::numeric_limits::quiet_NaN()); - assign(lcm_sym9__, + assign(lcm_sym8__, transpose( inv_logit( - minus(rvalue(lcm_sym18__, "lcm_sym18__", index_uni(i))))), - "assigning variable lcm_sym9__"); + minus(rvalue(lcm_sym17__, "lcm_sym17__", index_uni(i))))), + "assigning variable lcm_sym8__"); double qT; qT = std::numeric_limits::quiet_NaN(); - lcm_sym16__ = prod(lcm_sym9__); + lcm_sym15__ = prod(lcm_sym8__); current_statement__ = 17; assign(psi_con, - ((lcm_sym14__ * lcm_sym16__) / - stan::math::fma(lcm_sym14__, lcm_sym16__, (1 - lcm_sym14__))), + ((lcm_sym13__ * lcm_sym15__) / + stan::math::fma(lcm_sym13__, lcm_sym15__, (1 - lcm_sym13__))), "assigning variable psi_con", index_uni(i)); current_statement__ = 18; assign(z, @@ -27294,21 +25772,11 @@ class off_dce_model final : public model_base_crtp { } } } - lcm_sym19__ = sum(z); - occ_fs = lcm_sym19__; - vars__.emplace_back(lcm_sym19__); - if (lcm_sym5__) { - vars__.emplace_back(rvalue(psi_con, "psi_con", index_uni(1))); - for (int sym1__ = 2; sym1__ <= R; ++sym1__) { - vars__.emplace_back(psi_con[(sym1__ - 1)]); - } - } - if (lcm_sym5__) { - vars__.emplace_back(rvalue(z, "z", index_uni(1))); - for (int sym1__ = 2; sym1__ <= R; ++sym1__) { - vars__.emplace_back(z[(sym1__ - 1)]); - } - } + lcm_sym18__ = sum(z); + occ_fs = lcm_sym18__; + out__.write(lcm_sym18__); + out__.write(psi_con); + out__.write(z); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -27319,43 +25787,40 @@ class off_dce_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double alpha_occ; - alpha_occ = std::numeric_limits::quiet_NaN(); + local_scalar_t__ alpha_occ; + alpha_occ = DUMMY_VAR__; - current_statement__ = 1; - alpha_occ = context__.vals_r("alpha_occ")[(1 - 1)]; - double beta_occ; - beta_occ = std::numeric_limits::quiet_NaN(); + alpha_occ = in__.read(); + out__.write(alpha_occ); + local_scalar_t__ beta_occ; + beta_occ = DUMMY_VAR__; - current_statement__ = 2; - beta_occ = context__.vals_r("beta_occ")[(1 - 1)]; - double alpha_p; - alpha_p = std::numeric_limits::quiet_NaN(); + beta_occ = in__.read(); + out__.write(beta_occ); + local_scalar_t__ alpha_p; + alpha_p = DUMMY_VAR__; - current_statement__ = 3; - alpha_p = context__.vals_r("alpha_p")[(1 - 1)]; - double beta_p; - beta_p = std::numeric_limits::quiet_NaN(); + alpha_p = in__.read(); + out__.write(alpha_p); + local_scalar_t__ beta_p; + beta_p = DUMMY_VAR__; - current_statement__ = 4; - beta_p = context__.vals_r("beta_p")[(1 - 1)]; - vars__.emplace_back(alpha_occ); - vars__.emplace_back(beta_occ); - vars__.emplace_back(alpha_p); - vars__.emplace_back(beta_p); + beta_p = in__.read(); + out__.write(beta_p); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -27392,16 +25857,16 @@ class off_dce_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "alpha_p"); param_names__.emplace_back(std::string() + "beta_p"); if (emit_transformed_parameters__) { - for (int sym58__ = 1; sym58__ <= R; ++sym58__) { + for (int sym47__ = 1; sym47__ <= R; ++sym47__) { { - param_names__.emplace_back(std::string() + "logit_psi" + '.' + std::to_string(sym58__)); + param_names__.emplace_back(std::string() + "logit_psi" + '.' + std::to_string(sym47__)); } } - for (int sym58__ = 1; sym58__ <= T; ++sym58__) { + for (int sym47__ = 1; sym47__ <= T; ++sym47__) { { - for (int sym59__ = 1; sym59__ <= R; ++sym59__) { + for (int sym48__ = 1; sym48__ <= R; ++sym48__) { { - param_names__.emplace_back(std::string() + "logit_p" + '.' + std::to_string(sym59__) + '.' + std::to_string(sym58__)); + param_names__.emplace_back(std::string() + "logit_p" + '.' + std::to_string(sym48__) + '.' + std::to_string(sym47__)); } } } @@ -27410,14 +25875,14 @@ class off_dce_model final : public model_base_crtp { if (emit_generated_quantities__) { param_names__.emplace_back(std::string() + "occ_fs"); - for (int sym58__ = 1; sym58__ <= R; ++sym58__) { + for (int sym47__ = 1; sym47__ <= R; ++sym47__) { { - param_names__.emplace_back(std::string() + "psi_con" + '.' + std::to_string(sym58__)); + param_names__.emplace_back(std::string() + "psi_con" + '.' + std::to_string(sym47__)); } } - for (int sym58__ = 1; sym58__ <= R; ++sym58__) { + for (int sym47__ = 1; sym47__ <= R; ++sym47__) { { - param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym58__)); + param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym47__)); } } } @@ -27435,16 +25900,16 @@ class off_dce_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "alpha_p"); param_names__.emplace_back(std::string() + "beta_p"); if (emit_transformed_parameters__) { - for (int sym58__ = 1; sym58__ <= R; ++sym58__) { + for (int sym47__ = 1; sym47__ <= R; ++sym47__) { { - param_names__.emplace_back(std::string() + "logit_psi" + '.' + std::to_string(sym58__)); + param_names__.emplace_back(std::string() + "logit_psi" + '.' + std::to_string(sym47__)); } } - for (int sym58__ = 1; sym58__ <= T; ++sym58__) { + for (int sym47__ = 1; sym47__ <= T; ++sym47__) { { - for (int sym59__ = 1; sym59__ <= R; ++sym59__) { + for (int sym48__ = 1; sym48__ <= R; ++sym48__) { { - param_names__.emplace_back(std::string() + "logit_p" + '.' + std::to_string(sym59__) + '.' + std::to_string(sym58__)); + param_names__.emplace_back(std::string() + "logit_p" + '.' + std::to_string(sym48__) + '.' + std::to_string(sym47__)); } } } @@ -27453,14 +25918,14 @@ class off_dce_model final : public model_base_crtp { if (emit_generated_quantities__) { param_names__.emplace_back(std::string() + "occ_fs"); - for (int sym58__ = 1; sym58__ <= R; ++sym58__) { + for (int sym47__ = 1; sym47__ <= R; ++sym47__) { { - param_names__.emplace_back(std::string() + "psi_con" + '.' + std::to_string(sym58__)); + param_names__.emplace_back(std::string() + "psi_con" + '.' + std::to_string(sym47__)); } } - for (int sym58__ = 1; sym58__ <= R; ++sym58__) { + for (int sym47__ = 1; sym47__ <= R; ++sym47__) { { - param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym58__)); + param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym47__)); } } } @@ -27488,8 +25953,14 @@ class off_dce_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((1 + 1) + 1) + 1); + const size_t num_transformed = (R + (R * T)); + const size_t num_gen_quantities = + ((1 + R) + R); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -27504,8 +25975,15 @@ class off_dce_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (((1 + 1) + 1) + 1); + const size_t num_transformed = (R + (R * T)); + const size_t num_gen_quantities = + ((1 + R) + R); + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -27526,20 +26004,33 @@ class off_dce_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"alpha_occ", + "beta_occ", "alpha_p", "beta_p", "logit_psi", "logit_p", "occ_fs", + "psi_con", "z"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = off_dce_model_namespace::off_dce_model; @@ -27625,16 +26116,16 @@ static constexpr std::array locations_array__ = class off_small_model final : public model_base_crtp { private: - double lcm_sym49__; - double lcm_sym48__; - double lcm_sym47__; - double lcm_sym46__; - double lcm_sym45__; - double lcm_sym44__; - int lcm_sym43__; - int lcm_sym42__; - int lcm_sym41__; - int lcm_sym40__; + double lcm_sym29__; + double lcm_sym28__; + double lcm_sym27__; + double lcm_sym26__; + double lcm_sym25__; + double lcm_sym24__; + int lcm_sym23__; + int lcm_sym22__; + int lcm_sym21__; + int lcm_sym20__; int J; int N; std::vector person; @@ -27709,8 +26200,8 @@ class off_small_model final : public model_base_crtp { current_statement__ = 23; person = context__.vals_i("person"); - lcm_sym40__ = logical_gte(N, 1); - if (lcm_sym40__) { + lcm_sym20__ = logical_gte(N, 1); + if (lcm_sym20__) { current_statement__ = 23; check_greater_or_equal(function__, "person[sym1__]", rvalue(person, "person", index_uni(1)), 1); @@ -27721,7 +26212,7 @@ class off_small_model final : public model_base_crtp { } } current_statement__ = 23; - if (lcm_sym40__) { + if (lcm_sym20__) { current_statement__ = 23; check_less_or_equal(function__, "person[sym1__]", rvalue(person, "person", index_uni(1)), J); @@ -27746,7 +26237,7 @@ class off_small_model final : public model_base_crtp { current_statement__ = 25; pos__ = 1; current_statement__ = 25; - if (lcm_sym40__) { + if (lcm_sym20__) { current_statement__ = 25; assign(time, rvalue(time_flat__, "time_flat__", index_uni(1)), "assigning variable time", index_uni(1)); @@ -27777,7 +26268,7 @@ class off_small_model final : public model_base_crtp { current_statement__ = 27; pos__ = 1; current_statement__ = 27; - if (lcm_sym40__) { + if (lcm_sym20__) { current_statement__ = 27; assign(treatment, rvalue(treatment_flat__, "treatment_flat__", index_uni(1)), @@ -27808,7 +26299,7 @@ class off_small_model final : public model_base_crtp { current_statement__ = 29; pos__ = 1; current_statement__ = 29; - if (lcm_sym40__) { + if (lcm_sym20__) { current_statement__ = 29; assign(y, rvalue(y_flat__, "y_flat__", index_uni(1)), "assigning variable y", index_uni(1)); @@ -27860,17 +26351,17 @@ class off_small_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym39__; - double lcm_sym38__; - double lcm_sym37__; - double lcm_sym36__; - double lcm_sym35__; - double lcm_sym34__; - double lcm_sym33__; - double lcm_sym32__; - Eigen::Matrix lcm_sym31__; - Eigen::Matrix lcm_sym30__; - int lcm_sym29__; + double lcm_sym19__; + double lcm_sym18__; + double lcm_sym17__; + double lcm_sym16__; + double lcm_sym15__; + double lcm_sym14__; + double lcm_sym13__; + double lcm_sym12__; + Eigen::Matrix lcm_sym11__; + Eigen::Matrix lcm_sym10__; + int lcm_sym9__; local_scalar_t__ beta; beta = DUMMY_VAR__; @@ -27928,37 +26419,37 @@ class off_small_model final : public model_base_crtp { y_hat = Eigen::Matrix(N); stan::math::fill(y_hat, DUMMY_VAR__); - assign(lcm_sym30__, + assign(lcm_sym10__, stan::math::fma(10, mu_a1, multiply(sigma_a1, eta1)), - "assigning variable lcm_sym30__"); - assign(a1, lcm_sym30__, "assigning variable a1"); - assign(lcm_sym31__, + "assigning variable lcm_sym10__"); + assign(a1, lcm_sym10__, "assigning variable a1"); + assign(lcm_sym11__, stan::math::fma(0.1, mu_a2, multiply(sigma_a2, eta2)), - "assigning variable lcm_sym31__"); - assign(a2, lcm_sym31__, "assigning variable a2"); + "assigning variable lcm_sym11__"); + assign(a2, lcm_sym11__, "assigning variable a2"); current_statement__ = 13; if (logical_gte(N, 1)) { current_statement__ = 12; assign(y_hat, stan::math::fma( - rvalue(lcm_sym31__, "lcm_sym31__", + rvalue(lcm_sym11__, "lcm_sym11__", index_uni(rvalue(person, "person", index_uni(1)))), rvalue(time, "time", index_uni(1)), stan::math::fma((beta * rvalue(time, "time", index_uni(1))), rvalue(treatment, "treatment", index_uni(1)), - rvalue(lcm_sym30__, "lcm_sym30__", + rvalue(lcm_sym10__, "lcm_sym10__", index_uni(rvalue(person, "person", index_uni(1)))))), "assigning variable y_hat", index_uni(1)); for (int i = 2; i <= N; ++i) { current_statement__ = 12; assign(y_hat, stan::math::fma( - rvalue(lcm_sym31__, "lcm_sym31__", + rvalue(lcm_sym11__, "lcm_sym11__", index_uni(rvalue(person, "person", index_uni(i)))), rvalue(time, "time", index_uni(i)), stan::math::fma((beta * rvalue(time, "time", index_uni(i))), rvalue(treatment, "treatment", index_uni(i)), - rvalue(lcm_sym30__, "lcm_sym30__", + rvalue(lcm_sym10__, "lcm_sym10__", index_uni(rvalue(person, "person", index_uni(i)))))), "assigning variable y_hat", index_uni(i)); } @@ -27996,8 +26487,8 @@ class off_small_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -28011,24 +26502,13 @@ class off_small_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym28__; - double lcm_sym27__; - double lcm_sym26__; - double lcm_sym25__; - double lcm_sym24__; - double lcm_sym23__; - double lcm_sym22__; - double lcm_sym21__; - double lcm_sym20__; - double lcm_sym19__; - double lcm_sym18__; - double lcm_sym17__; - Eigen::Matrix lcm_sym16__; - Eigen::Matrix lcm_sym15__; - int lcm_sym14__; - int lcm_sym13__; - int lcm_sym12__; - int lcm_sym11__; + double lcm_sym8__; + double lcm_sym7__; + Eigen::Matrix lcm_sym6__; + Eigen::Matrix lcm_sym5__; + int lcm_sym4__; + int lcm_sym3__; + int lcm_sym2__; double beta; beta = std::numeric_limits::quiet_NaN(); @@ -28086,85 +26566,57 @@ class off_small_model final : public model_base_crtp { y_hat = Eigen::Matrix(N); stan::math::fill(y_hat, DUMMY_VAR__); - vars__.emplace_back(beta); - lcm_sym11__ = logical_gte(J, 1); - if (lcm_sym11__) { - vars__.emplace_back(rvalue(eta1, "eta1", index_uni(1))); - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - vars__.emplace_back(eta1[(sym1__ - 1)]); - } - } - if (lcm_sym11__) { - vars__.emplace_back(rvalue(eta2, "eta2", index_uni(1))); - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - vars__.emplace_back(eta2[(sym1__ - 1)]); - } - } - vars__.emplace_back(mu_a1); - vars__.emplace_back(mu_a2); - vars__.emplace_back(sigma_a1); - vars__.emplace_back(sigma_a2); - vars__.emplace_back(sigma_y); + out__.write(beta); + out__.write(eta1); + out__.write(eta2); + out__.write(mu_a1); + out__.write(mu_a2); + out__.write(sigma_a1); + out__.write(sigma_a2); + out__.write(sigma_y); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - assign(lcm_sym15__, + assign(lcm_sym5__, stan::math::fma(10, mu_a1, multiply(sigma_a1, eta1)), - "assigning variable lcm_sym15__"); - assign(a1, lcm_sym15__, "assigning variable a1"); - assign(lcm_sym16__, + "assigning variable lcm_sym5__"); + assign(a1, lcm_sym5__, "assigning variable a1"); + assign(lcm_sym6__, stan::math::fma(0.1, mu_a2, multiply(sigma_a2, eta2)), - "assigning variable lcm_sym16__"); - assign(a2, lcm_sym16__, "assigning variable a2"); - lcm_sym12__ = logical_gte(N, 1); - if (lcm_sym12__) { + "assigning variable lcm_sym6__"); + assign(a2, lcm_sym6__, "assigning variable a2"); + current_statement__ = 13; + if (logical_gte(N, 1)) { current_statement__ = 12; assign(y_hat, stan::math::fma( - rvalue(lcm_sym16__, "lcm_sym16__", + rvalue(lcm_sym6__, "lcm_sym6__", index_uni(rvalue(person, "person", index_uni(1)))), rvalue(time, "time", index_uni(1)), stan::math::fma((beta * rvalue(time, "time", index_uni(1))), rvalue(treatment, "treatment", index_uni(1)), - rvalue(lcm_sym15__, "lcm_sym15__", + rvalue(lcm_sym5__, "lcm_sym5__", index_uni(rvalue(person, "person", index_uni(1)))))), "assigning variable y_hat", index_uni(1)); for (int i = 2; i <= N; ++i) { current_statement__ = 12; assign(y_hat, stan::math::fma( - rvalue(lcm_sym16__, "lcm_sym16__", + rvalue(lcm_sym6__, "lcm_sym6__", index_uni(rvalue(person, "person", index_uni(i)))), rvalue(time, "time", index_uni(i)), stan::math::fma((beta * rvalue(time, "time", index_uni(i))), rvalue(treatment, "treatment", index_uni(i)), - rvalue(lcm_sym15__, "lcm_sym15__", + rvalue(lcm_sym5__, "lcm_sym5__", index_uni(rvalue(person, "person", index_uni(i)))))), "assigning variable y_hat", index_uni(i)); } } if (emit_transformed_parameters__) { - if (lcm_sym11__) { - vars__.emplace_back( - rvalue(lcm_sym15__, "lcm_sym15__", index_uni(1))); - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - vars__.emplace_back(lcm_sym15__[(sym1__ - 1)]); - } - } - if (lcm_sym11__) { - vars__.emplace_back( - rvalue(lcm_sym16__, "lcm_sym16__", index_uni(1))); - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - vars__.emplace_back(lcm_sym16__[(sym1__ - 1)]); - } - } - if (lcm_sym12__) { - vars__.emplace_back(rvalue(y_hat, "y_hat", index_uni(1))); - for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y_hat[(sym1__ - 1)]); - } - } + out__.write(lcm_sym5__); + out__.write(lcm_sym6__); + out__.write(y_hat); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -28179,144 +26631,78 @@ class off_small_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym10__; - double lcm_sym9__; - double lcm_sym8__; - double lcm_sym7__; - double lcm_sym6__; - double lcm_sym5__; - double lcm_sym4__; - double lcm_sym3__; - int lcm_sym2__; int lcm_sym1__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double beta; - beta = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - beta = context__.vals_r("beta")[(1 - 1)]; - Eigen::Matrix eta1; - eta1 = Eigen::Matrix(J); - stan::math::fill(eta1, std::numeric_limits::quiet_NaN()); - - { - std::vector eta1_flat__; - current_statement__ = 2; - eta1_flat__ = context__.vals_r("eta1"); - current_statement__ = 2; - pos__ = 1; - lcm_sym1__ = logical_gte(J, 1); - if (lcm_sym1__) { - current_statement__ = 2; - assign(eta1, rvalue(eta1_flat__, "eta1_flat__", index_uni(1)), - "assigning variable eta1", index_uni(1)); - current_statement__ = 2; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - current_statement__ = 2; - assign(eta1, eta1_flat__[(pos__ - 1)], - "assigning variable eta1", index_uni(sym1__)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix eta2; - eta2 = Eigen::Matrix(J); - stan::math::fill(eta2, std::numeric_limits::quiet_NaN()); - - { - std::vector eta2_flat__; - current_statement__ = 3; - eta2_flat__ = context__.vals_r("eta2"); - current_statement__ = 3; - pos__ = 1; - current_statement__ = 3; - if (lcm_sym1__) { - current_statement__ = 3; - assign(eta2, rvalue(eta2_flat__, "eta2_flat__", index_uni(1)), - "assigning variable eta2", index_uni(1)); - current_statement__ = 3; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - current_statement__ = 3; - assign(eta2, eta2_flat__[(pos__ - 1)], - "assigning variable eta2", index_uni(sym1__)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - } - double mu_a1; - mu_a1 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 4; - mu_a1 = context__.vals_r("mu_a1")[(1 - 1)]; - double mu_a2; - mu_a2 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 5; - mu_a2 = context__.vals_r("mu_a2")[(1 - 1)]; - double sigma_a1; - sigma_a1 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 6; - sigma_a1 = context__.vals_r("sigma_a1")[(1 - 1)]; - double sigma_a1_free__; - sigma_a1_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 6; - sigma_a1_free__ = stan::math::lub_free(sigma_a1, 0, 100); - double sigma_a2; - sigma_a2 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 7; - sigma_a2 = context__.vals_r("sigma_a2")[(1 - 1)]; - double sigma_a2_free__; - sigma_a2_free__ = std::numeric_limits::quiet_NaN(); - - current_statement__ = 7; - sigma_a2_free__ = stan::math::lub_free(sigma_a2, 0, 100); - double sigma_y; - sigma_y = std::numeric_limits::quiet_NaN(); + local_scalar_t__ beta; + beta = DUMMY_VAR__; - current_statement__ = 8; - sigma_y = context__.vals_r("sigma_y")[(1 - 1)]; - double sigma_y_free__; - sigma_y_free__ = std::numeric_limits::quiet_NaN(); + beta = in__.read(); + out__.write(beta); + Eigen::Matrix eta1; + eta1 = Eigen::Matrix(J); + stan::math::fill(eta1, DUMMY_VAR__); - current_statement__ = 8; - sigma_y_free__ = stan::math::lub_free(sigma_y, 0, 100); - vars__.emplace_back(beta); + lcm_sym1__ = logical_gte(J, 1); if (lcm_sym1__) { - vars__.emplace_back(rvalue(eta1, "eta1", index_uni(1))); + assign(eta1, in__.read(), + "assigning variable eta1", index_uni(1)); for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - vars__.emplace_back(eta1[(sym1__ - 1)]); + assign(eta1, in__.read(), + "assigning variable eta1", index_uni(sym1__)); } } + out__.write(eta1); + Eigen::Matrix eta2; + eta2 = Eigen::Matrix(J); + stan::math::fill(eta2, DUMMY_VAR__); + if (lcm_sym1__) { - vars__.emplace_back(rvalue(eta2, "eta2", index_uni(1))); + assign(eta2, in__.read(), + "assigning variable eta2", index_uni(1)); for (int sym1__ = 2; sym1__ <= J; ++sym1__) { - vars__.emplace_back(eta2[(sym1__ - 1)]); + assign(eta2, in__.read(), + "assigning variable eta2", index_uni(sym1__)); } } - vars__.emplace_back(mu_a1); - vars__.emplace_back(mu_a2); - vars__.emplace_back(sigma_a1_free__); - vars__.emplace_back(sigma_a2_free__); - vars__.emplace_back(sigma_y_free__); + out__.write(eta2); + local_scalar_t__ mu_a1; + mu_a1 = DUMMY_VAR__; + + mu_a1 = in__.read(); + out__.write(mu_a1); + local_scalar_t__ mu_a2; + mu_a2 = DUMMY_VAR__; + + mu_a2 = in__.read(); + out__.write(mu_a2); + local_scalar_t__ sigma_a1; + sigma_a1 = DUMMY_VAR__; + + sigma_a1 = in__.read(); + out__.write_free_lub(0, 100, sigma_a1); + local_scalar_t__ sigma_a2; + sigma_a2 = DUMMY_VAR__; + + sigma_a2 = in__.read(); + out__.write_free_lub(0, 100, sigma_a2); + local_scalar_t__ sigma_y; + sigma_y = DUMMY_VAR__; + + sigma_y = in__.read(); + out__.write_free_lub(0, 100, sigma_y); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -28350,14 +26736,14 @@ class off_small_model final : public model_base_crtp { final { param_names__.emplace_back(std::string() + "beta"); - for (int sym50__ = 1; sym50__ <= J; ++sym50__) { + for (int sym30__ = 1; sym30__ <= J; ++sym30__) { { - param_names__.emplace_back(std::string() + "eta1" + '.' + std::to_string(sym50__)); + param_names__.emplace_back(std::string() + "eta1" + '.' + std::to_string(sym30__)); } } - for (int sym50__ = 1; sym50__ <= J; ++sym50__) { + for (int sym30__ = 1; sym30__ <= J; ++sym30__) { { - param_names__.emplace_back(std::string() + "eta2" + '.' + std::to_string(sym50__)); + param_names__.emplace_back(std::string() + "eta2" + '.' + std::to_string(sym30__)); } } param_names__.emplace_back(std::string() + "mu_a1"); @@ -28366,19 +26752,19 @@ class off_small_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "sigma_a2"); param_names__.emplace_back(std::string() + "sigma_y"); if (emit_transformed_parameters__) { - for (int sym50__ = 1; sym50__ <= J; ++sym50__) { + for (int sym30__ = 1; sym30__ <= J; ++sym30__) { { - param_names__.emplace_back(std::string() + "a1" + '.' + std::to_string(sym50__)); + param_names__.emplace_back(std::string() + "a1" + '.' + std::to_string(sym30__)); } } - for (int sym50__ = 1; sym50__ <= J; ++sym50__) { + for (int sym30__ = 1; sym30__ <= J; ++sym30__) { { - param_names__.emplace_back(std::string() + "a2" + '.' + std::to_string(sym50__)); + param_names__.emplace_back(std::string() + "a2" + '.' + std::to_string(sym30__)); } } - for (int sym50__ = 1; sym50__ <= N; ++sym50__) { + for (int sym30__ = 1; sym30__ <= N; ++sym30__) { { - param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym50__)); + param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym30__)); } } } @@ -28396,14 +26782,14 @@ class off_small_model final : public model_base_crtp { final { param_names__.emplace_back(std::string() + "beta"); - for (int sym50__ = 1; sym50__ <= J; ++sym50__) { + for (int sym30__ = 1; sym30__ <= J; ++sym30__) { { - param_names__.emplace_back(std::string() + "eta1" + '.' + std::to_string(sym50__)); + param_names__.emplace_back(std::string() + "eta1" + '.' + std::to_string(sym30__)); } } - for (int sym50__ = 1; sym50__ <= J; ++sym50__) { + for (int sym30__ = 1; sym30__ <= J; ++sym30__) { { - param_names__.emplace_back(std::string() + "eta2" + '.' + std::to_string(sym50__)); + param_names__.emplace_back(std::string() + "eta2" + '.' + std::to_string(sym30__)); } } param_names__.emplace_back(std::string() + "mu_a1"); @@ -28412,19 +26798,19 @@ class off_small_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "sigma_a2"); param_names__.emplace_back(std::string() + "sigma_y"); if (emit_transformed_parameters__) { - for (int sym50__ = 1; sym50__ <= J; ++sym50__) { + for (int sym30__ = 1; sym30__ <= J; ++sym30__) { { - param_names__.emplace_back(std::string() + "a1" + '.' + std::to_string(sym50__)); + param_names__.emplace_back(std::string() + "a1" + '.' + std::to_string(sym30__)); } } - for (int sym50__ = 1; sym50__ <= J; ++sym50__) { + for (int sym30__ = 1; sym30__ <= J; ++sym30__) { { - param_names__.emplace_back(std::string() + "a2" + '.' + std::to_string(sym50__)); + param_names__.emplace_back(std::string() + "a2" + '.' + std::to_string(sym30__)); } } - for (int sym50__ = 1; sym50__ <= N; ++sym50__) { + for (int sym30__ = 1; sym30__ <= N; ++sym30__) { { - param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym50__)); + param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym30__)); } } } @@ -28456,8 +26842,14 @@ class off_small_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((((((1 + J) + J) + 1) + 1) + 1) + 1) + 1); + const size_t num_transformed = + ((J + J) + N); + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -28472,8 +26864,15 @@ class off_small_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + (((((((1 + J) + J) + 1) + 1) + 1) + 1) + 1); + const size_t num_transformed = + ((J + J) + N); + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -28494,20 +26893,33 @@ class off_small_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"beta", + "eta1", "eta2", "mu_a1", "mu_a2", "sigma_a1", "sigma_a2", "sigma_y", + "a1", "a2", "y_hat"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = off_small_model_namespace::off_small_model; @@ -28815,20 +27227,20 @@ class optimizations_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym79__; - int lcm_sym78__; - int lcm_sym77__; - int lcm_sym76__; - int lcm_sym75__; - int lcm_sym74__; - int lcm_sym73__; - int lcm_sym72__; - int lcm_sym71__; - int lcm_sym70__; - int lcm_sym69__; - int lcm_sym68__; - int lcm_sym67__; - int lcm_sym66__; + double lcm_sym54__; + int lcm_sym53__; + int lcm_sym52__; + int lcm_sym51__; + int lcm_sym50__; + int lcm_sym49__; + int lcm_sym48__; + int lcm_sym47__; + int lcm_sym46__; + int lcm_sym45__; + int lcm_sym44__; + int lcm_sym43__; + int lcm_sym42__; + int lcm_sym41__; local_scalar_t__ theta; theta = DUMMY_VAR__; @@ -28958,18 +27370,18 @@ class optimizations_model final : public model_base_crtp { int inline_sym13__; inline_sym13__ = std::numeric_limits::min(); - lcm_sym75__ = (inline_sym9__ + 1); + lcm_sym50__ = (inline_sym9__ + 1); for (int inline_sym14__ = 1; inline_sym14__ <= 1; ++inline_sym14__) { { inline_sym12__ = 29; - lcm_sym75__ = (inline_sym9__ + 1); + lcm_sym50__ = (inline_sym9__ + 1); break; } inline_sym12__ = 7; - lcm_sym75__ = (inline_sym9__ + 1); + lcm_sym50__ = (inline_sym9__ + 1); break; } - for (int i = lcm_sym75__; i <= inline_sym12__; ++i) { + for (int i = lcm_sym50__; i <= inline_sym12__; ++i) { { int inline_sym15__; int inline_sym16__; @@ -29039,22 +27451,22 @@ class optimizations_model final : public model_base_crtp { } } { - lcm_sym78__ = (2 * 2); - if (logical_gte(lcm_sym78__, 2)) { - lcm_sym76__ = (2 + 1); + lcm_sym53__ = (2 * 2); + if (logical_gte(lcm_sym53__, 2)) { + lcm_sym51__ = (2 + 1); lp_accum__.add(53); - for (int k = lcm_sym76__; k <= lcm_sym78__; ++k) { + for (int k = lcm_sym51__; k <= lcm_sym53__; ++k) { current_statement__ = 15; lp_accum__.add(53); } } } { - lcm_sym78__ = (3 * 2); - if (logical_gte(lcm_sym78__, 3)) { - lcm_sym76__ = (3 + 1); + lcm_sym53__ = (3 * 2); + if (logical_gte(lcm_sym53__, 3)) { + lcm_sym51__ = (3 + 1); lp_accum__.add(53); - for (int k = lcm_sym76__; k <= lcm_sym78__; ++k) { + for (int k = lcm_sym51__; k <= lcm_sym53__; ++k) { current_statement__ = 15; lp_accum__.add(53); } @@ -29062,27 +27474,27 @@ class optimizations_model final : public model_base_crtp { } } { - lcm_sym74__ = (2 + 2); - if (logical_gte(lcm_sym74__, 2)) { - lcm_sym77__ = (2 * 2); - if (logical_gte(lcm_sym77__, 2)) { + lcm_sym49__ = (2 + 2); + if (logical_gte(lcm_sym49__, 2)) { + lcm_sym52__ = (2 * 2); + if (logical_gte(lcm_sym52__, 2)) { { - lcm_sym73__ = (2 + 1); + lcm_sym48__ = (2 + 1); lp_accum__.add(53); - for (int k = lcm_sym73__; k <= lcm_sym77__; ++k) { + for (int k = lcm_sym48__; k <= lcm_sym52__; ++k) { current_statement__ = 15; lp_accum__.add(53); } } } else { - lcm_sym73__ = (2 + 1); + lcm_sym48__ = (2 + 1); } - for (int j = lcm_sym73__; j <= lcm_sym74__; ++j) { - lcm_sym78__ = (j * 2); - if (logical_gte(lcm_sym78__, j)) { - lcm_sym76__ = (j + 1); + for (int j = lcm_sym48__; j <= lcm_sym49__; ++j) { + lcm_sym53__ = (j * 2); + if (logical_gte(lcm_sym53__, j)) { + lcm_sym51__ = (j + 1); lp_accum__.add(53); - for (int k = lcm_sym76__; k <= lcm_sym78__; ++k) { + for (int k = lcm_sym51__; k <= lcm_sym53__; ++k) { current_statement__ = 15; lp_accum__.add(53); } @@ -29091,27 +27503,27 @@ class optimizations_model final : public model_base_crtp { } } { - lcm_sym74__ = (3 + 2); - if (logical_gte(lcm_sym74__, 3)) { - lcm_sym77__ = (3 * 2); - if (logical_gte(lcm_sym77__, 3)) { + lcm_sym49__ = (3 + 2); + if (logical_gte(lcm_sym49__, 3)) { + lcm_sym52__ = (3 * 2); + if (logical_gte(lcm_sym52__, 3)) { { - lcm_sym73__ = (3 + 1); + lcm_sym48__ = (3 + 1); lp_accum__.add(53); - for (int k = lcm_sym73__; k <= lcm_sym77__; ++k) { + for (int k = lcm_sym48__; k <= lcm_sym52__; ++k) { current_statement__ = 15; lp_accum__.add(53); } } } else { - lcm_sym73__ = (3 + 1); + lcm_sym48__ = (3 + 1); } - for (int j = lcm_sym73__; j <= lcm_sym74__; ++j) { - lcm_sym78__ = (j * 2); - if (logical_gte(lcm_sym78__, j)) { - lcm_sym76__ = (j + 1); + for (int j = lcm_sym48__; j <= lcm_sym49__; ++j) { + lcm_sym53__ = (j * 2); + if (logical_gte(lcm_sym53__, j)) { + lcm_sym51__ = (j + 1); lp_accum__.add(53); - for (int k = lcm_sym76__; k <= lcm_sym78__; ++k) { + for (int k = lcm_sym51__; k <= lcm_sym53__; ++k) { current_statement__ = 15; lp_accum__.add(53); } @@ -29120,27 +27532,27 @@ class optimizations_model final : public model_base_crtp { } } { - lcm_sym74__ = (4 + 2); - if (logical_gte(lcm_sym74__, 4)) { - lcm_sym77__ = (4 * 2); - if (logical_gte(lcm_sym77__, 4)) { + lcm_sym49__ = (4 + 2); + if (logical_gte(lcm_sym49__, 4)) { + lcm_sym52__ = (4 * 2); + if (logical_gte(lcm_sym52__, 4)) { { - lcm_sym73__ = (4 + 1); + lcm_sym48__ = (4 + 1); lp_accum__.add(53); - for (int k = lcm_sym73__; k <= lcm_sym77__; ++k) { + for (int k = lcm_sym48__; k <= lcm_sym52__; ++k) { current_statement__ = 15; lp_accum__.add(53); } } } else { - lcm_sym73__ = (4 + 1); + lcm_sym48__ = (4 + 1); } - for (int j = lcm_sym73__; j <= lcm_sym74__; ++j) { - lcm_sym78__ = (j * 2); - if (logical_gte(lcm_sym78__, j)) { - lcm_sym76__ = (j + 1); + for (int j = lcm_sym48__; j <= lcm_sym49__; ++j) { + lcm_sym53__ = (j * 2); + if (logical_gte(lcm_sym53__, j)) { + lcm_sym51__ = (j + 1); lp_accum__.add(53); - for (int k = lcm_sym76__; k <= lcm_sym78__; ++k) { + for (int k = lcm_sym51__; k <= lcm_sym53__; ++k) { current_statement__ = 15; lp_accum__.add(53); } @@ -29149,27 +27561,27 @@ class optimizations_model final : public model_base_crtp { } } { - lcm_sym74__ = (5 + 2); - if (logical_gte(lcm_sym74__, 5)) { - lcm_sym77__ = (5 * 2); - if (logical_gte(lcm_sym77__, 5)) { + lcm_sym49__ = (5 + 2); + if (logical_gte(lcm_sym49__, 5)) { + lcm_sym52__ = (5 * 2); + if (logical_gte(lcm_sym52__, 5)) { { - lcm_sym73__ = (5 + 1); + lcm_sym48__ = (5 + 1); lp_accum__.add(53); - for (int k = lcm_sym73__; k <= lcm_sym77__; ++k) { + for (int k = lcm_sym48__; k <= lcm_sym52__; ++k) { current_statement__ = 15; lp_accum__.add(53); } } } else { - lcm_sym73__ = (5 + 1); + lcm_sym48__ = (5 + 1); } - for (int j = lcm_sym73__; j <= lcm_sym74__; ++j) { - lcm_sym78__ = (j * 2); - if (logical_gte(lcm_sym78__, j)) { - lcm_sym76__ = (j + 1); + for (int j = lcm_sym48__; j <= lcm_sym49__; ++j) { + lcm_sym53__ = (j * 2); + if (logical_gte(lcm_sym53__, j)) { + lcm_sym51__ = (j + 1); lp_accum__.add(53); - for (int k = lcm_sym76__; k <= lcm_sym78__; ++k) { + for (int k = lcm_sym51__; k <= lcm_sym53__; ++k) { current_statement__ = 15; lp_accum__.add(53); } @@ -29222,8 +27634,8 @@ class optimizations_model final : public model_base_crtp { x = 576; current_statement__ = 41; lp_accum__.add(576); - lcm_sym72__ = logical_gt(theta, 46); - if (lcm_sym72__) { + lcm_sym47__ = logical_gt(theta, 46); + if (lcm_sym47__) { current_statement__ = 42; x = 5880; } @@ -29237,7 +27649,7 @@ class optimizations_model final : public model_base_crtp { current_statement__ = 46; lp_accum__.add(x); current_statement__ = 48; - if (lcm_sym72__) { + if (lcm_sym47__) { current_statement__ = 47; z = x; } @@ -29408,8 +27820,8 @@ class optimizations_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -29423,18 +27835,8 @@ class optimizations_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym65__; - double lcm_sym64__; - double lcm_sym63__; - double lcm_sym62__; - double lcm_sym61__; - double lcm_sym60__; - double lcm_sym59__; - double lcm_sym58__; - double lcm_sym57__; - double lcm_sym56__; - int lcm_sym55__; - int lcm_sym54__; + int lcm_sym40__; + int lcm_sym39__; double theta; theta = std::numeric_limits::quiet_NaN(); @@ -29463,303 +27865,126 @@ class optimizations_model final : public model_base_crtp { x_cov = Eigen::Matrix(2, 2); stan::math::fill(x_cov, std::numeric_limits::quiet_NaN()); - current_statement__ = 5; - x_cov = in__.template read_constrain_cov_matrix, jacobian__>( - lp__, 2); - vars__.emplace_back(theta); - vars__.emplace_back(phi); - { - { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(1), index_uni(1))); - { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(2), index_uni(1))); - } - { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(3), index_uni(1))); - } - } - { - { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(1), index_uni(2))); - { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(2), index_uni(2))); - } - { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(3), index_uni(2))); - } - } - } - } - { - vars__.emplace_back(rvalue(x_vector, "x_vector", index_uni(1))); - { - vars__.emplace_back(rvalue(x_vector, "x_vector", index_uni(2))); - } - } - { - { - vars__.emplace_back( - rvalue(x_cov, "x_cov", index_uni(1), index_uni(1))); - { - vars__.emplace_back( - rvalue(x_cov, "x_cov", index_uni(2), index_uni(1))); - } - } - { - { - vars__.emplace_back( - rvalue(x_cov, "x_cov", index_uni(1), index_uni(2))); - { - vars__.emplace_back( - rvalue(x_cov, "x_cov", index_uni(2), index_uni(2))); - } - } - } - } - if (logical_negation((primitive_value(emit_transformed_parameters__) || - primitive_value(emit_generated_quantities__)))) { - return ; - } - if (logical_negation(emit_generated_quantities__)) { - return ; - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - // Next line prevents compiler griping about no return - throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); - } - } // write_array_impl() - - template * = nullptr, - stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, - std::ostream* pstream__ = nullptr) const { - using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; - - try { - double lcm_sym53__; - double lcm_sym52__; - double lcm_sym51__; - double lcm_sym50__; - double lcm_sym49__; - double lcm_sym48__; - double lcm_sym47__; - double lcm_sym46__; - double lcm_sym45__; - double lcm_sym44__; - double lcm_sym43__; - double lcm_sym42__; - double lcm_sym41__; - double lcm_sym40__; - int lcm_sym39__; - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - double theta; - theta = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - theta = context__.vals_r("theta")[(1 - 1)]; - double phi; - phi = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - phi = context__.vals_r("phi")[(1 - 1)]; - Eigen::Matrix x_matrix; - x_matrix = Eigen::Matrix(3, 2); - stan::math::fill(x_matrix, std::numeric_limits::quiet_NaN()); - - { - std::vector x_matrix_flat__; - current_statement__ = 3; - x_matrix_flat__ = context__.vals_r("x_matrix"); - current_statement__ = 3; - pos__ = 1; - { - { - current_statement__ = 3; - assign(x_matrix, - rvalue(x_matrix_flat__, "x_matrix_flat__", index_uni(1)), - "assigning variable x_matrix", index_uni(1), index_uni(1)); - current_statement__ = 3; - pos__ = 2; - { - current_statement__ = 3; - assign(x_matrix, x_matrix_flat__[(pos__ - 1)], - "assigning variable x_matrix", index_uni(2), index_uni(1)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - { - current_statement__ = 3; - assign(x_matrix, x_matrix_flat__[(pos__ - 1)], - "assigning variable x_matrix", index_uni(3), index_uni(1)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - { - { - current_statement__ = 3; - assign(x_matrix, x_matrix_flat__[(pos__ - 1)], - "assigning variable x_matrix", index_uni(1), index_uni(2)); - current_statement__ = 3; - pos__ = (pos__ + 1); - { - current_statement__ = 3; - assign(x_matrix, x_matrix_flat__[(pos__ - 1)], - "assigning variable x_matrix", index_uni(2), index_uni(2)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - { - current_statement__ = 3; - assign(x_matrix, x_matrix_flat__[(pos__ - 1)], - "assigning variable x_matrix", index_uni(3), index_uni(2)); - current_statement__ = 3; - pos__ = (pos__ + 1); - } - } - } - } - } - Eigen::Matrix x_vector; - x_vector = Eigen::Matrix(2); - stan::math::fill(x_vector, std::numeric_limits::quiet_NaN()); - - { - std::vector x_vector_flat__; - current_statement__ = 4; - x_vector_flat__ = context__.vals_r("x_vector"); - current_statement__ = 4; - pos__ = 1; - { - current_statement__ = 4; - assign(x_vector, - rvalue(x_vector_flat__, "x_vector_flat__", index_uni(1)), - "assigning variable x_vector", index_uni(1)); - current_statement__ = 4; - pos__ = 2; - { - current_statement__ = 4; - assign(x_vector, x_vector_flat__[(pos__ - 1)], - "assigning variable x_vector", index_uni(2)); - current_statement__ = 4; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix x_cov; - x_cov = Eigen::Matrix(2, 2); - stan::math::fill(x_cov, std::numeric_limits::quiet_NaN()); - - { - std::vector x_cov_flat__; - current_statement__ = 5; - x_cov_flat__ = context__.vals_r("x_cov"); - current_statement__ = 5; - pos__ = 1; - { - { - current_statement__ = 5; - assign(x_cov, rvalue(x_cov_flat__, "x_cov_flat__", index_uni(1)), - "assigning variable x_cov", index_uni(1), index_uni(1)); - current_statement__ = 5; - pos__ = 2; - { - current_statement__ = 5; - assign(x_cov, x_cov_flat__[(pos__ - 1)], - "assigning variable x_cov", index_uni(2), index_uni(1)); - current_statement__ = 5; - pos__ = (pos__ + 1); - } - } - { - { - current_statement__ = 5; - assign(x_cov, x_cov_flat__[(pos__ - 1)], - "assigning variable x_cov", index_uni(1), index_uni(2)); - current_statement__ = 5; - pos__ = (pos__ + 1); - { - current_statement__ = 5; - assign(x_cov, x_cov_flat__[(pos__ - 1)], - "assigning variable x_cov", index_uni(2), index_uni(2)); - current_statement__ = 5; - pos__ = (pos__ + 1); - } - } - } - } - } - Eigen::Matrix x_cov_free__; - x_cov_free__ = Eigen::Matrix(3); - stan::math::fill(x_cov_free__, std::numeric_limits::quiet_NaN()); + current_statement__ = 5; + x_cov = in__.template read_constrain_cov_matrix, jacobian__>( + lp__, 2); + out__.write(theta); + out__.write(phi); + out__.write(x_matrix); + out__.write(x_vector); + out__.write(x_cov); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + // Next line prevents compiler griping about no return + throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ***"); + } + } // write_array_impl() + + template * = nullptr, + stan::require_vector_like_vt* = nullptr> + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, + std::ostream* pstream__ = nullptr) const { + using local_scalar_t__ = double; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + + try { + int pos__; + pos__ = std::numeric_limits::min(); + pos__ = 1; + local_scalar_t__ theta; + theta = DUMMY_VAR__; + + theta = in__.read(); + out__.write(theta); + local_scalar_t__ phi; + phi = DUMMY_VAR__; + + phi = in__.read(); + out__.write(phi); + Eigen::Matrix x_matrix; + x_matrix = Eigen::Matrix(3, 2); + stan::math::fill(x_matrix, DUMMY_VAR__); - current_statement__ = 5; - assign(x_cov_free__, stan::math::cov_matrix_free(x_cov), - "assigning variable x_cov_free__"); - vars__.emplace_back(theta); - vars__.emplace_back(phi); { { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(1), index_uni(1))); + assign(x_matrix, in__.read(), + "assigning variable x_matrix", index_uni(1), index_uni(1)); { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(2), index_uni(1))); + assign(x_matrix, in__.read(), + "assigning variable x_matrix", index_uni(2), index_uni(1)); } { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(3), index_uni(1))); + assign(x_matrix, in__.read(), + "assigning variable x_matrix", index_uni(3), index_uni(1)); } } { { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(1), index_uni(2))); + assign(x_matrix, in__.read(), + "assigning variable x_matrix", index_uni(1), index_uni(2)); { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(2), index_uni(2))); + assign(x_matrix, in__.read(), + "assigning variable x_matrix", index_uni(2), index_uni(2)); } { - vars__.emplace_back( - rvalue(x_matrix, "x_matrix", index_uni(3), index_uni(2))); + assign(x_matrix, in__.read(), + "assigning variable x_matrix", index_uni(3), index_uni(2)); } } } } + out__.write(x_matrix); + Eigen::Matrix x_vector; + x_vector = Eigen::Matrix(2); + stan::math::fill(x_vector, DUMMY_VAR__); + { - vars__.emplace_back(rvalue(x_vector, "x_vector", index_uni(1))); + assign(x_vector, in__.read(), + "assigning variable x_vector", index_uni(1)); { - vars__.emplace_back(rvalue(x_vector, "x_vector", index_uni(2))); + assign(x_vector, in__.read(), + "assigning variable x_vector", index_uni(2)); } } + out__.write(x_vector); + Eigen::Matrix x_cov; + x_cov = Eigen::Matrix(2, 2); + stan::math::fill(x_cov, DUMMY_VAR__); + { - vars__.emplace_back( - rvalue(x_cov_free__, "x_cov_free__", index_uni(1))); { - vars__.emplace_back( - rvalue(x_cov_free__, "x_cov_free__", index_uni(2))); + assign(x_cov, in__.read(), + "assigning variable x_cov", index_uni(1), index_uni(1)); + { + assign(x_cov, in__.read(), + "assigning variable x_cov", index_uni(2), index_uni(1)); + } } { - vars__.emplace_back( - rvalue(x_cov_free__, "x_cov_free__", index_uni(3))); + { + assign(x_cov, in__.read(), + "assigning variable x_cov", index_uni(1), index_uni(2)); + { + assign(x_cov, in__.read(), + "assigning variable x_cov", index_uni(2), index_uni(2)); + } + } } } + out__.write_free_cov_matrix(x_cov); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -29792,25 +28017,25 @@ class optimizations_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "theta"); param_names__.emplace_back(std::string() + "phi"); - for (int sym80__ = 1; sym80__ <= 2; ++sym80__) { + for (int sym55__ = 1; sym55__ <= 2; ++sym55__) { { - for (int sym81__ = 1; sym81__ <= 3; ++sym81__) { + for (int sym56__ = 1; sym56__ <= 3; ++sym56__) { { - param_names__.emplace_back(std::string() + "x_matrix" + '.' + std::to_string(sym81__) + '.' + std::to_string(sym80__)); + param_names__.emplace_back(std::string() + "x_matrix" + '.' + std::to_string(sym56__) + '.' + std::to_string(sym55__)); } } } } - for (int sym80__ = 1; sym80__ <= 2; ++sym80__) { + for (int sym55__ = 1; sym55__ <= 2; ++sym55__) { { - param_names__.emplace_back(std::string() + "x_vector" + '.' + std::to_string(sym80__)); + param_names__.emplace_back(std::string() + "x_vector" + '.' + std::to_string(sym55__)); } } - for (int sym80__ = 1; sym80__ <= 2; ++sym80__) { + for (int sym55__ = 1; sym55__ <= 2; ++sym55__) { { - for (int sym81__ = 1; sym81__ <= 2; ++sym81__) { + for (int sym56__ = 1; sym56__ <= 2; ++sym56__) { { - param_names__.emplace_back(std::string() + "x_cov" + '.' + std::to_string(sym81__) + '.' + std::to_string(sym80__)); + param_names__.emplace_back(std::string() + "x_cov" + '.' + std::to_string(sym56__) + '.' + std::to_string(sym55__)); } } } @@ -29833,23 +28058,23 @@ class optimizations_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "theta"); param_names__.emplace_back(std::string() + "phi"); - for (int sym80__ = 1; sym80__ <= 2; ++sym80__) { + for (int sym55__ = 1; sym55__ <= 2; ++sym55__) { { - for (int sym81__ = 1; sym81__ <= 3; ++sym81__) { + for (int sym56__ = 1; sym56__ <= 3; ++sym56__) { { - param_names__.emplace_back(std::string() + "x_matrix" + '.' + std::to_string(sym81__) + '.' + std::to_string(sym80__)); + param_names__.emplace_back(std::string() + "x_matrix" + '.' + std::to_string(sym56__) + '.' + std::to_string(sym55__)); } } } } - for (int sym80__ = 1; sym80__ <= 2; ++sym80__) { + for (int sym55__ = 1; sym55__ <= 2; ++sym55__) { { - param_names__.emplace_back(std::string() + "x_vector" + '.' + std::to_string(sym80__)); + param_names__.emplace_back(std::string() + "x_vector" + '.' + std::to_string(sym55__)); } } - for (int sym80__ = 1; sym80__ <= 3; ++sym80__) { + for (int sym55__ = 1; sym55__ <= 3; ++sym55__) { { - param_names__.emplace_back(std::string() + "x_cov" + '.' + std::to_string(sym80__)); + param_names__.emplace_back(std::string() + "x_cov" + '.' + std::to_string(sym55__)); } } if (emit_transformed_parameters__) { @@ -29883,8 +28108,13 @@ class optimizations_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((((1 + 1) + (3 * 2)) + 2) + (2 * 2)); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -29899,8 +28129,14 @@ class optimizations_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((((1 + 1) + (3 * 2)) + 2) + (2 * 2)); + const size_t num_transformed = 0; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -29921,20 +28157,32 @@ class optimizations_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"theta", + "phi", "x_matrix", "x_vector", "x_cov"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = optimizations_model_namespace::optimizations_model; @@ -30010,18 +28258,18 @@ static constexpr std::array locations_array__ = class partial_eval_model final : public model_base_crtp { private: - double lcm_sym41__; - double lcm_sym40__; - double lcm_sym39__; - double lcm_sym38__; - double lcm_sym37__; - double lcm_sym36__; - double lcm_sym35__; - double lcm_sym34__; - int lcm_sym33__; - int lcm_sym32__; - int lcm_sym31__; - int lcm_sym30__; + double lcm_sym25__; + double lcm_sym24__; + double lcm_sym23__; + double lcm_sym22__; + double lcm_sym21__; + double lcm_sym20__; + double lcm_sym19__; + double lcm_sym18__; + int lcm_sym17__; + int lcm_sym16__; + int lcm_sym15__; + int lcm_sym14__; int N; int n_pair; std::vector pair; @@ -30098,8 +28346,8 @@ class partial_eval_model final : public model_base_crtp { current_statement__ = 16; pair = context__.vals_i("pair"); - lcm_sym30__ = logical_gte(N, 1); - if (lcm_sym30__) { + lcm_sym14__ = logical_gte(N, 1); + if (lcm_sym14__) { current_statement__ = 16; check_greater_or_equal(function__, "pair[sym1__]", rvalue(pair, "pair", index_uni(1)), 1); @@ -30110,7 +28358,7 @@ class partial_eval_model final : public model_base_crtp { } } current_statement__ = 16; - if (lcm_sym30__) { + if (lcm_sym14__) { current_statement__ = 16; check_less_or_equal(function__, "pair[sym1__]", rvalue(pair, "pair", index_uni(1)), n_pair); @@ -30136,7 +28384,7 @@ class partial_eval_model final : public model_base_crtp { current_statement__ = 18; pos__ = 1; current_statement__ = 18; - if (lcm_sym30__) { + if (lcm_sym14__) { current_statement__ = 18; assign(pre_test, rvalue(pre_test_flat__, "pre_test_flat__", index_uni(1)), @@ -30168,7 +28416,7 @@ class partial_eval_model final : public model_base_crtp { current_statement__ = 20; pos__ = 1; current_statement__ = 20; - if (lcm_sym30__) { + if (lcm_sym14__) { current_statement__ = 20; assign(treatment, rvalue(treatment_flat__, "treatment_flat__", index_uni(1)), @@ -30185,7 +28433,7 @@ class partial_eval_model final : public model_base_crtp { } } current_statement__ = 20; - if (lcm_sym30__) { + if (lcm_sym14__) { current_statement__ = 20; check_greater_or_equal(function__, "treatment[sym1__]", rvalue(treatment, "treatment", index_uni(1)), @@ -30197,7 +28445,7 @@ class partial_eval_model final : public model_base_crtp { } } current_statement__ = 20; - if (lcm_sym30__) { + if (lcm_sym14__) { current_statement__ = 20; check_less_or_equal(function__, "treatment[sym1__]", rvalue(treatment, "treatment", index_uni(1)), 1); @@ -30222,7 +28470,7 @@ class partial_eval_model final : public model_base_crtp { current_statement__ = 22; pos__ = 1; current_statement__ = 22; - if (lcm_sym30__) { + if (lcm_sym14__) { current_statement__ = 22; assign(y, rvalue(y_flat__, "y_flat__", index_uni(1)), "assigning variable y", index_uni(1)); @@ -30268,13 +28516,13 @@ class partial_eval_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym29__; - double lcm_sym28__; - double lcm_sym27__; - double lcm_sym26__; - double lcm_sym25__; - double lcm_sym24__; - int lcm_sym23__; + double lcm_sym13__; + double lcm_sym12__; + double lcm_sym11__; + double lcm_sym10__; + double lcm_sym9__; + double lcm_sym8__; + int lcm_sym7__; Eigen::Matrix a; a = Eigen::Matrix(n_pair); stan::math::fill(a, DUMMY_VAR__); @@ -30358,8 +28606,8 @@ class partial_eval_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -30373,18 +28621,11 @@ class partial_eval_model final : public model_base_crtp { (void) function__; // suppress unused var warning try { - double lcm_sym22__; - double lcm_sym21__; - double lcm_sym20__; - double lcm_sym19__; - double lcm_sym18__; - double lcm_sym17__; - double lcm_sym16__; - double lcm_sym15__; - int lcm_sym14__; - int lcm_sym13__; - int lcm_sym12__; - int lcm_sym11__; + double lcm_sym6__; + double lcm_sym5__; + int lcm_sym4__; + int lcm_sym3__; + int lcm_sym2__; Eigen::Matrix a; a = Eigen::Matrix(n_pair); stan::math::fill(a, std::numeric_limits::quiet_NaN()); @@ -30418,27 +28659,17 @@ class partial_eval_model final : public model_base_crtp { y_hat = Eigen::Matrix(N); stan::math::fill(y_hat, DUMMY_VAR__); - if (logical_gte(n_pair, 1)) { - vars__.emplace_back(rvalue(a, "a", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_pair; ++sym1__) { - vars__.emplace_back(a[(sym1__ - 1)]); - } - } - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(1))); - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(2))); - } - } - vars__.emplace_back(mu_a); - vars__.emplace_back(sigma_a); - vars__.emplace_back(sigma_y); + out__.write(a); + out__.write(beta); + out__.write(mu_a); + out__.write(sigma_a); + out__.write(sigma_y); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - lcm_sym11__ = logical_gte(N, 1); - if (lcm_sym11__) { + current_statement__ = 8; + if (logical_gte(N, 1)) { current_statement__ = 7; assign(y_hat, stan::math::fma(rvalue(beta, "beta", index_uni(2)), @@ -30459,12 +28690,7 @@ class partial_eval_model final : public model_base_crtp { } } if (emit_transformed_parameters__) { - if (lcm_sym11__) { - vars__.emplace_back(rvalue(y_hat, "y_hat", index_uni(1))); - for (int sym1__ = 2; sym1__ <= N; ++sym1__) { - vars__.emplace_back(y_hat[(sym1__ - 1)]); - } - } + out__.write(y_hat); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -30479,120 +28705,62 @@ class partial_eval_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym10__; - double lcm_sym9__; - double lcm_sym8__; - double lcm_sym7__; - double lcm_sym6__; - double lcm_sym5__; - double lcm_sym4__; - double lcm_sym3__; - int lcm_sym2__; int lcm_sym1__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - Eigen::Matrix a; - a = Eigen::Matrix(n_pair); - stan::math::fill(a, std::numeric_limits::quiet_NaN()); + Eigen::Matrix a; + a = Eigen::Matrix(n_pair); + stan::math::fill(a, DUMMY_VAR__); - { - std::vector a_flat__; - current_statement__ = 1; - a_flat__ = context__.vals_r("a"); - current_statement__ = 1; - pos__ = 1; - lcm_sym1__ = logical_gte(n_pair, 1); - if (lcm_sym1__) { - current_statement__ = 1; - assign(a, rvalue(a_flat__, "a_flat__", index_uni(1)), - "assigning variable a", index_uni(1)); - current_statement__ = 1; - pos__ = 2; - for (int sym1__ = 2; sym1__ <= n_pair; ++sym1__) { - current_statement__ = 1; - assign(a, a_flat__[(pos__ - 1)], - "assigning variable a", index_uni(sym1__)); - current_statement__ = 1; - pos__ = (pos__ + 1); - } - } - } - Eigen::Matrix beta; - beta = Eigen::Matrix(2); - stan::math::fill(beta, std::numeric_limits::quiet_NaN()); + if (logical_gte(n_pair, 1)) { + assign(a, in__.read(), + "assigning variable a", index_uni(1)); + for (int sym1__ = 2; sym1__ <= n_pair; ++sym1__) { + assign(a, in__.read(), + "assigning variable a", index_uni(sym1__)); + } + } + out__.write(a); + Eigen::Matrix beta; + beta = Eigen::Matrix(2); + stan::math::fill(beta, DUMMY_VAR__); { - std::vector beta_flat__; - current_statement__ = 2; - beta_flat__ = context__.vals_r("beta"); - current_statement__ = 2; - pos__ = 1; + assign(beta, in__.read(), + "assigning variable beta", index_uni(1)); { - current_statement__ = 2; - assign(beta, rvalue(beta_flat__, "beta_flat__", index_uni(1)), - "assigning variable beta", index_uni(1)); - current_statement__ = 2; - pos__ = 2; - { - current_statement__ = 2; - assign(beta, beta_flat__[(pos__ - 1)], - "assigning variable beta", index_uni(2)); - current_statement__ = 2; - pos__ = (pos__ + 1); - } + assign(beta, in__.read(), + "assigning variable beta", index_uni(2)); } } - double mu_a; - mu_a = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - mu_a = context__.vals_r("mu_a")[(1 - 1)]; - double sigma_a; - sigma_a = std::numeric_limits::quiet_NaN(); - - current_statement__ = 4; - sigma_a = context__.vals_r("sigma_a")[(1 - 1)]; - double sigma_a_free__; - sigma_a_free__ = std::numeric_limits::quiet_NaN(); + out__.write(beta); + local_scalar_t__ mu_a; + mu_a = DUMMY_VAR__; - current_statement__ = 4; - sigma_a_free__ = stan::math::lub_free(sigma_a, 0, 100); - double sigma_y; - sigma_y = std::numeric_limits::quiet_NaN(); + mu_a = in__.read(); + out__.write(mu_a); + local_scalar_t__ sigma_a; + sigma_a = DUMMY_VAR__; - current_statement__ = 5; - sigma_y = context__.vals_r("sigma_y")[(1 - 1)]; - double sigma_y_free__; - sigma_y_free__ = std::numeric_limits::quiet_NaN(); + sigma_a = in__.read(); + out__.write_free_lub(0, 100, sigma_a); + local_scalar_t__ sigma_y; + sigma_y = DUMMY_VAR__; - current_statement__ = 5; - sigma_y_free__ = stan::math::lub_free(sigma_y, 0, 100); - if (lcm_sym1__) { - vars__.emplace_back(rvalue(a, "a", index_uni(1))); - for (int sym1__ = 2; sym1__ <= n_pair; ++sym1__) { - vars__.emplace_back(a[(sym1__ - 1)]); - } - } - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(1))); - { - vars__.emplace_back(rvalue(beta, "beta", index_uni(2))); - } - } - vars__.emplace_back(mu_a); - vars__.emplace_back(sigma_a_free__); - vars__.emplace_back(sigma_y_free__); + sigma_y = in__.read(); + out__.write_free_lub(0, 100, sigma_y); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -30624,23 +28792,23 @@ class partial_eval_model final : public model_base_crtp { bool emit_generated_quantities__ = true) const final { - for (int sym42__ = 1; sym42__ <= n_pair; ++sym42__) { + for (int sym26__ = 1; sym26__ <= n_pair; ++sym26__) { { - param_names__.emplace_back(std::string() + "a" + '.' + std::to_string(sym42__)); + param_names__.emplace_back(std::string() + "a" + '.' + std::to_string(sym26__)); } } - for (int sym42__ = 1; sym42__ <= 2; ++sym42__) { + for (int sym26__ = 1; sym26__ <= 2; ++sym26__) { { - param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym42__)); + param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym26__)); } } param_names__.emplace_back(std::string() + "mu_a"); param_names__.emplace_back(std::string() + "sigma_a"); param_names__.emplace_back(std::string() + "sigma_y"); if (emit_transformed_parameters__) { - for (int sym42__ = 1; sym42__ <= N; ++sym42__) { + for (int sym26__ = 1; sym26__ <= N; ++sym26__) { { - param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym42__)); + param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym26__)); } } } @@ -30657,23 +28825,23 @@ class partial_eval_model final : public model_base_crtp { bool emit_generated_quantities__ = true) const final { - for (int sym42__ = 1; sym42__ <= n_pair; ++sym42__) { + for (int sym26__ = 1; sym26__ <= n_pair; ++sym26__) { { - param_names__.emplace_back(std::string() + "a" + '.' + std::to_string(sym42__)); + param_names__.emplace_back(std::string() + "a" + '.' + std::to_string(sym26__)); } } - for (int sym42__ = 1; sym42__ <= 2; ++sym42__) { + for (int sym26__ = 1; sym26__ <= 2; ++sym26__) { { - param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym42__)); + param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym26__)); } } param_names__.emplace_back(std::string() + "mu_a"); param_names__.emplace_back(std::string() + "sigma_a"); param_names__.emplace_back(std::string() + "sigma_y"); if (emit_transformed_parameters__) { - for (int sym42__ = 1; sym42__ <= N; ++sym42__) { + for (int sym26__ = 1; sym26__ <= N; ++sym26__) { { - param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym42__)); + param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym26__)); } } } @@ -30705,8 +28873,13 @@ class partial_eval_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + ((((n_pair + 2) + 1) + 1) + 1); + const size_t num_transformed = N; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -30721,8 +28894,14 @@ class partial_eval_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = + ((((n_pair + 2) + 1) + 1) + 1); + const size_t num_transformed = N; + const size_t num_gen_quantities = 0; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -30743,20 +28922,32 @@ class partial_eval_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"a", + "beta", "mu_a", "sigma_a", "sigma_y", "y_hat"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = partial_eval_model_namespace::partial_eval_model; @@ -30840,17 +29031,17 @@ static constexpr std::array locations_array__ = class stalled1_failure_model final : public model_base_crtp { private: - double lcm_sym38__; - double lcm_sym37__; - double lcm_sym36__; - double lcm_sym35__; - int lcm_sym34__; - int lcm_sym33__; - int lcm_sym32__; - int lcm_sym31__; - int lcm_sym30__; - int lcm_sym29__; - Eigen::Matrix lcm_sym28____; + double lcm_sym26__; + double lcm_sym25__; + double lcm_sym24__; + double lcm_sym23__; + int lcm_sym22__; + int lcm_sym21__; + int lcm_sym20__; + int lcm_sym19__; + int lcm_sym18__; + int lcm_sym17__; + Eigen::Matrix lcm_sym16____; int I; std::vector n; std::vector N; @@ -30858,7 +29049,7 @@ class stalled1_failure_model final : public model_base_crtp x2__; int K; Eigen::Matrix x1x2__; - Eigen::Map> lcm_sym28__{nullptr, 0}; + Eigen::Map> lcm_sym16__{nullptr, 0}; Eigen::Map> x1{nullptr, 0}; Eigen::Map> x2{nullptr, 0}; Eigen::Map> x1x2{nullptr, 0}; @@ -30919,8 +29110,8 @@ class stalled1_failure_model final : public model_base_crtp(alpha0, 0.0, 1.0E3)); @@ -31118,7 +29309,7 @@ class stalled1_failure_model final : public model_base_crtp(rvalue(b, "b", index_uni(1)), 0.0, - lcm_sym17__)); + lcm_sym5__)); current_statement__ = 14; lp_accum__.add( binomial_logit_lpmf(rvalue(n, "n", index_uni(1)), @@ -31133,7 +29324,7 @@ class stalled1_failure_model final : public model_base_crtp(rvalue(b, "b", index_uni(i)), 0.0, - lcm_sym17__)); + lcm_sym5__)); current_statement__ = 14; lp_accum__.add( binomial_logit_lpmf(rvalue(n, "n", index_uni(i)), @@ -31166,8 +29357,8 @@ class stalled1_failure_model final : public model_base_crtp in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -31181,14 +29372,9 @@ class stalled1_failure_model final : public model_base_crtp::quiet_NaN(); @@ -31225,92 +29411,20 @@ class stalled1_failure_model final : public model_base_crtp::quiet_NaN(); - vars__.emplace_back(alpha0); - vars__.emplace_back(alpha1); - vars__.emplace_back(alpha2); - vars__.emplace_back(alpha12); - vars__.emplace_back(tau); - { - lcm_sym10__ = logical_gte(I, 1); - if (lcm_sym10__) { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(1))); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym2__), index_uni(1))); - } - } - { - if (lcm_sym10__) { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(2))); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym2__), index_uni(2))); - } - } - } - { - if (lcm_sym10__) { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(3))); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym2__), index_uni(3))); - } - } - } - { - if (lcm_sym10__) { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(4))); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym2__), index_uni(4))); - } - } - } - { - if (lcm_sym10__) { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(5))); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym2__), index_uni(5))); - } - } - } - { - if (lcm_sym10__) { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(6))); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym2__), index_uni(6))); - } - } - } - { - if (lcm_sym10__) { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(7))); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym2__), index_uni(7))); - } - } - } - { - if (lcm_sym10__) { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(8))); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym2__), index_uni(8))); - } - } - } - } + out__.write(alpha0); + out__.write(alpha1); + out__.write(alpha2); + out__.write(alpha12); + out__.write(tau); + out__.write(b); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; } - lcm_sym9__ = (1 / stan::math::sqrt(tau)); - sigma = lcm_sym9__; + lcm_sym2__ = (1 / stan::math::sqrt(tau)); + sigma = lcm_sym2__; if (emit_transformed_parameters__) { - vars__.emplace_back(lcm_sym9__); + out__.write(lcm_sym2__); } if (logical_negation(emit_generated_quantities__)) { return ; @@ -31325,271 +29439,132 @@ class stalled1_failure_model final : public model_base_crtp* = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { - double lcm_sym8__; - double lcm_sym7__; - double lcm_sym6__; - double lcm_sym5__; - double lcm_sym4__; - double lcm_sym3__; - int lcm_sym2__; int lcm_sym1__; int pos__; pos__ = std::numeric_limits::min(); pos__ = 1; - double alpha0; - alpha0 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - alpha0 = context__.vals_r("alpha0")[(1 - 1)]; - double alpha1; - alpha1 = std::numeric_limits::quiet_NaN(); + local_scalar_t__ alpha0; + alpha0 = DUMMY_VAR__; - current_statement__ = 2; - alpha1 = context__.vals_r("alpha1")[(1 - 1)]; - double alpha2; - alpha2 = std::numeric_limits::quiet_NaN(); + alpha0 = in__.read(); + out__.write(alpha0); + local_scalar_t__ alpha1; + alpha1 = DUMMY_VAR__; - current_statement__ = 3; - alpha2 = context__.vals_r("alpha2")[(1 - 1)]; - double alpha12; - alpha12 = std::numeric_limits::quiet_NaN(); + alpha1 = in__.read(); + out__.write(alpha1); + local_scalar_t__ alpha2; + alpha2 = DUMMY_VAR__; - current_statement__ = 4; - alpha12 = context__.vals_r("alpha12")[(1 - 1)]; - double tau; - tau = std::numeric_limits::quiet_NaN(); + alpha2 = in__.read(); + out__.write(alpha2); + local_scalar_t__ alpha12; + alpha12 = DUMMY_VAR__; - current_statement__ = 5; - tau = context__.vals_r("tau")[(1 - 1)]; - double tau_free__; - tau_free__ = std::numeric_limits::quiet_NaN(); + alpha12 = in__.read(); + out__.write(alpha12); + local_scalar_t__ tau; + tau = DUMMY_VAR__; - current_statement__ = 5; - tau_free__ = stan::math::lb_free(tau, 0); - std::vector> b; - b = std::vector>(I, Eigen::Matrix(8)); - stan::math::fill(b, std::numeric_limits::quiet_NaN()); + tau = in__.read(); + out__.write_free_lb(0, tau); + std::vector> b; + b = std::vector>(I, Eigen::Matrix(8)); + stan::math::fill(b, DUMMY_VAR__); { - std::vector b_flat__; - current_statement__ = 6; - b_flat__ = context__.vals_r("b"); - current_statement__ = 6; - pos__ = 1; + lcm_sym1__ = logical_gte(I, 1); + if (lcm_sym1__) { + assign(b, in__.read(), + "assigning variable b", index_uni(1), index_uni(1)); + for (int sym2__ = 2; sym2__ <= I; ++sym2__) { + assign(b, in__.read(), + "assigning variable b", index_uni(sym2__), index_uni(1)); + } + } { - { - lcm_sym1__ = logical_gte(I, 1); - if (lcm_sym1__) { - current_statement__ = 6; - assign(b, rvalue(b_flat__, "b_flat__", index_uni(1)), - "assigning variable b", index_uni(1), index_uni(1)); - current_statement__ = 6; - pos__ = 2; - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(sym2__), index_uni(1)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - { - current_statement__ = 6; - if (lcm_sym1__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(1), index_uni(2)); - current_statement__ = 6; - pos__ = (pos__ + 1); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(sym2__), index_uni(2)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - } - { - current_statement__ = 6; - if (lcm_sym1__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(1), index_uni(3)); - current_statement__ = 6; - pos__ = (pos__ + 1); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(sym2__), index_uni(3)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - } - { - current_statement__ = 6; - if (lcm_sym1__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(1), index_uni(4)); - current_statement__ = 6; - pos__ = (pos__ + 1); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(sym2__), index_uni(4)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - } - { - current_statement__ = 6; - if (lcm_sym1__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(1), index_uni(5)); - current_statement__ = 6; - pos__ = (pos__ + 1); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(sym2__), index_uni(5)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - } - { - current_statement__ = 6; - if (lcm_sym1__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(1), index_uni(6)); - current_statement__ = 6; - pos__ = (pos__ + 1); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(sym2__), index_uni(6)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - } - { - current_statement__ = 6; - if (lcm_sym1__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(1), index_uni(7)); - current_statement__ = 6; - pos__ = (pos__ + 1); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(sym2__), index_uni(7)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } - } - { - current_statement__ = 6; - if (lcm_sym1__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(1), index_uni(8)); - current_statement__ = 6; - pos__ = (pos__ + 1); - for (int sym2__ = 2; sym2__ <= I; ++sym2__) { - current_statement__ = 6; - assign(b, b_flat__[(pos__ - 1)], - "assigning variable b", index_uni(sym2__), index_uni(8)); - current_statement__ = 6; - pos__ = (pos__ + 1); - } - } + if (lcm_sym1__) { + assign(b, in__.read(), + "assigning variable b", index_uni(1), index_uni(2)); + for (int sym2__ = 2; sym2__ <= I; ++sym2__) { + assign(b, in__.read(), + "assigning variable b", index_uni(sym2__), index_uni(2)); } - } + } } - } - vars__.emplace_back(alpha0); - vars__.emplace_back(alpha1); - vars__.emplace_back(alpha2); - vars__.emplace_back(alpha12); - vars__.emplace_back(tau_free__); - if (lcm_sym1__) { { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(1))); - { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(2))); - } - { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(3))); - } - { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(4))); - } - { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(5))); - } - { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(6))); - } - { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(7))); - } - { - vars__.emplace_back(rvalue(b, "b", index_uni(1), index_uni(8))); - } - } - for (int sym1__ = 2; sym1__ <= I; ++sym1__) { - { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym1__), index_uni(1))); - { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym1__), index_uni(2))); - } - { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym1__), index_uni(3))); + if (lcm_sym1__) { + assign(b, in__.read(), + "assigning variable b", index_uni(1), index_uni(3)); + for (int sym2__ = 2; sym2__ <= I; ++sym2__) { + assign(b, in__.read(), + "assigning variable b", index_uni(sym2__), index_uni(3)); } - { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym1__), index_uni(4))); + } + } + { + if (lcm_sym1__) { + assign(b, in__.read(), + "assigning variable b", index_uni(1), index_uni(4)); + for (int sym2__ = 2; sym2__ <= I; ++sym2__) { + assign(b, in__.read(), + "assigning variable b", index_uni(sym2__), index_uni(4)); } - { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym1__), index_uni(5))); + } + } + { + if (lcm_sym1__) { + assign(b, in__.read(), + "assigning variable b", index_uni(1), index_uni(5)); + for (int sym2__ = 2; sym2__ <= I; ++sym2__) { + assign(b, in__.read(), + "assigning variable b", index_uni(sym2__), index_uni(5)); } - { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym1__), index_uni(6))); + } + } + { + if (lcm_sym1__) { + assign(b, in__.read(), + "assigning variable b", index_uni(1), index_uni(6)); + for (int sym2__ = 2; sym2__ <= I; ++sym2__) { + assign(b, in__.read(), + "assigning variable b", index_uni(sym2__), index_uni(6)); } - { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym1__), index_uni(7))); + } + } + { + if (lcm_sym1__) { + assign(b, in__.read(), + "assigning variable b", index_uni(1), index_uni(7)); + for (int sym2__ = 2; sym2__ <= I; ++sym2__) { + assign(b, in__.read(), + "assigning variable b", index_uni(sym2__), index_uni(7)); } - { - vars__.emplace_back( - rvalue(b, "b", index_uni(sym1__), index_uni(8))); + } + } + { + if (lcm_sym1__) { + assign(b, in__.read(), + "assigning variable b", index_uni(1), index_uni(8)); + for (int sym2__ = 2; sym2__ <= I; ++sym2__) { + assign(b, in__.read(), + "assigning variable b", index_uni(sym2__), index_uni(8)); } - } + } } - } + } + out__.write(b); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -31625,11 +29600,11 @@ class stalled1_failure_model final : public model_base_crtp vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = + (((((1 + 1) + 1) + 1) + 1) + (I * K)); + const size_t num_transformed = 1; + const size_t num_gen_quantities = 0; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -31711,8 +29691,14 @@ class stalled1_failure_model final : public model_base_crtp @@ -31733,20 +29719,32 @@ class stalled1_failure_model final : public model_base_crtp& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"alpha0", + "alpha1", "alpha2", "alpha12", "tau", "b", "sigma"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = stalled1_failure_model_namespace::stalled1_failure_model; @@ -31901,8 +29899,8 @@ class unroll_limit_model final : public model_base_crtp { const bool emit_generated_quantities__ = true, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.resize(0); stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); static constexpr bool propto__ = true; (void) propto__; double lp__ = 0.0; @@ -32202,7 +30200,7 @@ class unroll_limit_model final : public model_base_crtp { x = (x + (5 + i)); } } - vars__.emplace_back(x); + out__.write(x); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); // Next line prevents compiler griping about no return @@ -32213,13 +30211,14 @@ class unroll_limit_model final : public model_base_crtp { template * = nullptr, stan::require_vector_like_vt* = nullptr> - inline void transform_inits_impl(const stan::io::var_context& context__, - VecI& params_i__, VecVar& vars__, + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, std::ostream* pstream__ = nullptr) const { using local_scalar_t__ = double; - vars__.clear(); - vars__.reserve(num_params_r__); - int current_statement__ = 0; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); try { int pos__; @@ -32300,8 +30299,12 @@ class unroll_limit_model final : public model_base_crtp { const bool emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - std::vector vars_vec; - vars_vec.reserve(vars.size()); + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 1; + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); std::vector params_i; write_array_impl(base_rng, params_r, params_i, vars_vec, emit_transformed_parameters, emit_generated_quantities, pstream); @@ -32316,8 +30319,13 @@ class unroll_limit_model final : public model_base_crtp { bool emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - write_array_impl(base_rng, params_r, params_i, vars, - emit_transformed_parameters, emit_generated_quantities, pstream); + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = 1; + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); } template @@ -32338,20 +30346,31 @@ class unroll_limit_model final : public model_base_crtp { inline void transform_inits(const stan::io::var_context& context, Eigen::Matrix& params_r, std::ostream* pstream = nullptr) const final { - std::vector params_r_vec; - params_r_vec.reserve(params_r.size()); + std::vector params_r_vec(params_r.size()); std::vector params_i; - transform_inits_impl(context, params_i, params_r_vec, pstream); + transform_inits(context, params_i, params_r_vec, pstream); params_r = Eigen::Map>( params_r_vec.data(), params_r_vec.size()); } - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream = nullptr) const final { - transform_inits_impl(context, params_i, vars, pstream); - } + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + const std::array names__ = std::array{"x"}; + + std::vector params_r_flat__; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + params_r_flat__.reserve(params_r_flat__.size() + param_vec__.size()); + for (auto&& param_val__ : param_vec__) { + params_r_flat__.push_back(param_val__); + } + } + vars.resize(params_r_flat__.size()); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; } using stan_model = unroll_limit_model_namespace::unroll_limit_model; diff --git a/test/unit/Ast_to_Mir_tests.ml b/test/unit/Ast_to_Mir_tests.ml index 0f3b20a518..f25dd5ca97 100644 --- a/test/unit/Ast_to_Mir_tests.ml +++ b/test/unit/Ast_to_Mir_tests.ml @@ -185,37 +185,41 @@ let%expect_test "gen quant" = (Block (((pattern (NRFunApp - (CompilerInternal (FnCheck greater_or_equal)) - (((pattern - (Lit Str "mat[sym1__, sym2__, sym3__]")) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))) - ((pattern - (Indexed - ((pattern (Var mat)) + (CompilerInternal + (FnCheck + (trans + (Lower + ((pattern (Lit Int 0)) (meta - ((type_ (UArray UMatrix)) (loc ) - (adlevel DataOnly)))) - ((Single - ((pattern (Var sym1__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym2__)) + ((type_ UInt) (loc ) + (adlevel DataOnly)))))) + (var_name "mat[sym1__, sym2__, sym3__]") + (var + ((pattern + (Indexed + ((pattern (Var mat)) (meta - ((type_ UInt) (loc ) - (adlevel DataOnly))))) - (Single - ((pattern (Var sym3__)) - (meta - ((type_ UInt) (loc ) - (adlevel DataOnly)))))))) - (meta - ((type_ UReal) (loc ) - (adlevel DataOnly)))) - ((pattern (Lit Int 0)) + ((type_ (UArray UMatrix)) (loc ) + (adlevel DataOnly)))) + ((Single + ((pattern (Var sym1__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym2__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly))))) + (Single + ((pattern (Var sym3__)) + (meta + ((type_ UInt) (loc ) + (adlevel DataOnly)))))))) + (meta + ((type_ UReal) (loc ) + (adlevel DataOnly))))))) + (((pattern (Lit Int 0)) (meta ((type_ UInt) (loc ) (adlevel DataOnly))))))) diff --git a/test/unit/Optimize.ml b/test/unit/Optimize.ml index 731b1254ea..26eb8747ac 100644 --- a/test/unit/Optimize.ml +++ b/test/unit/Optimize.ml @@ -2408,18 +2408,6 @@ model { if(PNot__(emit_generated_quantities__)) return; } - transform_inits { - data matrix[3, 2] x_matrix; - data matrix[2, 4] y_matrix; - data matrix[4, 2] z_matrix; - data vector[2] x_vector; - data vector[3] y_vector; - data matrix[2, 2] x_cov; - data vector[3] x_cov_free__; - x_cov_free__ = (FnUnconstrain cov_matrix)__(x_cov); - data real theta_u; - data real phi_u; - } output_vars { parameters matrix[3, 2] x_matrix; //matrix[3, 2] @@ -3267,9 +3255,6 @@ let%expect_test "adlevel_optimization" = if(PNot__(emit_generated_quantities__)) return; } - transform_inits { - data real w; - } output_vars { parameters real w; //real @@ -3468,11 +3453,22 @@ let%expect_test "adlevel_optimization 2" = if(PNot__(emit_generated_quantities__)) return; } - transform_inits { - data real w; - } output_vars { parameters real w; //real transformed_parameters real w_trans; //real } |}] + +let%expect_test "Mapping acts recursively" = + let from = Expr.Helpers.variable "x" in + let into = Expr.Helpers.variable "y" in + let unpattern p = {Stmt.Fixed.pattern= p; meta= Location_span.empty} in + let s = + Stmt.Fixed.Pattern.NRFunApp + ( CompilerInternal (FnWriteParam {var= from; unconstrain_opt= None}) + , [from] ) + in + let m = Expr.Typed.Map.of_alist_exn [(from, into)] in + let s' = expr_subst_stmt_base m s in + Fmt.strf "@[%a@]" Stmt.Located.pp (unpattern s') |> print_endline ; + [%expect {| (FnWriteParam(unconstrain_opt())(var y))__(y); |}]