diff --git a/src/analysis_and_optimization/Optimize.ml b/src/analysis_and_optimization/Optimize.ml index 64d34979fb..ec1677bc4f 100644 --- a/src/analysis_and_optimization/Optimize.ml +++ b/src/analysis_and_optimization/Optimize.ml @@ -236,7 +236,7 @@ let rec inline_function_expression propto adt fim in let es = List.map ~f:(function _, _, x -> x) dse_list in match kind with - | CompilerInternal _ -> + | CompilerInternal _ | Closure _ -> (d_list, s_list, {e with pattern= FunApp (kind, es)}) | UserDefined (fname, suffix) | StanLib (fname, suffix, _) -> ( let suffix, fname' = @@ -387,7 +387,7 @@ let rec inline_function_statement propto adt fim Stmt.Fixed.({pattern; meta}) = let es = List.map ~f:(function _, _, x -> x) dse_list in slist_concat_no_loc (d_list @ s_list) ( match kind with - | CompilerInternal _ -> NRFunApp (kind, es) + | CompilerInternal _ | Closure _ -> NRFunApp (kind, es) | UserDefined (s, _) | StanLib (s, _, _) -> ( match Map.find fim s with | None -> NRFunApp (kind, es) diff --git a/src/analysis_and_optimization/Partial_evaluator.ml b/src/analysis_and_optimization/Partial_evaluator.ml index eec21ec222..3536f0d40b 100644 --- a/src/analysis_and_optimization/Partial_evaluator.ml +++ b/src/analysis_and_optimization/Partial_evaluator.ml @@ -87,7 +87,7 @@ let rec eval_expr (e : Expr.Typed.t) = | FunApp (kind, l) -> ( let l = List.map ~f:eval_expr l in match kind with - | UserDefined _ | CompilerInternal _ -> FunApp (kind, l) + | UserDefined _ | CompilerInternal _ | Closure _ -> FunApp (kind, l) | StanLib (f, suffix, mem_type) -> let get_fun_or_op_rt_opt name l' = let argument_types = diff --git a/src/frontend/Ast.ml b/src/frontend/Ast.ml index 809bca853e..4b7d655108 100644 --- a/src/frontend/Ast.ml +++ b/src/frontend/Ast.ml @@ -21,6 +21,16 @@ type 'e index = type fun_kind = | StanLib of bool Fun_kind.suffix | UserDefined of bool Fun_kind.suffix + | Closure of bool Fun_kind.suffix +[@@deriving compare, sexp, hash] + +type capture_info = + string + * ( Middle.UnsizedType.capturetype + * Middle.UnsizedType.autodifftype + * Middle.UnsizedType.t + * string ) + list [@@deriving compare, sexp, hash] (** Expression shapes (used for both typed and untyped expressions, where we @@ -118,7 +128,7 @@ type typed_lval = (typed_expression, typed_expr_meta) lval_with (** Statement shapes, where we substitute untyped_expression and untyped_statement for 'e and 's respectively to get untyped_statement and typed_expression and typed_statement to get typed_statement *) -type ('e, 's, 'l, 'f) statement = +type ('e, 's, 'l, 'f, 'c) statement = | Assignment of { assign_lhs: 'l ; assign_op: assignmentoperator @@ -158,6 +168,7 @@ type ('e, 's, 'l, 'f) statement = | FunDef of { returntype: Middle.UnsizedType.returntype ; funname: identifier + ; captures: 'c option ; arguments: (Middle.UnsizedType.autodifftype * Middle.UnsizedType.t * identifier) list @@ -179,13 +190,14 @@ type statement_returntype = | AnyReturnType [@@deriving sexp, hash, compare] -type ('e, 'm, 'l, 'f) statement_with = - {stmt: ('e, ('e, 'm, 'l, 'f) statement_with, 'l, 'f) statement; smeta: 'm} +type ('e, 'm, 'l, 'f, 'c) statement_with = + { stmt: ('e, ('e, 'm, 'l, 'f, 'c) statement_with, 'l, 'f, 'c) statement + ; smeta: 'm } [@@deriving sexp, compare, map, hash, fold] (** Untyped statements, which have location_spans as meta-data *) type untyped_statement = - (untyped_expression, located_meta, untyped_lval, unit) statement_with + (untyped_expression, located_meta, untyped_lval, unit, unit) statement_with [@@deriving sexp, compare, map, hash] let mk_untyped_statement ~stmt ~loc : untyped_statement = {stmt; smeta= {loc}} @@ -201,7 +213,8 @@ type typed_statement = ( typed_expression , stmt_typed_located_meta , typed_lval - , fun_kind ) + , fun_kind + , capture_info ) statement_with [@@deriving sexp, compare, map, hash] @@ -254,12 +267,13 @@ let rec untyped_lvalue_of_typed_lvalue ({lval; lmeta} : typed_lval) : ; lmeta= {loc= lmeta.loc} } (** Forgetful function from typed to untyped statements *) -let rec untyped_statement_of_typed_statement {stmt; smeta} = +let rec untyped_statement_of_typed_statement ({stmt; smeta} : typed_statement) + = { stmt= map_statement untyped_expression_of_typed_expression untyped_statement_of_typed_statement untyped_lvalue_of_typed_lvalue - (fun _ -> ()) - stmt + (function StanLib _ | UserDefined _ | Closure _ -> ()) + Fn.ignore stmt ; smeta= {loc= smeta.loc} } (** Forgetful function from typed to untyped programs *) diff --git a/src/frontend/Ast_to_Mir.ml b/src/frontend/Ast_to_Mir.ml index 6bb90fc8eb..03a64e0773 100644 --- a/src/frontend/Ast_to_Mir.ml +++ b/src/frontend/Ast_to_Mir.ml @@ -14,6 +14,7 @@ let trans_fn_kind kind name = match kind with | Ast.StanLib suffix -> Fun_kind.StanLib (fname, suffix, AoS) | UserDefined suffix -> UserDefined (fname, suffix) + | Closure suffix -> Closure (fname, suffix) let without_underscores = String.filter ~f:(( <> ) '_') @@ -36,6 +37,8 @@ let%expect_test "format_number1" = format_number ".123_456" |> print_endline ; [%expect ".123456"] +let closures = ref String.Map.empty + let rec op_to_funapp op args = let argtypes = List.map ~f:(fun x -> (x.Ast.emeta.Ast.ad_level, x.emeta.type_)) args @@ -413,11 +416,11 @@ 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 = + let translate_stmt = trans_stmt ud_dists {declc with transform_action= IgnoreTransform} in let trans_single_stmt s = - match trans_stmt s with + match translate_stmt s with | [s] -> s | s -> Stmt.Fixed.{pattern= SList s; meta= smeta} in @@ -552,7 +555,66 @@ let rec trans_stmt ud_dists (declc : decl_context) (ts : Ast.typed_statement) = ; meta= smeta } in Stmt.Helpers.[ensure_var (for_each bodyfn) iteratee' smeta] - | Ast.FunDef _ -> + | Ast.FunDef + { returntype + ; funname + ; captures= Some (implname, captures) + ; arguments + ; body } -> + let fdsuffix = Fun_kind.suffix_from_name funname.name in + if Map.find !closures implname = None then + closures := + String.Map.add_exn !closures ~key:implname + ~data: + { Program.fdrt= + ( match returntype with + | Void -> None + | ReturnType ut -> Some ut ) + ; fdname= implname + ; fdsuffix= + Fun_kind.( + suffix_from_name funname.name |> map_suffix Fn.ignore) + ; fdcaptures= + Some + (List.map + ~f:(fun (ref, ad, ty, id) -> (ref, ad, id, ty)) + captures) + ; fdargs= List.map ~f:trans_arg arguments + ; fdbody= + trans_stmt ud_dists + {transform_action= IgnoreTransform; dadlevel= AutoDiffable} + body + |> unwrap_block_or_skip + ; fdloc= ts.smeta.loc } ; + let arguments = List.map ~f:(fun (ad, ut, _) -> (ad, ut)) arguments in + let type_ = + UnsizedType.UFun (arguments, returntype, (fdsuffix, true), AoS) + in + let captures = + List.map + ~f:(fun (_, adlevel, type_, id) -> + Expr. + { Fixed.pattern= Var id + ; meta= Typed.Meta.{adlevel; type_; loc= mloc} } ) + captures + in + [ { pattern= + Decl + { decl_adtype= AutoDiffable + ; decl_id= funname.name + ; decl_type= Unsized type_ + ; initialize= false } + ; meta= smeta } + ; { pattern= + Assignment + ( (funname.name, type_, []) + , { pattern= + FunApp + ( CompilerInternal FnMakeClosure + , Expr.Helpers.str implname :: captures ) + ; meta= {type_; adlevel= AutoDiffable; loc= mloc} } ) + ; meta= smeta } ] + | Ast.FunDef {captures= None; _} -> raise_s [%message "Found function definition statement outside of function block"] @@ -561,9 +623,9 @@ let rec trans_stmt ud_dists (declc : decl_context) (ts : Ast.typed_statement) = trans_decl declc smeta decl_type (Transformation.map trans_expr transformation) identifier initial_value - | Ast.Block stmts -> Block (List.concat_map ~f:trans_stmt stmts) |> swrap + | Ast.Block stmts -> Block (List.concat_map ~f:translate_stmt stmts) |> swrap | Ast.Profile (name, stmts) -> - Profile (name, List.concat_map ~f:trans_stmt stmts) |> swrap + Profile (name, List.concat_map ~f:translate_stmt stmts) |> swrap | Ast.Return e -> Return (Some (trans_expr e)) |> swrap | Ast.ReturnVoid -> Return None |> swrap | Ast.Break -> Break |> swrap @@ -572,13 +634,14 @@ let rec trans_stmt ud_dists (declc : decl_context) (ts : Ast.typed_statement) = let trans_fun_def ud_dists (ts : Ast.typed_statement) = match ts.stmt with - | Ast.FunDef {returntype; funname; arguments; body} -> + | Ast.FunDef {returntype; funname; captures= None; arguments; body} -> [ Program. { fdrt= (match returntype with Void -> None | ReturnType ut -> Some ut) ; fdname= funname.name ; fdsuffix= Fun_kind.(suffix_from_name funname.name |> without_propto) + ; fdcaptures= None ; fdargs= List.map ~f:trans_arg arguments ; fdbody= trans_stmt ud_dists @@ -761,6 +824,7 @@ let migrate_checks_to_end_of_block stmts = not_checks @ checks let trans_prog filename (p : Ast.typed_program) : Program.Typed.t = + closures := String.Map.empty ; let {Ast.functionblock; datablock; transformeddatablock; modelblock; _} = p in @@ -871,7 +935,8 @@ let trans_prog filename (p : Ast.typed_program) : Program.Typed.t = "_" ^ prog_name else prog_name in - { functions_block= map (trans_fun_def ud_dists) functionblock + let functions = map (trans_fun_def ud_dists) functionblock in + { functions_block= functions @ List.map ~f:snd (Map.to_alist !closures) ; input_vars ; prepare_data ; log_prob diff --git a/src/frontend/Canonicalize.ml b/src/frontend/Canonicalize.ml index ccc3f0ad2c..10b33b3631 100644 --- a/src/frontend/Canonicalize.ml +++ b/src/frontend/Canonicalize.ml @@ -14,7 +14,9 @@ let rec repair_syntax_stmt user_dists {stmt; smeta} = ; smeta } | _ -> { stmt= - map_statement ident (repair_syntax_stmt user_dists) ident ident stmt + map_statement Fn.id + (repair_syntax_stmt user_dists) + Fn.id Fn.id Fn.id stmt ; smeta } let rec replace_deprecated_expr @@ -91,7 +93,8 @@ let rec replace_deprecated_stmt { assign_lhs= replace_deprecated_lval deprecated_userdefined l ; assign_op= Assign ; assign_rhs= (replace_deprecated_expr deprecated_userdefined) e } - | FunDef {returntype; funname= {name; id_loc}; arguments; body} -> + | FunDef {returntype; funname= {name; id_loc}; captures; arguments; body} + -> let newname = match String.Map.find deprecated_userdefined name with | Some type_ -> update_suffix name type_ @@ -100,6 +103,7 @@ let rec replace_deprecated_stmt FunDef { returntype ; funname= {name= newname; id_loc} + ; captures ; arguments ; body= replace_deprecated_stmt deprecated_userdefined body } | _ -> @@ -107,7 +111,7 @@ let rec replace_deprecated_stmt (replace_deprecated_expr deprecated_userdefined) (replace_deprecated_stmt deprecated_userdefined) (replace_deprecated_lval deprecated_userdefined) - ident stmt + Fn.id Fn.id stmt in {stmt; smeta} @@ -165,7 +169,7 @@ let rec parens_stmt {stmt; smeta} = ; lower_bound= keep_parens lower_bound ; upper_bound= keep_parens upper_bound ; loop_body= parens_stmt loop_body } - | _ -> map_statement no_parens parens_stmt parens_lval ident stmt + | _ -> map_statement no_parens parens_stmt parens_lval Fn.id Fn.id stmt in {stmt; smeta} diff --git a/src/frontend/Deprecation_analysis.ml b/src/frontend/Deprecation_analysis.ml index 41cfd13878..524919c08a 100644 --- a/src/frontend/Deprecation_analysis.ml +++ b/src/frontend/Deprecation_analysis.ml @@ -188,6 +188,7 @@ let rec collect_deprecated_stmt deprecated_userdefined (collect_deprecated_stmt deprecated_userdefined) (collect_deprecated_lval deprecated_userdefined) (fun l _ -> l) + (fun l _ -> l) acc stmt let collect_userdef_distributions program = diff --git a/src/frontend/Info.ml b/src/frontend/Info.ml index 7a14f0ff7e..fe23f24540 100644 --- a/src/frontend/Info.ml +++ b/src/frontend/Info.ml @@ -97,6 +97,7 @@ let rec get_function_calls_stmt ud_dists (funs, distrs) stmt = (get_function_calls_stmt ud_dists) (fun acc _ -> acc) (fun acc _ -> acc) + (fun acc _ -> acc) acc stmt.stmt let function_calls ppf p = diff --git a/src/frontend/Pretty_printing.ml b/src/frontend/Pretty_printing.ml index be7d4b1029..fb0b7a40a5 100644 --- a/src/frontend/Pretty_printing.ml +++ b/src/frontend/Pretty_printing.ml @@ -155,20 +155,17 @@ let with_indented_box ppf indentation offset f = let pp_unsizedtype = Middle.UnsizedType.pp let pp_autodifftype = Middle.UnsizedType.pp_autodifftype +let pp_returntype = Middle.UnsizedType.pp_returntype let rec unwind_sized_array_type = function | Middle.SizedType.SArray (st, e) -> ( match unwind_sized_array_type st with st2, es -> (st2, es @ [e]) ) | st -> (st, []) -let pp_unsizedtypes ppf l = Fmt.(list ~sep:comma_no_break pp_unsizedtype) ppf l - -let pp_argtype ppf = function - | at, ut -> Fmt.pair ~sep:Fmt.nop pp_autodifftype pp_unsizedtype ppf (at, ut) - -let pp_returntype ppf = function - | Middle.UnsizedType.ReturnType x -> pp_unsizedtype ppf x - | Void -> Fmt.pf ppf "void" +let rec unwind_array_type = function + | Middle.UnsizedType.UArray ut -> ( + match unwind_array_type ut with ut2, d -> (ut2, d + 1) ) + | ut -> (ut, 0) let pp_identifier ppf id = Fmt.pf ppf "%s" id.name @@ -525,7 +522,8 @@ and pp_statement ppf with_hbox ppf (fun () -> Fmt.pf ppf "%a%a %a%a;" pp_array_dims es pp_transformed_type (pst, trans) pp_identifier id pp_init init ) - | FunDef {returntype= rt; funname= id; arguments= args; body= b} -> ( + | FunDef {returntype= rt; funname= id; captures; arguments= args; body= b} -> ( + if is_some captures then Fmt.pf ppf "function" ; Fmt.pf ppf "%a %a(" pp_returntype rt pp_identifier id ; let loc_of (_, _, id) = id.id_loc in with_box ppf 0 (fun () -> diff --git a/src/frontend/Semantic_check.ml b/src/frontend/Semantic_check.ml index 5212878b44..758eedb4cc 100644 --- a/src/frontend/Semantic_check.ml +++ b/src/frontend/Semantic_check.ml @@ -83,6 +83,15 @@ let calculate_autodifftype cf at ut = UnsizedType.AutoDiffable | _ -> DataOnly +let calculate_capturetype cf at ut = + if UnsizedType.is_scalar_type ut || UnsizedType.is_fun_type ut then + UnsizedType.Copy + else + match at with + | (Data | TData) when cf.current_block <> Functions -> Ref + | GQuant -> Ref + | _ -> Copy + let has_int_type ue = ue.emeta.type_ = UInt let has_int_array_type ue = ue.emeta.type_ = UArray UInt @@ -200,7 +209,8 @@ let reserved_keywords = ; "for"; "in"; "break"; "continue"; "void"; "int"; "real"; "complex" ; "vector"; "row_vector"; "matrix"; "ordered"; "positive_ordered"; "simplex" ; "unit_vector"; "cholesky_factor_corr"; "cholesky_factor_cov"; "corr_matrix" - ; "cov_matrix"; "print"; "reject"; "target"; "get_lp"; "profile" ] + ; "cov_matrix"; "print"; "reject"; "target"; "get_lp"; "profile"; "function" + ] let semantic_check_identifier id = Validate.( @@ -254,8 +264,9 @@ let semantic_check_fn_rng cf ~loc id = Semantic_error.invalid_decl_rng_fn loc |> error else if String.is_suffix id.name ~suffix:"_rng" - && ( (cf.in_fun_def && not cf.in_rng_fun_def) - || cf.current_block = TParam || cf.current_block = Model ) + && (not (cf.in_fun_def && cf.in_rng_fun_def)) + && ( cf.in_fun_def || cf.current_block = TParam + || cf.current_block = Model ) then Semantic_error.invalid_rng_fn loc |> error else ok ()) @@ -280,7 +291,7 @@ let semantic_check_fn_normal ~is_cond_dist ~loc id es = | Some (_, UnsizedType.UFun (_, Void, _, _)) -> Semantic_error.returning_fn_expected_nonreturning_found loc id.name |> error - | Some (_, UFun (listedtypes, ReturnType ut, _, _)) -> ( + | Some (_, UFun (listedtypes, ReturnType ut, (_, is_closure), _)) -> ( match SignatureMismatch.check_compatible_arguments_mod_conv listedtypes (get_arg_types es) @@ -292,10 +303,12 @@ let semantic_check_fn_normal ~is_cond_dist ~loc id es = (ReturnType ut) x |> error | None -> + let kind = + if is_closure then Closure (Fun_kind.suffix_from_name id.name) + else UserDefined (Fun_kind.suffix_from_name id.name) + in mk_typed_expression - ~expr: - (mk_fun_app ~is_cond_dist - (UserDefined (Fun_kind.suffix_from_name id.name), id, es)) + ~expr:(mk_fun_app ~is_cond_dist (kind, id, es)) ~ad_level:(expr_ad_lub es) ~type_:ut ~loc |> ok ) | Some _ -> @@ -423,7 +436,8 @@ let semantic_check_fn ~is_cond_dist ~loc id es = | StanLib FnPlain when Stan_math_signatures.is_variadic_ode_fn id.name -> semantic_check_variadic_ode ~is_cond_dist ~loc id es | StanLib _ -> semantic_check_fn_stan_math ~is_cond_dist ~loc id es - | UserDefined _ -> semantic_check_fn_normal ~is_cond_dist ~loc id es + | UserDefined _ | Closure _ -> + semantic_check_fn_normal ~is_cond_dist ~loc id es (* -- Ternary If ------------------------------------------------------------ *) @@ -521,10 +535,14 @@ let semantic_check_variable cf loc id = ( (cf.in_fun_def && (cf.in_udf_dist_def || cf.in_lp_fun_def)) || cf.current_block = Model ) -> Semantic_error.invalid_unnormalized_fn loc |> error - | Some (originblock, UFun (args, rt, FnLpdf _, mem_pattern)) -> + | Some (originblock, UFun (args, rt, (FnLpdf _, is_closure), mem_pattern)) + -> let type_ = UnsizedType.UFun - (args, rt, Fun_kind.suffix_from_name id.name, mem_pattern) + ( args + , rt + , (Fun_kind.suffix_from_name id.name, is_closure) + , mem_pattern ) in mk_typed_expression ~expr:(Variable id) ~ad_level:(calculate_autodifftype cf originblock type_) @@ -966,14 +984,17 @@ let semantic_check_nrfn_target ~loc ~cf id = let semantic_check_nrfn_normal ~loc id es = Validate.( match Symbol_table.look vm id.name with - | Some (_, UFun (listedtypes, Void, suffix, _)) -> ( + | Some (_, UFun (listedtypes, Void, (suffix, is_closure), _)) -> ( match SignatureMismatch.check_compatible_arguments_mod_conv listedtypes (get_arg_types es) with | None -> + let kind = + if is_closure then Closure suffix else UserDefined suffix + in mk_typed_statement - ~stmt:(NRFunApp (UserDefined suffix, id, es)) + ~stmt:(NRFunApp (kind, id, es)) ~return_type:NoReturnType ~loc |> ok | Some x -> @@ -1015,7 +1036,7 @@ let semantic_check_nrfn_stan_math ~loc id es = let semantic_check_nr_fnkind ~loc id es = match fn_kind_from_application id es with | StanLib _ -> semantic_check_nrfn_stan_math ~loc id es - | UserDefined _ -> semantic_check_nrfn_normal ~loc id es + | UserDefined _ | Closure _ -> semantic_check_nrfn_normal ~loc id es let semantic_check_nr_fn_app ~loc ~cf id es = Validate.( @@ -1030,8 +1051,10 @@ let semantic_check_nr_fn_app ~loc ~cf id es = let semantic_check_assignment_read_only ~loc id = Validate.( - if Symbol_table.get_read_only vm id.name then - Semantic_error.cannot_assign_to_read_only loc id.name |> error + if + Symbol_table.get_read_only vm id.name + || not (Symbol_table.check_is_local vm id.name) + then Semantic_error.cannot_assign_to_read_only loc id.name |> error else ok ()) (* Variables from previous blocks are read-only. @@ -1182,7 +1205,9 @@ let semantic_check_sampling_distribution ~loc id arguments = in let is_name_w_suffix_udf_sampling_dist suffix = match Symbol_table.look vm (name ^ suffix) with - | Some (Functions, UFun (listedtypes, ReturnType UReal, FnLpdf _, _)) -> + | Some + (Functions, UFun (listedtypes, ReturnType UReal, (FnLpdf _, false), _)) + -> UnsizedType.check_compatible_arguments_mod_conv name listedtypes argumenttypes | _ -> false @@ -1207,7 +1232,9 @@ let cumulative_density_is_defined id arguments = |> Option.value_map ~default:false ~f:is_real_rt and valid_arg_types_for_suffix suffix = match Symbol_table.look vm (name ^ suffix) with - | Some (Functions, UFun (listedtypes, ReturnType UReal, FnPlain, _)) -> + | Some + (Functions, UFun (listedtypes, ReturnType UReal, (FnPlain, false), _)) + -> UnsizedType.check_compatible_arguments_mod_conv name listedtypes argumenttypes | _ -> false @@ -1631,11 +1658,12 @@ and semantic_check_fundef_overloaded ~loc id arg_tys rt = else check_fresh_variable id true) (** WARNING: side effecting *) -and semantic_check_fundef_decl ~loc id body = +and semantic_check_fundef_decl ~loc ~is_closure id body = Validate.( match body with | {stmt= Skip; _} -> - if Symbol_table.check_is_unassigned vm id.name then + if is_closure then error @@ Semantic_error.closure_without_def loc + else if Symbol_table.check_is_unassigned vm id.name then error @@ Semantic_error.fn_decl_without_def loc else let () = Symbol_table.set_is_unassigned vm id.name in @@ -1715,13 +1743,23 @@ and semantic_check_fundef_return_tys ~loc id return_type body = then ok () else error @@ Semantic_error.incompatible_return_types loc) -and semantic_check_fundef ~loc ~cf return_ty id args body = +and semantic_check_fundef ~loc ~cf ~is_closure return_ty id args body = + let suffix = Fun_kind.suffix_from_name id.name in let uargs = List.map args ~f:(fun (at, ut, id) -> Validate.( semantic_check_autodifftype at |> apply_const (semantic_check_unsizedtype ut) |> apply_const (semantic_check_identifier id) + |> apply_const + ( match ut with + | UnsizedType.UFun (_, _, (FnRng, _), _) when suffix <> FnRng -> + Semantic_error.invalid_rng_fn id.id_loc |> Validate.error + | UFun (_, _, (FnTarget, _), _) when suffix <> FnTarget -> + Semantic_error.target_plusequals_outisde_model_or_logprob + id.id_loc + |> Validate.error + | _ -> Validate.ok () ) |> map ~f:(fun at -> (at, ut, id))) ) |> Validate.sequence in @@ -1735,62 +1773,99 @@ and semantic_check_fundef ~loc ~cf return_ty id args body = let uarg_identifiers = List.map ~f:(fun (_, _, z) -> z) uargs in let uarg_names = List.map ~f:(fun x -> x.name) uarg_identifiers in semantic_check_fundef_overloaded ~loc id uarg_types urt - |> apply_const (semantic_check_fundef_decl ~loc id body) - >>= fun _ -> + |> apply_const (semantic_check_fundef_decl ~loc ~is_closure id body) + >>= fun () -> (* WARNING: SIDE EFFECTING *) Symbol_table.enter vm id.name - ( Functions - , UFun (uarg_types, urt, Fun_kind.suffix_from_name id.name, AoS) ) ; - (* Check that function args and loop identifiers are not modified in - function. (passed by const ref)*) - List.iter ~f:(Symbol_table.set_read_only vm) uarg_names ; - semantic_check_fundef_dist_rt ~loc id urt - |> apply_const (semantic_check_pdf_fundef_first_arg_ty ~loc id uarg_types) - |> apply_const (semantic_check_pmf_fundef_first_arg_ty ~loc id uarg_types) - >>= fun _ -> - (* WARNING: SIDE EFFECTING *) - Symbol_table.begin_scope vm ; - List.map ~f:(fun x -> check_fresh_variable x false) uarg_identifiers - |> sequence - |> apply_const (semantic_check_fundef_distinct_arg_ids ~loc uarg_names) - >>= fun _ -> - (* TODO: Bob was suggesting that function arguments must be allowed to - shadow user defined functions but not library functions. - Should we allow for that? - *) - (* We treat DataOnly arguments as if they are data and AutoDiffable arguments - as if they are parameters, for the purposes of type checking. - *) - (* WARNING: SIDE EFFECTING *) - let _ : unit Base.List.Or_unequal_lengths.t = - List.iter2 ~f:(Symbol_table.enter vm) uarg_names - (List.map - ~f:(function - | UnsizedType.DataOnly, ut -> (Data, ut) - | AutoDiffable, ut -> (Param, ut)) - uarg_types) - and context = - let is_udf_dist name = - List.exists - ~f:(fun suffix -> String.is_suffix name ~suffix) - Utils.distribution_suffices - in - { cf with - in_fun_def= true - ; in_rng_fun_def= String.is_suffix id.name ~suffix:"_rng" - ; in_lp_fun_def= String.is_suffix id.name ~suffix:"_lp" - ; in_udf_dist_def= is_udf_dist id.name - ; in_returning_fun_def= urt <> Void } + (Functions, UFun (uarg_types, urt, (suffix, is_closure), AoS)) ; + let body', captures = + Symbol_table.with_capturing_scope vm (fun () -> + (* Check that function args and loop identifiers are not modified in + function. (passed by const ref)*) + List.iter ~f:(Symbol_table.set_read_only vm) uarg_names ; + semantic_check_fundef_dist_rt ~loc id urt + |> apply_const + (semantic_check_pdf_fundef_first_arg_ty ~loc id uarg_types) + |> apply_const + (semantic_check_pmf_fundef_first_arg_ty ~loc id uarg_types) + >>= fun () -> + List.map + ~f:(fun (_, ut, id) -> + match ut with + | UFun (uarg_types, _, (FnLpdf _, _), _) -> + check_fresh_variable id true + |> apply_const + (semantic_check_pdf_fundef_first_arg_ty ~loc:id.id_loc + id uarg_types) + |> apply_const + (semantic_check_pmf_fundef_first_arg_ty ~loc:id.id_loc + id uarg_types) + | UFun _ -> check_fresh_variable id true + | _ -> check_fresh_variable id false ) + uargs + |> sequence + |> map ~f:(List.iter ~f:Fn.id) + |> apply_const + (semantic_check_fundef_distinct_arg_ids ~loc uarg_names) + >>= fun () -> + (* We treat DataOnly arguments as if they are data and AutoDiffable arguments + as if they are parameters, for the purposes of type checking. *) + (* WARNING: SIDE EFFECTING *) + List.iter2_exn ~f:(Symbol_table.enter vm) uarg_names + (List.map + ~f:(function + | UnsizedType.DataOnly, ut -> (Data, ut) + | AutoDiffable, ut -> (Param, ut)) + uarg_types) ; + let context = + let is_udf_dist name = + List.exists + ~f:(fun suffix -> String.is_suffix name ~suffix) + Utils.distribution_suffices + in + { cf with + current_block= Functions + ; in_fun_def= true + ; in_rng_fun_def= String.is_suffix id.name ~suffix:"_rng" + ; in_lp_fun_def= String.is_suffix id.name ~suffix:"_lp" + ; in_udf_dist_def= is_udf_dist id.name + ; in_returning_fun_def= urt <> Void } + in + semantic_check_statement context body ) in - let body' = semantic_check_statement context body in - body' + ( if is_closure && Set.mem captures id.name then + error (Semantic_error.recursive_closure id.id_loc) + else body' ) >>= fun ub -> semantic_check_fundef_return_tys ~loc id urt ub - |> map ~f:(fun _ -> - (* WARNING: SIDE EFFECTING *) - Symbol_table.end_scope vm ; + |> map ~f:(fun () -> + let closure_info = + if is_closure then + let loc = id.id_loc.begin_loc in + Some + ( Fmt.strf "%s_L%iC%i" id.name loc.line_num loc.col_num + , Set.to_list captures + |> List.filter_map ~f:(fun name -> + match Symbol_table.look vm name with + | None | Some (Functions, UFun (_, _, (_, false), _)) + -> + None + | Some (block, type_) -> + Symbol_table.set_read_only vm name ; + Some + ( calculate_capturetype cf block type_ + , calculate_autodifftype cf block type_ + , type_ + , name ) ) ) + else None + in let stmt = - FunDef {returntype= urt; funname= id; arguments= uargs; body= ub} + FunDef + { returntype= urt + ; funname= id + ; captures= closure_info + ; arguments= uargs + ; body= ub } in mk_typed_statement ~return_type:NoReturnType ~loc ~stmt )) @@ -1831,8 +1906,9 @@ and semantic_check_statement cf (s : Ast.untyped_statement) : ; is_global } -> semantic_check_var_decl ~loc ~cf st transformation identifier initial_value is_global - | FunDef {returntype; funname; arguments; body} -> - semantic_check_fundef ~loc ~cf returntype funname arguments body + | FunDef {returntype; funname; captures; arguments; body} -> + semantic_check_fundef ~loc ~cf ~is_closure:(is_some captures) returntype + funname arguments body (* == Untyped programs ====================================================== *) diff --git a/src/frontend/Symbol_table.ml b/src/frontend/Symbol_table.ml index a6d975ae21..688a335083 100644 --- a/src/frontend/Symbol_table.ml +++ b/src/frontend/Symbol_table.ml @@ -10,6 +10,8 @@ type 'a state = ; scopedepth: int ref ; readonly: (string, unit) Hashtbl.t ; isunassigned: (string, unit) Hashtbl.t + ; locals: String.Set.t ref + ; captures: String.Set.t ref ; globals: (string, unit) Hashtbl.t } let initialize () = @@ -18,9 +20,12 @@ let initialize () = ; scopedepth= ref 0 ; readonly= String.Table.create () ; isunassigned= String.Table.create () + ; locals= ref String.Set.empty + ; captures= ref String.Set.empty ; globals= String.Table.create () } let enter s str ty = + s.locals := Set.add !(s.locals) str ; let _ : [`Duplicate | `Ok] = if !(s.scopedepth) = 0 then Hashtbl.add s.globals ~key:str ~data:() else `Ok @@ -28,7 +33,12 @@ let enter s str ty = let _ : [`Duplicate | `Ok] = Hashtbl.add s.table ~key:str ~data:ty in Stack.push s.stack str -let look s str = Hashtbl.find s.table str +let look s str = + match Hashtbl.find s.table str with + | Some x when not (Set.mem !(s.locals) str) -> + s.captures := Set.add !(s.captures) str ; + Some x + | x -> x let begin_scope s = s.scopedepth := !(s.scopedepth) + 1 ; @@ -48,6 +58,20 @@ let end_scope s = let _ : string = Stack.pop_exn s.stack in () +let with_capturing_scope s f = + let captures = !(s.captures) in + let locals = !(s.locals) in + s.locals := String.Set.empty ; + begin_scope s ; + let x = f () in + end_scope s ; + s.locals := locals ; + let c = !(s.captures) in + s.captures := captures ; + (x, c) + +let check_is_local s str = Set.mem !(s.locals) str + let set_read_only s str = let _ : [`Duplicate | `Ok] = Hashtbl.add s.readonly ~key:str ~data:() in () @@ -76,4 +100,6 @@ let unsafe_clear_symbol_table s = s.scopedepth := 0 ; Hashtbl.clear s.readonly ; Hashtbl.clear s.isunassigned ; - Hashtbl.clear s.globals + Hashtbl.clear s.globals ; + s.locals := String.Set.empty ; + s.captures := String.Set.empty diff --git a/src/frontend/Symbol_table.mli b/src/frontend/Symbol_table.mli index 60dae7583a..f853f94b09 100644 --- a/src/frontend/Symbol_table.mli +++ b/src/frontend/Symbol_table.mli @@ -18,6 +18,13 @@ val begin_scope : 'a state -> unit val end_scope : 'a state -> unit (** Used to end a local scope, purging the symbol table of all symbols added in that scope *) +val with_capturing_scope : + 'a state -> (unit -> 'b) -> 'b * Core_kernel.String.Set.t +(** Used to record captures inside a closure *) + +val check_is_local : 'a state -> string -> bool +(** Check whether an identifier is captured or not *) + val set_read_only : 'a state -> string -> unit (** Used to add a read only label to an identifier *) diff --git a/src/frontend/lexer.mll b/src/frontend/lexer.mll index 5ffb39f34d..0e42758767 100644 --- a/src/frontend/lexer.mll +++ b/src/frontend/lexer.mll @@ -119,6 +119,7 @@ rule token = parse | "break" { lexer_logger "break" ; Parser.BREAK } | "continue" { lexer_logger "continue" ; Parser.CONTINUE } (* Types *) + | "function" { lexer_logger "function" ; Parser.FUNCTION } | "void" { lexer_logger "void" ; Parser.VOID } | "int" { lexer_logger "int" ; Parser.INT } | "real" { lexer_logger "real" ; Parser.REAL } diff --git a/src/frontend/parser.messages b/src/frontend/parser.messages index 3fe20028a1..5be66a8a96 100644 --- a/src/frontend/parser.messages +++ b/src/frontend/parser.messages @@ -12,6 +12,7 @@ Expected "functions {" or "data {" or "transformed data {" or "parameters {" or program: DATABLOCK LBRACE CHOLESKYFACTORCORR LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 679. ## Ends in an error in state: 665. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -58,6 +59,7 @@ program: DATABLOCK LBRACE CHOLESKYFACTORCORR LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> CHOLESKYFACTORCORR LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CHOLESKYFACTORCORR LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -68,6 +70,7 @@ Expected "[" expression "]" for size of cholesky_factor_corr. program: DATABLOCK LBRACE CHOLESKYFACTORCORR LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 681. ## Ends in an error in state: 667. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -114,6 +117,7 @@ program: DATABLOCK LBRACE CHOLESKYFACTORCORR LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> CHOLESKYFACTORCORR LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CHOLESKYFACTORCORR LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -123,6 +127,7 @@ program: DATABLOCK LBRACE CHOLESKYFACTORCORR LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -130,6 +135,10 @@ Expected "[" expression "]" for size of cholesky_factor_corr. program: DATABLOCK LBRACE CHOLESKYFACTORCORR LBRACK WHILE ## +## Ends in an error in state: 678. +## +## top_var_type -> CHOLESKYFACTORCORR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> CHOLESKYFACTORCORR LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 664. ## ## top_var_type -> CHOLESKYFACTORCORR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -143,6 +152,10 @@ Expected "[" expression "]" for size of cholesky_factor_corr. program: DATABLOCK LBRACE CHOLESKYFACTORCORR WHILE ## +## Ends in an error in state: 677. +## +## top_var_type -> CHOLESKYFACTORCORR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> CHOLESKYFACTORCORR . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 663. ## ## top_var_type -> CHOLESKYFACTORCORR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -156,6 +169,7 @@ Expected "[" expression "]" for size of cholesky_factor_corr. program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 668. ## Ends in an error in state: 654. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -202,6 +216,7 @@ program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## top_var_type -> CHOLESKYFACTORCOV LBRACK non_lhs . option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CHOLESKYFACTORCOV LBRACK non_lhs . option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -212,6 +227,7 @@ Expected "[" expression "]" or "[" expression "," expression "]" for size of cho program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE COMMA REALNUMERAL WHILE ## +## Ends in an error in state: 670. ## Ends in an error in state: 656. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -268,6 +284,7 @@ Expected comma separated list of expressions. Ill-formed expression. program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE COMMA TRUNCATE TILDE ## +## Ends in an error in state: 671. ## Ends in an error in state: 657. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -323,6 +340,7 @@ program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE COMMA TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -330,6 +348,7 @@ Expected comma separated list of expressions. Ill-formed expression. program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE COMMA WHILE ## +## Ends in an error in state: 669. ## Ends in an error in state: 655. ## ## option(pair(COMMA,expression)) -> COMMA . lhs [ RBRACK ] @@ -343,6 +362,7 @@ Expected comma separated list of expressions. Ill-formed expression. program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 674. ## Ends in an error in state: 660. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -389,6 +409,7 @@ program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## top_var_type -> CHOLESKYFACTORCOV LBRACK lhs . option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CHOLESKYFACTORCOV LBRACK lhs . option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -398,6 +419,7 @@ program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -405,6 +427,10 @@ Expected "[" expression "]" or "[" expression "," expression "]" for size of cho program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK WHILE ## +## Ends in an error in state: 667. +## +## top_var_type -> CHOLESKYFACTORCOV LBRACK . lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> CHOLESKYFACTORCOV LBRACK . non_lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 653. ## ## top_var_type -> CHOLESKYFACTORCOV LBRACK . lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -418,6 +444,10 @@ Expected "[" expression "]" or "[" expression "," expression "]" for size of cho program: DATABLOCK LBRACE CHOLESKYFACTORCOV WHILE ## +## Ends in an error in state: 666. +## +## top_var_type -> CHOLESKYFACTORCOV . LBRACK lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> CHOLESKYFACTORCOV . LBRACK non_lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 652. ## ## top_var_type -> CHOLESKYFACTORCOV . LBRACK lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -431,6 +461,7 @@ Expected "[" expression "]" or "[" expression "," expression "]" for size of cho program: DATABLOCK LBRACE CORRMATRIX LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 662. ## Ends in an error in state: 646. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -477,6 +508,7 @@ program: DATABLOCK LBRACE CORRMATRIX LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> CORRMATRIX LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CORRMATRIX LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -487,6 +519,7 @@ Expected "[" expression "]" for size of corr_matrix. program: DATABLOCK LBRACE CORRMATRIX LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 664. ## Ends in an error in state: 648. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -533,6 +566,7 @@ program: DATABLOCK LBRACE CORRMATRIX LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> CORRMATRIX LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CORRMATRIX LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -542,6 +576,7 @@ program: DATABLOCK LBRACE CORRMATRIX LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -549,6 +584,10 @@ Expected "[" expression "]" for size of corr_matrix. program: DATABLOCK LBRACE CORRMATRIX LBRACK WHILE ## +## Ends in an error in state: 661. +## +## top_var_type -> CORRMATRIX LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> CORRMATRIX LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 645. ## ## top_var_type -> CORRMATRIX LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -562,6 +601,10 @@ Expected "[" expression "]" for size of corr_matrix. program: DATABLOCK LBRACE CORRMATRIX WHILE ## +## Ends in an error in state: 660. +## +## top_var_type -> CORRMATRIX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> CORRMATRIX . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 644. ## ## top_var_type -> CORRMATRIX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -575,6 +618,7 @@ Expected "[" expression "]" for size of corr_matrix. program: DATABLOCK LBRACE COVMATRIX LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 656. ## Ends in an error in state: 640. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -621,6 +665,7 @@ program: DATABLOCK LBRACE COVMATRIX LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> COVMATRIX LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> COVMATRIX LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -631,6 +676,7 @@ Expected "[" expression "]" for size of cov_matrix. program: DATABLOCK LBRACE COVMATRIX LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 658. ## Ends in an error in state: 642. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -677,6 +723,7 @@ program: DATABLOCK LBRACE COVMATRIX LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> COVMATRIX LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> COVMATRIX LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -686,6 +733,7 @@ program: DATABLOCK LBRACE COVMATRIX LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -693,6 +741,10 @@ Expected "[" expression "]" for size of cov_matrix. program: DATABLOCK LBRACE COVMATRIX LBRACK WHILE ## +## Ends in an error in state: 655. +## +## top_var_type -> COVMATRIX LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> COVMATRIX LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 639. ## ## top_var_type -> COVMATRIX LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -706,6 +758,10 @@ Expected "[" expression "]" for size of cov_matrix. program: DATABLOCK LBRACE COVMATRIX WHILE ## +## Ends in an error in state: 654. +## +## top_var_type -> COVMATRIX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> COVMATRIX . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 638. ## ## top_var_type -> COVMATRIX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -719,6 +775,9 @@ Expected "[" expression "]" for size of cov_matrix. program: DATABLOCK LBRACE INT LABRACK WHILE ## +## Ends in an error in state: 652. +## +## range_constraint -> LABRACK . range RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 636. ## ## range_constraint -> LABRACK . range RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -731,6 +790,9 @@ Expected "lower = " expression or "upper = " expression for integer bounds. program: DATABLOCK LBRACE INT LBRACE ## +## Ends in an error in state: 651. +## +## top_var_type -> INT . range_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 635. ## ## top_var_type -> INT . range_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -743,6 +805,12 @@ Expected range constraint or identifier as part of top-level variable declaratio program: DATABLOCK LBRACE MATRIX LABRACK MULTIPLIER ASSIGN IDENTIFIER RABRACK WHILE ## +## Ends in an error in state: 637. +## +## top_var_type -> MATRIX type_constraint . LBRACK lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint . LBRACK lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint . LBRACK non_lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint . LBRACK non_lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 621. ## ## top_var_type -> MATRIX type_constraint . LBRACK lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -758,6 +826,7 @@ Expected "[" expression "," expression "]" for matrix sizes as part of top-level program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA REALNUMERAL WHILE ## +## Ends in an error in state: 641. ## Ends in an error in state: 625. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -804,6 +873,7 @@ program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -814,6 +884,7 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA TRUNCATE TILDE ## +## Ends in an error in state: 643. ## Ends in an error in state: 627. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -860,6 +931,7 @@ program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -869,6 +941,7 @@ program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -876,6 +949,10 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA WHILE ## +## Ends in an error in state: 640. +## +## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 624. ## ## top_var_type -> MATRIX type_constraint LBRACK non_lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -889,6 +966,7 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 639. ## Ends in an error in state: 623. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -935,6 +1013,8 @@ program: DATABLOCK LBRACE MATRIX LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## top_var_type -> MATRIX type_constraint LBRACK non_lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint LBRACK non_lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> MATRIX type_constraint LBRACK non_lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> MATRIX type_constraint LBRACK non_lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## @@ -947,6 +1027,7 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA REALNUMERAL WHILE ## +## Ends in an error in state: 647. ## Ends in an error in state: 631. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -993,6 +1074,7 @@ program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1003,6 +1085,7 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA TRUNCATE TILDE ## +## Ends in an error in state: 649. ## Ends in an error in state: 633. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1049,6 +1132,7 @@ program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1058,6 +1142,7 @@ program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -1065,6 +1150,10 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA WHILE ## +## Ends in an error in state: 646. +## +## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 630. ## ## top_var_type -> MATRIX type_constraint LBRACK lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1078,6 +1167,7 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 645. ## Ends in an error in state: 629. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -1124,6 +1214,8 @@ program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## top_var_type -> MATRIX type_constraint LBRACK lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint LBRACK lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> MATRIX type_constraint LBRACK lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> MATRIX type_constraint LBRACK lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## @@ -1134,6 +1226,7 @@ program: DATABLOCK LBRACE MATRIX LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -1141,6 +1234,12 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX LBRACK WHILE ## +## Ends in an error in state: 638. +## +## top_var_type -> MATRIX type_constraint LBRACK . lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint LBRACK . lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint LBRACK . non_lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX type_constraint LBRACK . non_lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 622. ## ## top_var_type -> MATRIX type_constraint LBRACK . lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1156,6 +1255,12 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE MATRIX WHILE ## +## Ends in an error in state: 636. +## +## top_var_type -> MATRIX . type_constraint LBRACK lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX . type_constraint LBRACK lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX . type_constraint LBRACK non_lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> MATRIX . type_constraint LBRACK non_lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 620. ## ## top_var_type -> MATRIX . type_constraint LBRACK lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1171,6 +1276,7 @@ Expected "[" expression "," expression "]" for sizes of matrix. program: DATABLOCK LBRACE ORDERED LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 632. ## Ends in an error in state: 616. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1217,6 +1323,7 @@ program: DATABLOCK LBRACE ORDERED LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> ORDERED LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> ORDERED LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1227,6 +1334,7 @@ Expected "[" expression "]" for size of ordered. program: DATABLOCK LBRACE ORDERED LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 634. ## Ends in an error in state: 618. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1273,6 +1381,7 @@ program: DATABLOCK LBRACE ORDERED LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> ORDERED LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> ORDERED LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1282,6 +1391,7 @@ program: DATABLOCK LBRACE ORDERED LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -1289,6 +1399,10 @@ Expected "[" expression "]" for size of ordered. program: DATABLOCK LBRACE ORDERED LBRACK WHILE ## +## Ends in an error in state: 631. +## +## top_var_type -> ORDERED LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ORDERED LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 615. ## ## top_var_type -> ORDERED LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1302,6 +1416,10 @@ Expected "[" expression "]" for size of ordered. program: DATABLOCK LBRACE ORDERED WHILE ## +## Ends in an error in state: 630. +## +## top_var_type -> ORDERED . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ORDERED . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 614. ## ## top_var_type -> ORDERED . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1315,6 +1433,7 @@ Expected "[" expression "]" for size of ordered. program: DATABLOCK LBRACE POSITIVEORDERED LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 626. ## Ends in an error in state: 610. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1361,6 +1480,7 @@ program: DATABLOCK LBRACE POSITIVEORDERED LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> POSITIVEORDERED LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> POSITIVEORDERED LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1371,6 +1491,7 @@ Expected "[" expression "]" for size of positive_ordered. program: DATABLOCK LBRACE POSITIVEORDERED LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 628. ## Ends in an error in state: 612. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1417,6 +1538,7 @@ program: DATABLOCK LBRACE POSITIVEORDERED LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> POSITIVEORDERED LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> POSITIVEORDERED LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1426,6 +1548,7 @@ program: DATABLOCK LBRACE POSITIVEORDERED LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -1433,6 +1556,10 @@ Expected "[" expression "]" for size of positive_ordered. program: DATABLOCK LBRACE POSITIVEORDERED LBRACK WHILE ## +## Ends in an error in state: 625. +## +## top_var_type -> POSITIVEORDERED LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> POSITIVEORDERED LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 609. ## ## top_var_type -> POSITIVEORDERED LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1446,6 +1573,10 @@ Expected "[" expression "]" for size of positive_ordered. program: DATABLOCK LBRACE POSITIVEORDERED WHILE ## +## Ends in an error in state: 624. +## +## top_var_type -> POSITIVEORDERED . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> POSITIVEORDERED . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 608. ## ## top_var_type -> POSITIVEORDERED . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1459,6 +1590,7 @@ Expected "[" expression "]" for size of positive_ordered. program: DATABLOCK LBRACE RBRACE WHILE ## +## Ends in an error in state: 709. ## Ends in an error in state: 695. ## ## program -> option(function_block) option(data_block) . option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] @@ -1471,6 +1603,7 @@ Expected "transformed data {" or "parameters {" or "transformed parameters {" or program: DATABLOCK LBRACE REAL IDENTIFIER SEMICOLON WHILE ## +## Ends in an error in state: 699. ## Ends in an error in state: 685. ## ## list(top_var_decl_no_assign) -> top_var_decl_no_assign . list(top_var_decl_no_assign) [ RBRACE ] @@ -1483,6 +1616,7 @@ Only top-level variable declarations allowed in data and parameters blocks. program: DATABLOCK LBRACE REAL TRUNCATE WHILE ## +## Ends in an error in state: 695. ## Ends in an error in state: 681. ## ## decl(top_var_type,no_assign) -> top_var_type decl_identifier . dims optional_assignment(no_assign) SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] @@ -1496,6 +1630,9 @@ program: DATABLOCK LBRACE REAL TRUNCATE WHILE program: DATABLOCK LBRACE REAL LBRACE ## +## Ends in an error in state: 622. +## +## top_var_type -> REAL . type_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 606. ## ## top_var_type -> REAL . type_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1508,6 +1645,10 @@ Identifier expected after type in top-level variable declaration. program: DATABLOCK LBRACE ROWVECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER RABRACK WHILE ## +## Ends in an error in state: 616. +## +## top_var_type -> ROWVECTOR type_constraint . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ROWVECTOR type_constraint . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 600. ## ## top_var_type -> ROWVECTOR type_constraint . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1521,6 +1662,7 @@ Expected identifier as part of top-level variable declaration. program: DATABLOCK LBRACE ROWVECTOR LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 618. ## Ends in an error in state: 602. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1567,6 +1709,7 @@ program: DATABLOCK LBRACE ROWVECTOR LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> ROWVECTOR type_constraint LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> ROWVECTOR type_constraint LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1577,6 +1720,7 @@ Expected "[" expression "]" for size declaration of row_vector. program: DATABLOCK LBRACE ROWVECTOR LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 620. ## Ends in an error in state: 604. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1623,6 +1767,7 @@ program: DATABLOCK LBRACE ROWVECTOR LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> ROWVECTOR type_constraint LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> ROWVECTOR type_constraint LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1632,6 +1777,7 @@ program: DATABLOCK LBRACE ROWVECTOR LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -1639,6 +1785,10 @@ Expected "[" expression "]" for size declaration of row_vector. program: DATABLOCK LBRACE ROWVECTOR LBRACK WHILE ## +## Ends in an error in state: 617. +## +## top_var_type -> ROWVECTOR type_constraint LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ROWVECTOR type_constraint LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 601. ## ## top_var_type -> ROWVECTOR type_constraint LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1652,6 +1802,10 @@ Expected "[" expression "]" for size declaration of row_vector. program: DATABLOCK LBRACE ROWVECTOR WHILE ## +## Ends in an error in state: 615. +## +## top_var_type -> ROWVECTOR . type_constraint LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> ROWVECTOR . type_constraint LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 599. ## ## top_var_type -> ROWVECTOR . type_constraint LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1665,6 +1819,7 @@ Expected "[" expression "]" for size declaration of row_vector. program: DATABLOCK LBRACE SIMPLEX LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 611. ## Ends in an error in state: 595. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1711,6 +1866,7 @@ program: DATABLOCK LBRACE SIMPLEX LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> SIMPLEX LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> SIMPLEX LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1721,6 +1877,7 @@ Expected "[" expression "]" for size declaration of simplex. program: DATABLOCK LBRACE SIMPLEX LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 613. ## Ends in an error in state: 597. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1767,6 +1924,7 @@ program: DATABLOCK LBRACE SIMPLEX LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> SIMPLEX LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> SIMPLEX LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1776,6 +1934,7 @@ program: DATABLOCK LBRACE SIMPLEX LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -1783,6 +1942,10 @@ Expected "[" expression "]" for size declaration of simplex. program: DATABLOCK LBRACE SIMPLEX LBRACK WHILE ## +## Ends in an error in state: 610. +## +## top_var_type -> SIMPLEX LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> SIMPLEX LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 594. ## ## top_var_type -> SIMPLEX LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1796,6 +1959,10 @@ Expected "[" expression "]" for size declaration of simplex. program: DATABLOCK LBRACE SIMPLEX WHILE ## +## Ends in an error in state: 609. +## +## top_var_type -> SIMPLEX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> SIMPLEX . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 593. ## ## top_var_type -> SIMPLEX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1809,6 +1976,7 @@ Expected "[" expression "]" for size declaration of simplex. program: DATABLOCK LBRACE UNITVECTOR LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 605. ## Ends in an error in state: 589. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1855,6 +2023,7 @@ program: DATABLOCK LBRACE UNITVECTOR LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> UNITVECTOR LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> UNITVECTOR LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1865,6 +2034,7 @@ Expected "[" expression "]" for size declaration of unit_vector. program: DATABLOCK LBRACE UNITVECTOR LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 607. ## Ends in an error in state: 591. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1911,6 +2081,7 @@ program: DATABLOCK LBRACE UNITVECTOR LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> UNITVECTOR LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> UNITVECTOR LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -1920,6 +2091,7 @@ program: DATABLOCK LBRACE UNITVECTOR LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -1927,6 +2099,10 @@ Expected "[" expression "]" for size declaration of unit_vector. program: DATABLOCK LBRACE UNITVECTOR LBRACK WHILE ## +## Ends in an error in state: 604. +## +## top_var_type -> UNITVECTOR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> UNITVECTOR LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 588. ## ## top_var_type -> UNITVECTOR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1940,6 +2116,10 @@ Expected "[" expression "]" for size declaration of unit_vector. program: DATABLOCK LBRACE UNITVECTOR WHILE ## +## Ends in an error in state: 603. +## +## top_var_type -> UNITVECTOR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> UNITVECTOR . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 587. ## ## top_var_type -> UNITVECTOR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1953,6 +2133,7 @@ Expected "[" expression "]" for size declaration of unit_vector. program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 573. ## Ends in an error in state: 557. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -1979,6 +2160,7 @@ Expected "offset = " expression (not containing binary logical operators). program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN TRUNCATE COMMA MULTIPLIER ASSIGN TRUNCATE COMMA ## +## Ends in an error in state: 577. ## Ends in an error in state: 561. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] @@ -2003,6 +2185,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN TRUNCATE COMMA MULTIPLIER ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 535, spurious reduction of production constr_expression -> identifier ## In state 519, spurious reduction of production constr_expression -> identifier ## @@ -2010,6 +2193,7 @@ Expected ">" after "multiplier = " expression. program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN TRUNCATE COMMA MULTIPLIER ASSIGN WHILE ## +## Ends in an error in state: 576. ## Ends in an error in state: 560. ## ## offset_mult -> OFFSET ASSIGN constr_expression COMMA MULTIPLIER ASSIGN . constr_expression [ RABRACK ] @@ -2022,6 +2206,7 @@ Expected "multiplier = " expression (not containing binary logical operators). program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN TRUNCATE COMMA MULTIPLIER WHILE ## +## Ends in an error in state: 575. ## Ends in an error in state: 559. ## ## offset_mult -> OFFSET ASSIGN constr_expression COMMA MULTIPLIER . ASSIGN constr_expression [ RABRACK ] @@ -2034,6 +2219,7 @@ Expected "multiplier = " expression (not containing binary logical operators). program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN TRUNCATE COMMA WHILE ## +## Ends in an error in state: 574. ## Ends in an error in state: 558. ## ## offset_mult -> OFFSET ASSIGN constr_expression COMMA . MULTIPLIER ASSIGN constr_expression [ RABRACK ] @@ -2046,6 +2232,7 @@ Expected ">" or ", multiplier = " expression (not containing binary logical oper program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN WHILE ## +## Ends in an error in state: 572. ## Ends in an error in state: 556. ## ## offset_mult -> OFFSET ASSIGN . constr_expression COMMA MULTIPLIER ASSIGN constr_expression [ RABRACK ] @@ -2059,6 +2246,7 @@ Expected "offset = " expression (not containing binary logical operators). program: DATABLOCK LBRACE VECTOR LABRACK OFFSET WHILE ## +## Ends in an error in state: 571. ## Ends in an error in state: 555. ## ## offset_mult -> OFFSET . ASSIGN constr_expression COMMA MULTIPLIER ASSIGN constr_expression [ RABRACK ] @@ -2072,6 +2260,7 @@ Expected "offset = " expression (not containing binary logical operators). program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 587. ## Ends in an error in state: 571. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2098,6 +2287,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN REALNUMERAL WHILE program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN TRUNCATE COMMA UPPER ASSIGN TRUNCATE COMMA ## +## Ends in an error in state: 591. ## Ends in an error in state: 575. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] @@ -2122,6 +2312,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN TRUNCATE COMMA UPPER ASSIG ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 535, spurious reduction of production constr_expression -> identifier ## In state 519, spurious reduction of production constr_expression -> identifier ## @@ -2129,6 +2320,7 @@ Expected ">" after "upper = " expression. program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN TRUNCATE COMMA UPPER ASSIGN WHILE ## +## Ends in an error in state: 590. ## Ends in an error in state: 574. ## ## range -> LOWER ASSIGN constr_expression COMMA UPPER ASSIGN . constr_expression [ RABRACK ] @@ -2141,6 +2333,7 @@ Expected expression (not containing binary logical operators) after "upper = ". program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN TRUNCATE COMMA UPPER WHILE ## +## Ends in an error in state: 589. ## Ends in an error in state: 573. ## ## range -> LOWER ASSIGN constr_expression COMMA UPPER . ASSIGN constr_expression [ RABRACK ] @@ -2153,6 +2346,7 @@ Expected "=" expression (not containing binary logical operators) after "upper". program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN TRUNCATE COMMA WHILE ## +## Ends in an error in state: 588. ## Ends in an error in state: 572. ## ## range -> LOWER ASSIGN constr_expression COMMA . UPPER ASSIGN constr_expression [ RABRACK ] @@ -2165,6 +2359,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN TRUNCATE COMMA WHILE program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN WHILE ## +## Ends in an error in state: 586. ## Ends in an error in state: 570. ## ## range -> LOWER ASSIGN . constr_expression COMMA UPPER ASSIGN constr_expression [ RABRACK ] @@ -2178,6 +2373,7 @@ An expression (not containing binary logical operators) is expected for type low program: DATABLOCK LBRACE VECTOR LABRACK LOWER WHILE ## +## Ends in an error in state: 585. ## Ends in an error in state: 569. ## ## range -> LOWER . ASSIGN constr_expression COMMA UPPER ASSIGN constr_expression [ RABRACK ] @@ -2191,6 +2387,10 @@ Expected "=" expression (not containing binary logical operators), after "lower" program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER RABRACK WHILE ## +## Ends in an error in state: 596. +## +## top_var_type -> VECTOR type_constraint . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> VECTOR type_constraint . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 580. ## ## top_var_type -> VECTOR type_constraint . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -2204,6 +2404,7 @@ Expected "[" expression "]" for vector size. program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN WHILE ## +## Ends in an error in state: 579. ## Ends in an error in state: 563. ## ## offset_mult -> MULTIPLIER ASSIGN . constr_expression COMMA OFFSET ASSIGN constr_expression [ RABRACK ] @@ -2217,6 +2418,7 @@ Expected expression (not containing binary logical operators) after "multiplier program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER WHILE ## +## Ends in an error in state: 578. ## Ends in an error in state: 562. ## ## offset_mult -> MULTIPLIER . ASSIGN constr_expression COMMA OFFSET ASSIGN constr_expression [ RABRACK ] @@ -2230,6 +2432,7 @@ Expected "=" expression (not containing binary logical operators) ">" after "mul program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN BANG REALNUMERAL WHILE ## +## Ends in an error in state: 536. ## Ends in an error in state: 520. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2255,6 +2458,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN BANG WHILE ## +## Ends in an error in state: 534. ## Ends in an error in state: 518. ## ## constr_expression -> BANG . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2267,6 +2471,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN MINUS REALNUMERAL WHILE ## +## Ends in an error in state: 546. ## Ends in an error in state: 530. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2292,6 +2497,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN MINUS WHILE ## +## Ends in an error in state: 533. ## Ends in an error in state: 517. ## ## constr_expression -> MINUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2304,6 +2510,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN PLUS REALNUMERAL WHILE ## +## Ends in an error in state: 547. ## Ends in an error in state: 531. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2329,6 +2536,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN PLUS WHILE ## +## Ends in an error in state: 532. ## Ends in an error in state: 516. ## ## constr_expression -> PLUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2341,6 +2549,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE DIVIDE REALNUMERAL WHILE ## +## Ends in an error in state: 564. ## Ends in an error in state: 548. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2366,6 +2575,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE DIVIDE WHILE ## +## Ends in an error in state: 563. ## Ends in an error in state: 547. ## ## constr_expression -> constr_expression DIVIDE . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2378,6 +2588,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE ELTDIVIDE REALNUMERAL WHILE ## +## Ends in an error in state: 562. ## Ends in an error in state: 546. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2403,6 +2614,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE ELTDIVIDE WHILE ## +## Ends in an error in state: 561. ## Ends in an error in state: 545. ## ## constr_expression -> constr_expression ELTDIVIDE . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2415,6 +2627,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE ELTTIMES REALNUMERAL WHILE ## +## Ends in an error in state: 560. ## Ends in an error in state: 544. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2440,6 +2653,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE ELTTIMES WHILE ## +## Ends in an error in state: 559. ## Ends in an error in state: 543. ## ## constr_expression -> constr_expression ELTTIMES . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2452,6 +2666,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE HAT REALNUMERAL WHILE ## +## Ends in an error in state: 542. ## Ends in an error in state: 526. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2477,6 +2692,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE HAT WHILE ## +## Ends in an error in state: 541. ## Ends in an error in state: 525. ## ## constr_expression -> constr_expression HAT . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2489,6 +2705,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE LBRACK WHILE ## +## Ends in an error in state: 538. ## Ends in an error in state: 522. ## ## constr_expression -> constr_expression LBRACK . indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2501,6 +2718,7 @@ Ill-formed expression. Expected expression followed by "]". program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE LDIVIDE REALNUMERAL WHILE ## +## Ends in an error in state: 552. ## Ends in an error in state: 536. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2526,6 +2744,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE LDIVIDE WHILE ## +## Ends in an error in state: 551. ## Ends in an error in state: 535. ## ## constr_expression -> constr_expression LDIVIDE . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2538,6 +2757,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE MINUS REALNUMERAL WHILE ## +## Ends in an error in state: 566. ## Ends in an error in state: 550. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2563,6 +2783,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE MINUS WHILE ## +## Ends in an error in state: 565. ## Ends in an error in state: 549. ## ## constr_expression -> constr_expression MINUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2575,6 +2796,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE MODULO REALNUMERAL WHILE ## +## Ends in an error in state: 558. ## Ends in an error in state: 542. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2600,6 +2822,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE MODULO WHILE ## +## Ends in an error in state: 557. ## Ends in an error in state: 541. ## ## constr_expression -> constr_expression MODULO . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2612,6 +2835,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE PLUS REALNUMERAL WHILE ## +## Ends in an error in state: 556. ## Ends in an error in state: 540. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2637,6 +2861,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE PLUS WHILE ## +## Ends in an error in state: 555. ## Ends in an error in state: 539. ## ## constr_expression -> constr_expression PLUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2649,6 +2874,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE TIMES REALNUMERAL WHILE ## +## Ends in an error in state: 550. ## Ends in an error in state: 534. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2674,6 +2900,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE TIMES WHILE ## +## Ends in an error in state: 549. ## Ends in an error in state: 533. ## ## constr_expression -> constr_expression TIMES . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2686,6 +2913,7 @@ Ill-formed expression. Expected expression (not containing binary logical operat program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE WHILE ## +## Ends in an error in state: 535. ## Ends in an error in state: 519. ## ## common_expression -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -2701,6 +2929,7 @@ Expression expected. Ill-formed expression. Suggested alternatives: a standalone program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN WHILE ## +## Ends in an error in state: 531. ## Ends in an error in state: 515. ## ## range -> UPPER ASSIGN . constr_expression COMMA LOWER ASSIGN constr_expression [ RABRACK ] @@ -2714,6 +2943,7 @@ Expression (not containing binary logical operators) expected after "upper =". I program: DATABLOCK LBRACE VECTOR LABRACK UPPER WHILE ## +## Ends in an error in state: 530. ## Ends in an error in state: 514. ## ## range -> UPPER . ASSIGN constr_expression COMMA LOWER ASSIGN constr_expression [ RABRACK ] @@ -2727,6 +2957,10 @@ Expect "=" expression ">" after seeing "upper". program: DATABLOCK LBRACE VECTOR LABRACK WHILE ## +## Ends in an error in state: 529. +## +## range_constraint -> LABRACK . range RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## type_constraint -> LABRACK . offset_mult RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 513. ## ## range_constraint -> LABRACK . range RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -2740,6 +2974,7 @@ We expect to see "lower =", "upper =", "offset =" or "multiplier =" followed by program: DATABLOCK LBRACE VECTOR LBRACK INTNUMERAL RBRACK HAT ## +## Ends in an error in state: 683. ## Ends in an error in state: 669. ## ## decl(top_var_type,no_assign) -> top_var_type . decl_identifier dims optional_assignment(no_assign) SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] @@ -2753,6 +2988,7 @@ We expect to see an identifier after a sized type. program: DATABLOCK LBRACE VECTOR LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 598. ## Ends in an error in state: 582. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -2799,6 +3035,7 @@ program: DATABLOCK LBRACE VECTOR LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> VECTOR type_constraint LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> VECTOR type_constraint LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -2809,6 +3046,7 @@ program: DATABLOCK LBRACE VECTOR LBRACK REALNUMERAL WHILE program: DATABLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 600. ## Ends in an error in state: 584. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -2855,6 +3093,7 @@ program: DATABLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## top_var_type -> VECTOR type_constraint LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> VECTOR type_constraint LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -2864,6 +3103,7 @@ program: DATABLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -2871,6 +3111,10 @@ program: DATABLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE program: DATABLOCK LBRACE VECTOR LBRACK WHILE ## +## Ends in an error in state: 597. +## +## top_var_type -> VECTOR type_constraint LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> VECTOR type_constraint LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 581. ## ## top_var_type -> VECTOR type_constraint LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -2884,6 +3128,10 @@ program: DATABLOCK LBRACE VECTOR LBRACK WHILE program: DATABLOCK LBRACE VECTOR WHILE ## +## Ends in an error in state: 528. +## +## top_var_type -> VECTOR . type_constraint LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## top_var_type -> VECTOR . type_constraint LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 512. ## ## top_var_type -> VECTOR . type_constraint LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -2897,6 +3145,7 @@ program: DATABLOCK LBRACE VECTOR WHILE program: DATABLOCK LBRACE WHILE ## +## Ends in an error in state: 527. ## Ends in an error in state: 511. ## ## data_block -> DATABLOCK LBRACE . list(top_var_decl_no_assign) RBRACE [ TRANSFORMEDPARAMETERSBLOCK TRANSFORMEDDATABLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] @@ -2909,6 +3158,7 @@ Expected top-level variable declaration or "}". program: DATABLOCK WHILE ## +## Ends in an error in state: 526. ## Ends in an error in state: 510. ## ## data_block -> DATABLOCK . LBRACE list(top_var_decl_no_assign) RBRACE [ TRANSFORMEDPARAMETERSBLOCK TRANSFORMEDDATABLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] @@ -2921,6 +3171,7 @@ program: DATABLOCK WHILE program: FUNCTIONBLOCK LBRACE RBRACE COVMATRIX ## +## Ends in an error in state: 525. ## Ends in an error in state: 509. ## ## program -> option(function_block) . option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] @@ -2947,6 +3198,7 @@ program: FUNCTIONBLOCK LBRACE VECTOR LBRACK WHILE ## ## Ends in an error in state: 11. ## +## unsized_dims -> LBRACK . list(COMMA) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LPAREN LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## unsized_dims -> LBRACK . list(COMMA) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -2957,6 +3209,9 @@ program: FUNCTIONBLOCK LBRACE VECTOR LBRACK WHILE program: FUNCTIONBLOCK LBRACE VECTOR LBRACE ## +## Ends in an error in state: 75. +## +## unsized_type -> basic_type . option(unsized_dims) [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LPAREN LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 68. ## ## unsized_type -> basic_type . option(unsized_dims) [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -2969,6 +3224,7 @@ Either a number of unsized dimensions is expected as part of a function return t program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER LPAREN RPAREN SEMICOLON WHILE ## +## Ends in an error in state: 522. ## Ends in an error in state: 506. ## ## list(function_def) -> function_def . list(function_def) [ RBRACE ] @@ -2981,9 +3237,11 @@ A "}" or a function definition/declaration is expected. program: FUNCTIONBLOCK LBRACE VOID TRUNCATE LPAREN DATABLOCK WHILE ## +## Ends in an error in state: 64. ## Ends in an error in state: 65. ## -## arg_decl -> option(DATABLOCK) . unsized_type decl_identifier [ RPAREN COMMA ] +## arg_type -> option(DATABLOCK) . unsized_type [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## arg_type -> option(DATABLOCK) . function_type [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: ## option(DATABLOCK) @@ -2993,6 +3251,7 @@ An identifier is expected as a function argument name. program: FUNCTIONBLOCK LBRACE VOID TRUNCATE LPAREN RPAREN VOID ## +## Ends in an error in state: 79. ## Ends in an error in state: 72. ## ## function_def -> return_type decl_identifier LPAREN loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN . statement [ VOID VECTOR ROWVECTOR REAL RBRACE MATRIX INT COMPLEX ARRAY ] @@ -3005,6 +3264,7 @@ Either "{" statement "}" is expected for a function definition or ";" for a func program: FUNCTIONBLOCK LBRACE VOID TRUNCATE LPAREN VECTOR IDENTIFIER COMMA WHILE ## +## Ends in an error in state: 478. ## Ends in an error in state: 502. ## ## separated_nonempty_list(COMMA,arg_decl) -> arg_decl COMMA . separated_nonempty_list(COMMA,arg_decl) [ RPAREN ] @@ -3017,6 +3277,7 @@ An argument declaration (unsized type followed by identifier) is expected. program: FUNCTIONBLOCK LBRACE VOID TRUNCATE LPAREN VECTOR IDENTIFIER WHILE ## +## Ends in an error in state: 477. ## Ends in an error in state: 501. ## ## separated_nonempty_list(COMMA,arg_decl) -> arg_decl . [ RPAREN ] @@ -3030,9 +3291,11 @@ program: FUNCTIONBLOCK LBRACE VOID TRUNCATE LPAREN VECTOR IDENTIFIER WHILE program: FUNCTIONBLOCK LBRACE VOID TRUNCATE LPAREN VECTOR LBRACK RBRACK LBRACK ## +## Ends in an error in state: 65. ## Ends in an error in state: 66. ## -## arg_decl -> option(DATABLOCK) unsized_type . decl_identifier [ RPAREN COMMA ] +## arg_type -> option(DATABLOCK) unsized_type . [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## return_type -> unsized_type . [ LPAREN ] ## ## The known suffix of the stack is as follows: ## option(DATABLOCK) unsized_type @@ -3042,6 +3305,7 @@ An identifier is expected as a function argument name. program: FUNCTIONBLOCK LBRACE VOID TRUNCATE LPAREN WHILE ## +## Ends in an error in state: 61. ## Ends in an error in state: 62. ## ## function_def -> return_type decl_identifier LPAREN . loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN statement [ VOID VECTOR ROWVECTOR REAL RBRACE MATRIX INT COMPLEX ARRAY ] @@ -3054,6 +3318,7 @@ program: FUNCTIONBLOCK LBRACE VOID TRUNCATE LPAREN WHILE program: FUNCTIONBLOCK LBRACE VOID TRUNCATE WHILE ## +## Ends in an error in state: 60. ## Ends in an error in state: 61. ## ## function_def -> return_type decl_identifier . LPAREN loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN statement [ VOID VECTOR ROWVECTOR REAL RBRACE MATRIX INT COMPLEX ARRAY ] @@ -3102,6 +3367,7 @@ program: FUNCTIONBLOCK WHILE program: GENERATEDQUANTITIESBLOCK LBRACE RBRACE ELTTIMESASSIGN ## +## Ends in an error in state: 754. ## Ends in an error in state: 739. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) . EOF [ # ] @@ -3114,6 +3380,7 @@ Expected end of file after end of generated quantities block. program: GENERATEDQUANTITIESBLOCK LBRACE VOID ## +## Ends in an error in state: 751. ## Ends in an error in state: 736. ## ## generated_quantities_block -> GENERATEDQUANTITIESBLOCK LBRACE . list(top_vardecl_or_statement) RBRACE [ EOF ] @@ -3126,6 +3393,7 @@ Variable declaration or statement or "}" expected in generated quantities block. program: GENERATEDQUANTITIESBLOCK WHILE ## +## Ends in an error in state: 750. ## Ends in an error in state: 735. ## ## generated_quantities_block -> GENERATEDQUANTITIESBLOCK . LBRACE list(top_vardecl_or_statement) RBRACE [ EOF ] @@ -3138,6 +3406,7 @@ Expected "{" after block keyword. program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA REALNUMERAL WHILE ## +## Ends in an error in state: 336. ## Ends in an error in state: 329. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -3184,6 +3453,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## sized_basic_type -> MATRIX LBRACK non_lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> MATRIX LBRACK non_lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -3194,6 +3464,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA REALNUMERAL WHILE program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA TRUNCATE TILDE ## +## Ends in an error in state: 338. ## Ends in an error in state: 331. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -3240,6 +3511,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## sized_basic_type -> MATRIX LBRACK non_lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> MATRIX LBRACK non_lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -3249,6 +3521,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -3256,6 +3529,10 @@ program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA TRUNCATE TILDE program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA WHILE ## +## Ends in an error in state: 335. +## +## sized_basic_type -> MATRIX LBRACK non_lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> MATRIX LBRACK non_lhs COMMA . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 328. ## ## sized_basic_type -> MATRIX LBRACK non_lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -3269,6 +3546,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL COMMA WHILE program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 334. ## Ends in an error in state: 327. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -3315,6 +3593,8 @@ program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## sized_basic_type -> MATRIX LBRACK non_lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> MATRIX LBRACK non_lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> MATRIX LBRACK non_lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> MATRIX LBRACK non_lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## @@ -3326,6 +3606,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK REALNUMERAL WHILE program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA REALNUMERAL WHILE ## +## Ends in an error in state: 342. ## Ends in an error in state: 335. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -3372,6 +3653,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## sized_basic_type -> MATRIX LBRACK lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> MATRIX LBRACK lhs COMMA non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -3382,6 +3664,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA REALNUMERAL WHILE program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA TRUNCATE TILDE ## +## Ends in an error in state: 344. ## Ends in an error in state: 337. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -3428,6 +3711,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## sized_basic_type -> MATRIX LBRACK lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> MATRIX LBRACK lhs COMMA lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -3437,6 +3721,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -3444,6 +3729,10 @@ program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA TRUNCATE TILDE program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA WHILE ## +## Ends in an error in state: 341. +## +## sized_basic_type -> MATRIX LBRACK lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> MATRIX LBRACK lhs COMMA . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 334. ## ## sized_basic_type -> MATRIX LBRACK lhs COMMA . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -3457,6 +3746,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE COMMA WHILE program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 340. ## Ends in an error in state: 333. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -3503,6 +3793,8 @@ program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## sized_basic_type -> MATRIX LBRACK lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> MATRIX LBRACK lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> MATRIX LBRACK lhs . COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> MATRIX LBRACK lhs . COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## @@ -3513,6 +3805,7 @@ program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -3520,6 +3813,12 @@ program: MODELBLOCK LBRACE MATRIX LBRACK TRUNCATE TILDE program: MODELBLOCK LBRACE MATRIX LBRACK WHILE ## +## Ends in an error in state: 333. +## +## sized_basic_type -> MATRIX LBRACK . lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> MATRIX LBRACK . lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> MATRIX LBRACK . non_lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> MATRIX LBRACK . non_lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 326. ## ## sized_basic_type -> MATRIX LBRACK . lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -3535,6 +3834,12 @@ program: MODELBLOCK LBRACE MATRIX LBRACK WHILE program: MODELBLOCK LBRACE MATRIX WHILE ## +## Ends in an error in state: 332. +## +## sized_basic_type -> MATRIX . LBRACK lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> MATRIX . LBRACK lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> MATRIX . LBRACK non_lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> MATRIX . LBRACK non_lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 325. ## ## sized_basic_type -> MATRIX . LBRACK lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -3550,6 +3855,7 @@ program: MODELBLOCK LBRACE MATRIX WHILE program: MODELBLOCK LBRACE RBRACE ELTTIMESASSIGN ## +## Ends in an error in state: 749. ## Ends in an error in state: 734. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) . option(generated_quantities_block) EOF [ # ] @@ -3562,6 +3868,7 @@ Expected "generated quantities {" or end of file after end of model block. program: MODELBLOCK LBRACE REAL TRUNCATE ASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 491. ## Ends in an error in state: 473. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -3618,6 +3925,7 @@ Ill-formed expression. Expression followed by ";" expected after "=". program: MODELBLOCK LBRACE REAL TRUNCATE ASSIGN TRUNCATE TILDE ## +## Ends in an error in state: 492. ## Ends in an error in state: 474. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -3673,6 +3981,7 @@ program: MODELBLOCK LBRACE REAL TRUNCATE ASSIGN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -3680,6 +3989,7 @@ Ill-formed expression. Expression followed by ";" expected after "=". program: MODELBLOCK LBRACE REAL TRUNCATE ASSIGN WHILE ## +## Ends in an error in state: 490. ## Ends in an error in state: 472. ## ## option(pair(ASSIGN,expression)) -> ASSIGN . lhs [ SEMICOLON COMMA ] @@ -3693,6 +4003,7 @@ Ill-formed expression. Expression followed by ";" expected after "=". program: MODELBLOCK LBRACE REAL TRUNCATE LBRACK TRUNCATE RBRACE ## +## Ends in an error in state: 497. ## Ends in an error in state: 479. ## ## dims -> LBRACK separated_nonempty_list(COMMA,expression) . RBRACK [ SEMICOLON ASSIGN ] @@ -3704,6 +4015,8 @@ program: MODELBLOCK LBRACE REAL TRUNCATE LBRACK TRUNCATE RBRACE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 238, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## In state 121, spurious reduction of production lhs -> identifier ## In state 231, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## @@ -3712,6 +4025,7 @@ Ill-formed array sizes. "[" (non-empty comma separated list of expressions) "]" program: MODELBLOCK LBRACE REAL TRUNCATE LBRACK WHILE ## +## Ends in an error in state: 496. ## Ends in an error in state: 478. ## ## dims -> LBRACK . separated_nonempty_list(COMMA,expression) RBRACK [ SEMICOLON ASSIGN ] @@ -3724,6 +4038,9 @@ Ill-formed array sizes. "[" (non-empty comma separated list of expressions) "]" program: MODELBLOCK LBRACE REAL TRUNCATE WHILE ## +## Ends in an error in state: 495. +## +## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier . dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] ## Ends in an error in state: 477. ## ## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier . dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR CONTINUE COMPLEX BREAK BANG ARRAY ] @@ -3733,10 +4050,14 @@ program: MODELBLOCK LBRACE REAL TRUNCATE WHILE ## sized_basic_type decl_identifier ## -";" or plain assignment expected after variable declaration. +";" or plain assignment expected after variable declaration. (Local function definition requires 'function' keyword.) program: MODELBLOCK LBRACE REAL LBRACK ## +## Ends in an error in state: 483. +## +## decl(sized_basic_type,expression) -> sized_basic_type . decl_identifier dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## decl(sized_basic_type,expression) -> sized_basic_type . separated_nonempty_list(COMMA,id_and_optional_assignment(expression)) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] ## Ends in an error in state: 465. ## ## decl(sized_basic_type,expression) -> sized_basic_type . decl_identifier dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR CONTINUE COMPLEX BREAK BANG ARRAY ] @@ -3750,6 +4071,7 @@ Identifier expected after sized type in local (or model block) variable declarat program: MODELBLOCK LBRACE ROWVECTOR LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 322. ## Ends in an error in state: 315. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -3796,6 +4118,7 @@ program: MODELBLOCK LBRACE ROWVECTOR LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## sized_basic_type -> ROWVECTOR LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> ROWVECTOR LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -3806,6 +4129,7 @@ program: MODELBLOCK LBRACE ROWVECTOR LBRACK REALNUMERAL WHILE program: MODELBLOCK LBRACE ROWVECTOR LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 324. ## Ends in an error in state: 317. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -3852,6 +4176,7 @@ program: MODELBLOCK LBRACE ROWVECTOR LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## sized_basic_type -> ROWVECTOR LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> ROWVECTOR LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -3861,6 +4186,7 @@ program: MODELBLOCK LBRACE ROWVECTOR LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -3868,6 +4194,10 @@ program: MODELBLOCK LBRACE ROWVECTOR LBRACK TRUNCATE TILDE program: MODELBLOCK LBRACE ROWVECTOR LBRACK WHILE ## +## Ends in an error in state: 321. +## +## sized_basic_type -> ROWVECTOR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> ROWVECTOR LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 314. ## ## sized_basic_type -> ROWVECTOR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -3881,6 +4211,10 @@ program: MODELBLOCK LBRACE ROWVECTOR LBRACK WHILE program: MODELBLOCK LBRACE ROWVECTOR WHILE ## +## Ends in an error in state: 320. +## +## sized_basic_type -> ROWVECTOR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> ROWVECTOR . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 313. ## ## sized_basic_type -> ROWVECTOR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -3894,6 +4228,7 @@ program: MODELBLOCK LBRACE ROWVECTOR WHILE program: MODELBLOCK LBRACE SEMICOLON VOID ## +## Ends in an error in state: 480. ## Ends in an error in state: 462. ## ## list(vardecl_or_statement) -> vardecl_or_statement . list(vardecl_or_statement) [ RBRACE ] @@ -3906,6 +4241,7 @@ Variable declaration, statement or "}" expected. program: MODELBLOCK LBRACE VECTOR LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 316. ## Ends in an error in state: 309. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -3952,6 +4288,7 @@ program: MODELBLOCK LBRACE VECTOR LBRACK REALNUMERAL WHILE ## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## sized_basic_type -> VECTOR LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> VECTOR LBRACK non_lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -3962,6 +4299,7 @@ program: MODELBLOCK LBRACE VECTOR LBRACK REALNUMERAL WHILE program: MODELBLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 318. ## Ends in an error in state: 311. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4008,6 +4346,7 @@ program: MODELBLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE ## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## sized_basic_type -> VECTOR LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> VECTOR LBRACK lhs . RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: @@ -4017,6 +4356,7 @@ program: MODELBLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -4024,6 +4364,10 @@ program: MODELBLOCK LBRACE VECTOR LBRACK TRUNCATE TILDE program: MODELBLOCK LBRACE VECTOR LBRACK WHILE ## +## Ends in an error in state: 315. +## +## sized_basic_type -> VECTOR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> VECTOR LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 308. ## ## sized_basic_type -> VECTOR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -4037,6 +4381,10 @@ program: MODELBLOCK LBRACE VECTOR LBRACK WHILE program: MODELBLOCK LBRACE VECTOR WHILE ## +## Ends in an error in state: 314. +## +## sized_basic_type -> VECTOR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## sized_basic_type -> VECTOR . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## Ends in an error in state: 307. ## ## sized_basic_type -> VECTOR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -4050,6 +4398,7 @@ program: MODELBLOCK LBRACE VECTOR WHILE program: MODELBLOCK LBRACE VOID ## +## Ends in an error in state: 746. ## Ends in an error in state: 731. ## ## model_block -> MODELBLOCK LBRACE . list(vardecl_or_statement) RBRACE [ GENERATEDQUANTITIESBLOCK EOF ] @@ -4062,6 +4411,7 @@ Variable declaration, statement or "}" expected. program: MODELBLOCK WHILE ## +## Ends in an error in state: 745. ## Ends in an error in state: 730. ## ## model_block -> MODELBLOCK . LBRACE list(vardecl_or_statement) RBRACE [ GENERATEDQUANTITIESBLOCK EOF ] @@ -4074,6 +4424,7 @@ Expected "{" after "model". program: PARAMETERSBLOCK LBRACE RBRACE ELTTIMESASSIGN ## +## Ends in an error in state: 738. ## Ends in an error in state: 723. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) . option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] @@ -4086,6 +4437,7 @@ program: PARAMETERSBLOCK LBRACE RBRACE ELTTIMESASSIGN program: PARAMETERSBLOCK LBRACE WHILE ## +## Ends in an error in state: 734. ## Ends in an error in state: 719. ## ## parameters_block -> PARAMETERSBLOCK LBRACE . list(top_var_decl_no_assign) RBRACE [ TRANSFORMEDPARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] @@ -4098,6 +4450,7 @@ Expected top-level variable declaration or "}". program: PARAMETERSBLOCK WHILE ## +## Ends in an error in state: 733. ## Ends in an error in state: 718. ## ## parameters_block -> PARAMETERSBLOCK . LBRACE list(top_var_decl_no_assign) RBRACE [ TRANSFORMEDPARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] @@ -4110,6 +4463,7 @@ Expected "{" after "parameters". program: TRANSFORMEDDATABLOCK LBRACE BANG REALNUMERAL WHILE ## +## Ends in an error in state: 96. ## Ends in an error in state: 89. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -4166,6 +4520,7 @@ Ill-formed expression. Expression expected after "!". program: TRANSFORMEDDATABLOCK LBRACE BANG TRUNCATE LBRACK RBRACK WHILE ## +## Ends in an error in state: 270. ## Ends in an error in state: 263. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -4222,6 +4577,7 @@ Ill-formed expression. Expression expected after "!". program: TRANSFORMEDDATABLOCK LBRACE BANG WHILE ## +## Ends in an error in state: 95. ## Ends in an error in state: 88. ## ## non_lhs -> BANG . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -4235,6 +4591,9 @@ Ill-formed expression. Expression expected after "!". program: TRANSFORMEDDATABLOCK LBRACE BREAK WHILE ## +## Ends in an error in state: 368. +## +## atomic_statement -> BREAK . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 361. ## ## atomic_statement -> BREAK . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4247,6 +4606,9 @@ Expected ";" after "break". program: TRANSFORMEDDATABLOCK LBRACE CONTINUE WHILE ## +## Ends in an error in state: 366. +## +## atomic_statement -> CONTINUE . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 359. ## ## atomic_statement -> CONTINUE . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4259,6 +4621,9 @@ Expected ";" after "continue". program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN REALNUMERAL COLON REALNUMERAL RPAREN VOID ## +## Ends in an error in state: 445. +## +## nested_statement -> FOR LPAREN identifier IN non_lhs COLON non_lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 438. ## ## nested_statement -> FOR LPAREN identifier IN non_lhs COLON non_lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4271,6 +4636,9 @@ Ill-formed statement. Expected statement after ")" for the loop body of the for program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN REALNUMERAL COLON REALNUMERAL WHILE ## +## Ends in an error in state: 444. +## +## nested_statement -> FOR LPAREN identifier IN non_lhs COLON non_lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 437. ## ## nested_statement -> FOR LPAREN identifier IN non_lhs COLON non_lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4327,6 +4695,9 @@ Ill-formed expression. Expected expression followed by ")" after "for (" identif program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN REALNUMERAL COLON TRUNCATE RPAREN VOID ## +## Ends in an error in state: 448. +## +## nested_statement -> FOR LPAREN identifier IN non_lhs COLON lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 441. ## ## nested_statement -> FOR LPAREN identifier IN non_lhs COLON lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4339,6 +4710,10 @@ Ill-formed statement. Expected statement after ")" for the loop body of the for program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN REALNUMERAL COLON TRUNCATE TILDE ## +## Ends in an error in state: 447. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## nested_statement -> FOR LPAREN identifier IN non_lhs COLON lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 440. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4394,6 +4769,7 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN REALNUMERAL COLON TR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -4401,6 +4777,10 @@ Ill-formed expression. Expected expression followed by ")" after "for (" identif program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN REALNUMERAL COLON WHILE ## +## Ends in an error in state: 443. +## +## nested_statement -> FOR LPAREN identifier IN non_lhs COLON . lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN non_lhs COLON . non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 436. ## ## nested_statement -> FOR LPAREN identifier IN non_lhs COLON . lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4414,6 +4794,9 @@ Ill-formed expression. Expected expression followed by ")" after "for (" identif program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN REALNUMERAL RPAREN VOID ## +## Ends in an error in state: 365. +## +## nested_statement -> FOR LPAREN identifier IN non_lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 358. ## ## nested_statement -> FOR LPAREN identifier IN non_lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4426,6 +4809,11 @@ Ill-formed statement. Expected statement after ")" for the loop body of the fore program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN REALNUMERAL WHILE ## +## Ends in an error in state: 364. +## +## nested_statement -> FOR LPAREN identifier IN non_lhs . COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN non_lhs . COLON non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN non_lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 357. ## ## nested_statement -> FOR LPAREN identifier IN non_lhs . COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4484,6 +4872,9 @@ Ill-formed expression. Expected expression after "for (" identifier "in". program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN TRUNCATE COLON REALNUMERAL RPAREN VOID ## +## Ends in an error in state: 455. +## +## nested_statement -> FOR LPAREN identifier IN lhs COLON non_lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 448. ## ## nested_statement -> FOR LPAREN identifier IN lhs COLON non_lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4496,6 +4887,9 @@ Ill-formed statement. Expected statement after ")" for the loop body of the for program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN TRUNCATE COLON REALNUMERAL WHILE ## +## Ends in an error in state: 454. +## +## nested_statement -> FOR LPAREN identifier IN lhs COLON non_lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 447. ## ## nested_statement -> FOR LPAREN identifier IN lhs COLON non_lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4552,6 +4946,9 @@ Ill-formed expression. Expected expression followed by ")" after "for (" identif program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN TRUNCATE COLON TRUNCATE RPAREN VOID ## +## Ends in an error in state: 458. +## +## nested_statement -> FOR LPAREN identifier IN lhs COLON lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 451. ## ## nested_statement -> FOR LPAREN identifier IN lhs COLON lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4564,6 +4961,10 @@ Ill-formed statement. Expected statement after ")" for the loop body of the for program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN TRUNCATE COLON TRUNCATE TILDE ## +## Ends in an error in state: 457. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## nested_statement -> FOR LPAREN identifier IN lhs COLON lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 450. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4619,6 +5020,7 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN TRUNCATE COLON TRUNC ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -4626,6 +5028,10 @@ Ill-formed expression. Expected expression followed by ")" after "for (" identif program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN TRUNCATE COLON WHILE ## +## Ends in an error in state: 453. +## +## nested_statement -> FOR LPAREN identifier IN lhs COLON . lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs COLON . non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 446. ## ## nested_statement -> FOR LPAREN identifier IN lhs COLON . lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4639,6 +5045,9 @@ Ill-formed expression. Expected expression followed by ")" after "for (" identif program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN TRUNCATE RPAREN VOID ## +## Ends in an error in state: 451. +## +## nested_statement -> FOR LPAREN identifier IN lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 444. ## ## nested_statement -> FOR LPAREN identifier IN lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4651,6 +5060,12 @@ Ill-formed statement. Expected statement after ")" for the loop body of the fore program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN TRUNCATE TILDE ## +## Ends in an error in state: 450. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## nested_statement -> FOR LPAREN identifier IN lhs . COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs . COLON non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 443. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] @@ -4708,6 +5123,7 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -4715,6 +5131,14 @@ Ill-formed expression. Expected expression followed by ")" or ":" after "for (" program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE IN WHILE ## +## Ends in an error in state: 363. +## +## nested_statement -> FOR LPAREN identifier IN . lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . lhs COLON non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . non_lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . non_lhs COLON non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 356. ## ## nested_statement -> FOR LPAREN identifier IN . lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4732,6 +5156,14 @@ Ill-formed expression. Expected expression followed by ")" or ":" after "for (" program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN TRUNCATE WHILE ## +## Ends in an error in state: 362. +## +## nested_statement -> FOR LPAREN identifier . IN lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN lhs COLON non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN non_lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN non_lhs COLON non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 355. ## ## nested_statement -> FOR LPAREN identifier . IN lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4749,6 +5181,14 @@ Expected "in" after loop identifier. program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN WHILE ## +## Ends in an error in state: 361. +## +## nested_statement -> FOR LPAREN . identifier IN lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN lhs COLON non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN non_lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN non_lhs COLON non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 354. ## ## nested_statement -> FOR LPAREN . identifier IN lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4766,6 +5206,14 @@ Expected (loop) identifier after "(". program: TRANSFORMEDDATABLOCK LBRACE FOR WHILE ## +## Ends in an error in state: 360. +## +## nested_statement -> FOR . LPAREN identifier IN lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN lhs COLON non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN non_lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN non_lhs COLON non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 353. ## ## nested_statement -> FOR . LPAREN identifier IN lhs COLON lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4783,6 +5231,7 @@ Expected "(" after "for". program: TRANSFORMEDDATABLOCK LBRACE GETLP LPAREN WHILE ## +## Ends in an error in state: 93. ## Ends in an error in state: 86. ## ## common_expression -> GETLP LPAREN . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -4795,6 +5244,7 @@ Expected ")" after "get_lp(". program: TRANSFORMEDDATABLOCK LBRACE GETLP WHILE ## +## Ends in an error in state: 92. ## Ends in an error in state: 85. ## ## common_expression -> GETLP . LPAREN RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -4807,6 +5257,9 @@ Expected "()" after "get_lp". program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN REALNUMERAL RPAREN SEMICOLON ELSE VOID ## +## Ends in an error in state: 461. +## +## nested_statement -> IF LPAREN non_lhs RPAREN statement ELSE . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 454. ## ## nested_statement -> IF LPAREN non_lhs RPAREN statement ELSE . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4818,8 +5271,28 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN REALNUMERAL RPAREN SEMICOLON ELSE Ill-formed statement. Expected statement after "else". program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN REALNUMERAL RPAREN SEMICOLON VOID +## +## Ends in an error in state: 712. +## +## list(top_vardecl_or_statement) -> top_vardecl_or_statement . list(top_vardecl_or_statement) [ RBRACE ] +## +## The known suffix of the stack is as follows: +## top_vardecl_or_statement +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 460, spurious reduction of production nested_statement -> IF LPAREN non_lhs RPAREN statement +## In state 388, spurious reduction of production statement -> nested_statement +## In state 721, spurious reduction of production top_vardecl_or_statement -> statement +## program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN REALNUMERAL RPAREN SEMICOLON UNREACHABLE ## +## Ends in an error in state: 460. +## +## nested_statement -> IF LPAREN non_lhs RPAREN statement . ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN non_lhs RPAREN statement . [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 453. ## ## nested_statement -> IF LPAREN non_lhs RPAREN statement . ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4833,6 +5306,10 @@ Ill-formed block. Expected a statement, variable declaration, or just "}". program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN REALNUMERAL RPAREN VOID ## +## Ends in an error in state: 359. +## +## nested_statement -> IF LPAREN non_lhs RPAREN . statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN non_lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 352. ## ## nested_statement -> IF LPAREN non_lhs RPAREN . statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4846,6 +5323,10 @@ Ill-formed statement. Statement expected for true branch of conditional. program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN REALNUMERAL WHILE ## +## Ends in an error in state: 358. +## +## nested_statement -> IF LPAREN non_lhs . RPAREN statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN non_lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 351. ## ## nested_statement -> IF LPAREN non_lhs . RPAREN statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4903,6 +5384,9 @@ Expected ")" after test expression of conditional control flow construct. program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN TRUNCATE RPAREN SEMICOLON ELSE VOID ## +## Ends in an error in state: 466. +## +## nested_statement -> IF LPAREN lhs RPAREN statement ELSE . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 459. ## ## nested_statement -> IF LPAREN lhs RPAREN statement ELSE . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4915,6 +5399,10 @@ Ill-formed statement. Expected statement after else. program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN TRUNCATE RPAREN VOID ## +## Ends in an error in state: 464. +## +## nested_statement -> IF LPAREN lhs RPAREN . statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 457. ## ## nested_statement -> IF LPAREN lhs RPAREN . statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -4928,6 +5416,11 @@ Ill-formed statement. Expected statement after ")" for true branch of conditiona program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN TRUNCATE TILDE ## +## Ends in an error in state: 463. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## nested_statement -> IF LPAREN lhs . RPAREN statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 456. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4984,6 +5477,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -4991,6 +5485,12 @@ Ill-formed expression. Expression expected after "(", for test of conditional co program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN WHILE ## +## Ends in an error in state: 357. +## +## nested_statement -> IF LPAREN . lhs RPAREN statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN . non_lhs RPAREN statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN . lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN . non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 350. ## ## nested_statement -> IF LPAREN . lhs RPAREN statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5006,6 +5506,12 @@ Expected expression for test of conditional control flow construct. program: TRANSFORMEDDATABLOCK LBRACE IF WHILE ## +## Ends in an error in state: 356. +## +## nested_statement -> IF . LPAREN lhs RPAREN statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF . LPAREN non_lhs RPAREN statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF . LPAREN lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF . LPAREN non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 349. ## ## nested_statement -> IF . LPAREN lhs RPAREN statement ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5021,6 +5527,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IF WHILE program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN REALNUMERAL RPAREN WHILE ## +## Ends in an error in state: 351. +## +## atomic_statement -> INCREMENTLOGPROB LPAREN non_lhs RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 344. ## ## atomic_statement -> INCREMENTLOGPROB LPAREN non_lhs RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5033,6 +5542,9 @@ Ill-formed statement. Expected ";" after ")". program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN REALNUMERAL WHILE ## +## Ends in an error in state: 350. +## +## atomic_statement -> INCREMENTLOGPROB LPAREN non_lhs . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 343. ## ## atomic_statement -> INCREMENTLOGPROB LPAREN non_lhs . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5089,6 +5601,9 @@ Ill-formed statement. Expected expression followed by ");" after "(". program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN TRUNCATE RPAREN WHILE ## +## Ends in an error in state: 354. +## +## atomic_statement -> INCREMENTLOGPROB LPAREN lhs RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 347. ## ## atomic_statement -> INCREMENTLOGPROB LPAREN lhs RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5101,6 +5616,9 @@ Ill-formed statement. Expected ";" after ")". program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN TRUNCATE TILDE ## +## Ends in an error in state: 353. +## +## atomic_statement -> INCREMENTLOGPROB LPAREN lhs . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 346. ## ## atomic_statement -> INCREMENTLOGPROB LPAREN lhs . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5156,6 +5674,7 @@ program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -5163,6 +5682,10 @@ Ill-formed statement. Expected expression followed by ");" after "(". program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN WHILE ## +## Ends in an error in state: 349. +## +## atomic_statement -> INCREMENTLOGPROB LPAREN . lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> INCREMENTLOGPROB LPAREN . non_lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 342. ## ## atomic_statement -> INCREMENTLOGPROB LPAREN . lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5176,6 +5699,10 @@ Ill-formed statement. Expected expression followed by ");" after "(". program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB WHILE ## +## Ends in an error in state: 348. +## +## atomic_statement -> INCREMENTLOGPROB . LPAREN lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> INCREMENTLOGPROB . LPAREN non_lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 341. ## ## atomic_statement -> INCREMENTLOGPROB . LPAREN lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5189,6 +5716,7 @@ Ill-formed statement. Expected "(" followed by an expression and ");", after "in program: TRANSFORMEDDATABLOCK LBRACE LBRACE REALNUMERAL COMMA WHILE ## +## Ends in an error in state: 235. ## Ends in an error in state: 228. ## ## separated_nonempty_list(COMMA,expression) -> non_lhs COMMA . separated_nonempty_list(COMMA,expression) [ RPAREN RBRACK RBRACE ] @@ -5201,6 +5729,9 @@ Ill-formed expression. Expected a comma-separated list of expressions. program: TRANSFORMEDDATABLOCK LBRACE LBRACE REALNUMERAL WHILE ## +## Ends in an error in state: 509. +## +## atomic_statement -> non_lhs . TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] ## Ends in an error in state: 490. ## ## atomic_statement -> non_lhs . TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR CONTINUE COMPLEX BREAK BANG ARRAY ] @@ -5259,6 +5790,27 @@ Ill-formed phrase. Found an expression. This can be followed by a "~", a ",", a program: TRANSFORMEDDATABLOCK LBRACE LBRACE TRUNCATE LBRACK RBRACK WHILE ## +## Ends in an error in state: 512. +## +## atomic_statement -> lhs . ASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ARROWASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ARROWASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . PLUSASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . PLUSASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . MINUSASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . MINUSASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . TIMESASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . TIMESASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . DIVIDEASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . DIVIDEASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTTIMESASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTTIMESASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTDIVIDEASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTDIVIDEASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## decl(sized_basic_type,expression) -> lhs . sized_basic_type separated_nonempty_list(COMMA,id_and_optional_assignment(expression)) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## lhs -> lhs . LBRACK indexes RBRACK [ VECTOR TRANSPOSE TIMESASSIGN TIMES TILDE ROWVECTOR REAL RBRACE RABRACK QMARK PLUSASSIGN PLUS OR NEQUALS MODULO MINUSASSIGN MINUS MATRIX LEQ LDIVIDE LBRACK LABRACK INT IDIVIDE HAT GEQ EQUALS ELTTIMESASSIGN ELTTIMES ELTPOW ELTDIVIDEASSIGN ELTDIVIDE DIVIDEASSIGN DIVIDE COMMA ASSIGN ARROWASSIGN AND ] ## Ends in an error in state: 493. ## ## atomic_statement -> lhs . ASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR CONTINUE COMPLEX BREAK BANG ARRAY ] @@ -5334,6 +5886,10 @@ Ill-formed phrase. Found an L-value. This can be followed by a "~", a ",", a "}" program: TRANSFORMEDDATABLOCK LBRACE LBRACE VOID ## +## Ends in an error in state: 346. +## +## common_expression -> LBRACE . separated_nonempty_list(COMMA,expression) RBRACE [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## nested_statement -> LBRACE . list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 339. ## ## common_expression -> LBRACE . separated_nonempty_list(COMMA,expression) RBRACE [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -5347,6 +5903,7 @@ Ill-formed phrase. "{" should be followed by a statement, variable declaration o program: TRANSFORMEDDATABLOCK LBRACE LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 237. ## Ends in an error in state: 230. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -5404,6 +5961,7 @@ Ill-formed phrase. Found an expression. This can be followed by a ",", a "}", a program: TRANSFORMEDDATABLOCK LBRACE LBRACK TRUNCATE COMMA WHILE ## +## Ends in an error in state: 239. ## Ends in an error in state: 232. ## ## separated_nonempty_list(COMMA,expression) -> lhs COMMA . separated_nonempty_list(COMMA,expression) [ RPAREN RBRACK RBRACE ] @@ -5415,8 +5973,70 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK TRUNCATE COMMA WHILE Ill-formed expression. We expect a comma separated list of expressions. program: DATABLOCK LBRACE ARRAY LBRACK UPPER RPAREN +## +## Ends in an error in state: 256. +## +## indexes -> lhs . [ RBRACK COMMA ] +## indexes -> lhs . COLON [ RBRACK COMMA ] +## indexes -> lhs . COLON lhs [ RBRACK COMMA ] +## indexes -> lhs . COLON non_lhs [ RBRACK COMMA ] +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## +## The known suffix of the stack is as follows: +## lhs +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## program: TRANSFORMEDDATABLOCK LBRACE LBRACK TRUNCATE RPAREN ## +## Ends in an error in state: 273. ## Ends in an error in state: 266. ## ## common_expression -> LBRACK loption(separated_nonempty_list(COMMA,expression)) . RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5428,6 +6048,9 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK TRUNCATE RPAREN ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 238, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 130, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## In state 121, spurious reduction of production lhs -> identifier ## In state 231, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## In state 123, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) @@ -5437,6 +6060,7 @@ Ill-formed expression. We expect a comma separated list of expressions, followed program: TRANSFORMEDDATABLOCK LBRACE LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 238. ## Ends in an error in state: 231. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -5493,6 +6117,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -5500,6 +6125,7 @@ Ill-formed phrase. We found an L-value. Parse failed on token after the L-value. program: TRANSFORMEDDATABLOCK LBRACE LBRACK WHILE ## +## Ends in an error in state: 89. ## Ends in an error in state: 82. ## ## common_expression -> LBRACK . loption(separated_nonempty_list(COMMA,expression)) RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5512,6 +6138,7 @@ Comma separated list of expressions followed by "]" expected after "[". program: TRANSFORMEDDATABLOCK LBRACE LPAREN REALNUMERAL WHILE ## +## Ends in an error in state: 275. ## Ends in an error in state: 268. ## ## common_expression -> LPAREN non_lhs . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5568,6 +6195,7 @@ Expression or range of expressions followed by ")" expected after "(". program: TRANSFORMEDDATABLOCK LBRACE LPAREN TRUNCATE TILDE ## +## Ends in an error in state: 277. ## Ends in an error in state: 270. ## ## common_expression -> LPAREN lhs . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5623,6 +6251,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LPAREN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -5630,6 +6259,7 @@ Ill-formed phrase. Found "(" followed by expression. Expect a "[", "," or ")" or program: TRANSFORMEDDATABLOCK LBRACE LPAREN WHILE ## +## Ends in an error in state: 88. ## Ends in an error in state: 81. ## ## common_expression -> LPAREN . lhs RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5643,6 +6273,7 @@ Expression expected after "(". program: TRANSFORMEDDATABLOCK LBRACE MINUS REALNUMERAL WHILE ## +## Ends in an error in state: 279. ## Ends in an error in state: 272. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5699,6 +6330,7 @@ Ill-formed expression. Found an expression. Expect an infix or postfix operator program: TRANSFORMEDDATABLOCK LBRACE MINUS TRUNCATE LBRACK RBRACK WHILE ## +## Ends in an error in state: 280. ## Ends in an error in state: 273. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5755,6 +6387,7 @@ Ill-formed expression. Found an expression. Expect an infix or postfix operator program: TRANSFORMEDDATABLOCK LBRACE MINUS WHILE ## +## Ends in an error in state: 87. ## Ends in an error in state: 80. ## ## non_lhs -> MINUS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5768,6 +6401,7 @@ Ill-formed expression. Expect an expression after "-". program: TRANSFORMEDDATABLOCK LBRACE PLUS REALNUMERAL WHILE ## +## Ends in an error in state: 281. ## Ends in an error in state: 274. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5824,6 +6458,7 @@ Ill-formed expression. Found an expression. Expect an infix or postfix operator program: TRANSFORMEDDATABLOCK LBRACE PLUS TRUNCATE LBRACK RBRACK WHILE ## +## Ends in an error in state: 282. ## Ends in an error in state: 275. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5880,6 +6515,7 @@ Ill-formed expression. Found an expression. Expect an infix or postfix operator program: TRANSFORMEDDATABLOCK LBRACE PLUS WHILE ## +## Ends in an error in state: 86. ## Ends in an error in state: 79. ## ## non_lhs -> PLUS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5893,6 +6529,9 @@ Ill-formed expression. Expect an expression after "+". program: TRANSFORMEDDATABLOCK LBRACE PRINT LPAREN STRINGLITERAL WHILE ## +## Ends in an error in state: 329. +## +## atomic_statement -> PRINT LPAREN printables . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 322. ## ## atomic_statement -> PRINT LPAREN printables . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5906,6 +6545,9 @@ Expected a comma-separated list of expressions or strings followed by ");" after program: TRANSFORMEDDATABLOCK LBRACE PRINT LPAREN TRUNCATE RPAREN WHILE ## +## Ends in an error in state: 330. +## +## atomic_statement -> PRINT LPAREN printables RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 323. ## ## atomic_statement -> PRINT LPAREN printables RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5918,6 +6560,9 @@ Expected a ";" after "print(...)". program: TRANSFORMEDDATABLOCK LBRACE PRINT LPAREN WHILE ## +## Ends in an error in state: 328. +## +## atomic_statement -> PRINT LPAREN . printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 321. ## ## atomic_statement -> PRINT LPAREN . printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5930,6 +6575,9 @@ Expected a comma-separated list of expressions or strings followed by ");" after program: TRANSFORMEDDATABLOCK LBRACE PRINT WHILE ## +## Ends in an error in state: 327. +## +## atomic_statement -> PRINT . LPAREN printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 320. ## ## atomic_statement -> PRINT . LPAREN printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5942,6 +6590,7 @@ Expected "(" followed by a comma-separated list of expressions or strings follow program: TRANSFORMEDDATABLOCK LBRACE RBRACE ELTTIMESASSIGN ## +## Ends in an error in state: 732. ## Ends in an error in state: 717. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) . option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] @@ -5954,6 +6603,9 @@ Expected "parameters {", "transformed parameters {", "model {", "generated quant program: TRANSFORMEDDATABLOCK LBRACE REAL TRUNCATE WHILE ## +## Ends in an error in state: 716. +## +## decl(top_var_type,expression) -> top_var_type decl_identifier . dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 702. ## ## decl(top_var_type,expression) -> top_var_type decl_identifier . dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -5966,90 +6618,4708 @@ program: TRANSFORMEDDATABLOCK LBRACE REAL TRUNCATE WHILE ";" or plain assignment is expected after a top-level variable declaration. program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL AND TRUNCATE LBRACK RBRACK WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL DIVIDE REALNUMERAL WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL DIVIDE TRUNCATE LBRACK RBRACK WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTDIVIDE REALNUMERAL WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LDIVIDE REALNUMERAL WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTDIVIDE TRUNCATE LBRACK RBRACK WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTTIMES REALNUMERAL WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTTIMES TRUNCATE LBRACK RBRACK WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL EQUALS REALNUMERAL WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL EQUALS TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 205. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs AND lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs AND lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL DIVIDE REALNUMERAL WHILE +## +## Ends in an error in state: 154. +## Ends in an error in state: 101. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs DIVIDE non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs DIVIDE non_lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL DIVIDE TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 155. +## Ends in an error in state: 91. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs DIVIDE lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs DIVIDE lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTDIVIDE REALNUMERAL WHILE +## +## Ends in an error in state: 151. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs ELTDIVIDE non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs ELTDIVIDE non_lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LDIVIDE REALNUMERAL WHILE +## +## Ends in an error in state: 104. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs LDIVIDE non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs LDIVIDE non_lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTDIVIDE TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 152. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs ELTDIVIDE lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs ELTDIVIDE lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTTIMES REALNUMERAL WHILE +## +## Ends in an error in state: 141. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs ELTTIMES non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs ELTTIMES non_lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTTIMES TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 142. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs ELTTIMES lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs ELTTIMES lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL EQUALS REALNUMERAL WHILE +## +## Ends in an error in state: 201. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs EQUALS non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs EQUALS non_lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL EQUALS TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 202. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs EQUALS lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs EQUALS lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL GEQ REALNUMERAL WHILE +## +## Ends in an error in state: 185. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs GEQ non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs GEQ non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL GEQ TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 186. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs GEQ lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs GEQ lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL HAT REALNUMERAL WHILE +## +## Ends in an error in state: 106. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs HAT non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs HAT non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL HAT TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 264. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs HAT lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs HAT lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LABRACK REALNUMERAL WHILE +## +## Ends in an error in state: 182. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs LABRACK non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs LABRACK non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LABRACK TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 183. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs LABRACK lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs LABRACK lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LDIVIDE TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 265. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs LDIVIDE lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs LDIVIDE lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LEQ REALNUMERAL WHILE +## +## Ends in an error in state: 173. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs LEQ non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs LEQ non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LEQ TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 174. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs LEQ lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs LEQ lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL MINUS REALNUMERAL WHILE +## +## Ends in an error in state: 139. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs MINUS non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs MINUS non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL MINUS TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 156. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs MINUS lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs MINUS lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL MODULO REALNUMERAL WHILE +## +## Ends in an error in state: 118. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs MODULO non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs MODULO non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL MODULO TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 250. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs MODULO lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs MODULO lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL NEQUALS REALNUMERAL WHILE +## +## Ends in an error in state: 137. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs NEQUALS non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs NEQUALS non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL NEQUALS TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 187. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs NEQUALS lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs NEQUALS lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL OR REALNUMERAL WHILE +## +## Ends in an error in state: 135. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs OR non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs OR non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL OR TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 212. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs OR lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs OR lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL PLUS REALNUMERAL WHILE +## +## Ends in an error in state: 116. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs PLUS non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs PLUS non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL PLUS TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 251. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs PLUS lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs PLUS lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL QMARK REALNUMERAL COLON REALNUMERAL WHILE +## +## Ends in an error in state: 217. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs QMARK non_lhs COLON non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs QMARK non_lhs COLON non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL QMARK REALNUMERAL COLON TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 218. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs QMARK non_lhs COLON lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs QMARK non_lhs COLON lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL QMARK TRUNCATE COLON REALNUMERAL WHILE +## +## Ends in an error in state: 233. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs QMARK lhs COLON non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs QMARK lhs COLON non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL QMARK TRUNCATE COLON TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 234. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs QMARK lhs COLON lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs QMARK lhs COLON lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL RABRACK REALNUMERAL WHILE +## +## Ends in an error in state: 114. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs RABRACK non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs RABRACK non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL RABRACK TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 252. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs RABRACK lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs RABRACK lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TIMES REALNUMERAL WHILE +## +## Ends in an error in state: 102. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs TIMES non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs TIMES non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TIMES TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 266. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs TIMES lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs TIMES lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL WHILE +## +## Ends in an error in state: 371. +## +## atomic_statement -> non_lhs . TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## +## The known suffix of the stack is as follows: +## non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE AND REALNUMERAL WHILE +## +## Ends in an error in state: 214. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs AND non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs AND non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE AND TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 215. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs AND lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs AND lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE DIVIDE TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 171. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs DIVIDE lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs DIVIDE lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTDIVIDE REALNUMERAL WHILE +## +## Ends in an error in state: 167. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs ELTDIVIDE non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs ELTDIVIDE non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTDIVIDE TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 168. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs ELTDIVIDE lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs ELTDIVIDE lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTTIMES REALNUMERAL WHILE +## +## Ends in an error in state: 164. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs ELTTIMES non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs ELTTIMES non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTTIMES TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 165. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs ELTTIMES lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs ELTTIMES lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE EQUALS REALNUMERAL WHILE +## +## Ends in an error in state: 210. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs EQUALS non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs EQUALS non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE EQUALS TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 211. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs EQUALS lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs EQUALS lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE GEQ REALNUMERAL WHILE +## +## Ends in an error in state: 198. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs GEQ non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs GEQ non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE GEQ TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 199. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs GEQ lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs GEQ lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE HAT REALNUMERAL WHILE +## +## Ends in an error in state: 123. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs HAT non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs HAT non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE HAT TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 124. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs HAT lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs HAT lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LABRACK REALNUMERAL WHILE +## +## Ends in an error in state: 195. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs LABRACK non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs LABRACK non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LABRACK TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 196. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs LABRACK lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs LABRACK lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LDIVIDE REALNUMERAL WHILE +## +## Ends in an error in state: 144. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs LDIVIDE non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs LDIVIDE non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LDIVIDE TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 145. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs LDIVIDE lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs LDIVIDE lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LEQ REALNUMERAL WHILE +## +## Ends in an error in state: 192. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs LEQ non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs LEQ non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LEQ TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 193. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs LEQ lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs LEQ lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE MINUS REALNUMERAL WHILE +## +## Ends in an error in state: 179. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs MINUS non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs MINUS non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE MINUS TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 180. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs MINUS lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs MINUS lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE MODULO REALNUMERAL WHILE +## +## Ends in an error in state: 161. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs MODULO non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs MODULO non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE MODULO TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 162. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs MODULO lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs MODULO lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE NEQUALS REALNUMERAL WHILE +## +## Ends in an error in state: 207. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs NEQUALS non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs NEQUALS non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE NEQUALS TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 208. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs NEQUALS lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs NEQUALS lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE OR REALNUMERAL WHILE +## +## Ends in an error in state: 225. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs OR non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs OR non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE OR TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 226. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs OR lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs OR lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE PLUS REALNUMERAL WHILE +## +## Ends in an error in state: 176. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs PLUS non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs PLUS non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE PLUS TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 177. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs PLUS lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs PLUS lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE QMARK TRUNCATE COLON REALNUMERAL WHILE +## +## Ends in an error in state: 229. +## +## non_lhs -> lhs QMARK lhs COLON non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs QMARK lhs COLON non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE QMARK TRUNCATE COLON TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 230. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs QMARK lhs COLON lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs QMARK lhs COLON lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE RABRACK REALNUMERAL WHILE +## +## Ends in an error in state: 189. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs RABRACK non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs RABRACK non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE RABRACK TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 190. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs RABRACK lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs RABRACK lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TIMES REALNUMERAL WHILE +## +## Ends in an error in state: 158. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs TIMES non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs TIMES non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TIMES TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 159. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs TIMES lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs TIMES lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE QMARK REALNUMERAL COLON TRUNCATE LBRACK RBRACK WHILE +## +## Ends in an error in state: 223. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs QMARK non_lhs COLON lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs QMARK non_lhs COLON lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE QMARK REALNUMERAL COLON REALNUMERAL WHILE +## +## Ends in an error in state: 222. +## +## non_lhs -> lhs QMARK non_lhs COLON non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs QMARK non_lhs COLON non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE UPPER IDIVIDE UPPER LBRACK RBRACK WHILE +## +## Ends in an error in state: 149. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs IDIVIDE lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs IDIVIDE lhs +## program: TRANSFORMEDDATABLOCK LBRACE UPPER IDIVIDE REALNUMERAL WHILE +## +## Ends in an error in state: 148. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs IDIVIDE non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs IDIVIDE non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE UPPER ELTPOW UPPER LBRACK RBRACK WHILE +## +## Ends in an error in state: 127. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs ELTPOW lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs ELTPOW lhs +## program: TRANSFORMEDDATABLOCK LBRACE UPPER ELTPOW REALNUMERAL WHILE +## +## Ends in an error in state: 126. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs ELTPOW non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs ELTPOW non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL IDIVIDE UPPER LBRACK RBRACK WHILE +## +## Ends in an error in state: 121. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs IDIVIDE lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs IDIVIDE lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL IDIVIDE REALNUMERAL WHILE +## +## Ends in an error in state: 120. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs IDIVIDE non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs IDIVIDE non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTPOW UPPER LBRACK RBRACK WHILE +## +## Ends in an error in state: 109. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs ELTPOW lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs ELTPOW lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTPOW REALNUMERAL WHILE ## -## Ends in an error in state: 101. +## Ends in an error in state: 108. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs ELTPOW non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs ELTPOW non_lhs +## + +Found a expression where we expected a statement. Is there a missing semi-colon here? +Or did you mean to use the preceding expression in: +* a function call +* a sampling statement +* the conditional in a for, while, or if statement +* assignment to a variable? + +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK TRUNCATE COLON REALNUMERAL WHILE +## +## Ends in an error in state: 258. +## +## indexes -> lhs COLON non_lhs . [ RBRACK COMMA ] +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## +## The known suffix of the stack is as follows: +## lhs COLON non_lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK REALNUMERAL COLON REALNUMERAL WHILE +## +## Ends in an error in state: 254. +## +## indexes -> non_lhs COLON non_lhs . [ RBRACK COMMA ] +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## +## The known suffix of the stack is as follows: +## non_lhs COLON non_lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK REALNUMERAL COLON TRUNCATE TILDE +## +## Ends in an error in state: 255. +## +## indexes -> non_lhs COLON lhs . [ RBRACK COMMA ] +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## +## The known suffix of the stack is as follows: +## non_lhs COLON lhs +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK REALNUMERAL WHILE +## +## Ends in an error in state: 112. +## +## indexes -> non_lhs . [ RBRACK COMMA ] +## indexes -> non_lhs . COLON [ RBRACK COMMA ] +## indexes -> non_lhs . COLON lhs [ RBRACK COMMA ] +## indexes -> non_lhs . COLON non_lhs [ RBRACK COMMA ] +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON AND ] +## +## The known suffix of the stack is as follows: +## non_lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK TRUNCATE COLON TRUNCATE TILDE +## +## Ends in an error in state: 259. +## +## indexes -> lhs COLON lhs . [ RBRACK COMMA ] +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## +## The known suffix of the stack is as follows: +## lhs COLON lhs +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK TRUNCATE COLON WHILE +## +## Ends in an error in state: 257. +## +## indexes -> lhs COLON . [ RBRACK COMMA ] +## indexes -> lhs COLON . lhs [ RBRACK COMMA ] +## indexes -> lhs COLON . non_lhs [ RBRACK COMMA ] +## +## The known suffix of the stack is as follows: +## lhs COLON +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL AND REALNUMERAL WHILE +## +## Ends in an error in state: 204. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6077,11 +11347,11 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTPOW REALNUMERAL WHILE ## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] -## non_lhs -> non_lhs ELTPOW non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs AND non_lhs . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6098,68 +11368,331 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTPOW REALNUMERAL WHILE ## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: -## non_lhs ELTPOW non_lhs +## non_lhs AND non_lhs +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK WHILE +## +## Ends in an error in state: 98. +## +## non_lhs -> non_lhs LBRACK . indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs LBRACK ## -Found a expression where we expected a statement. Is there a missing semi-colon here? -Or did you mean to use the preceding expression in: -* a function call -* a sampling statement -* the conditional in a for, while, or if statement -* assignment to a variable? +Found an ill-formed expression where we expected a statement. Did you forget to close your "["? -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK TRUNCATE COLON REALNUMERAL WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK REALNUMERAL COLON REALNUMERAL WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK REALNUMERAL COLON TRUNCATE TILDE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK REALNUMERAL WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK TRUNCATE COLON TRUNCATE TILDE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK TRUNCATE COLON WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL AND REALNUMERAL WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK WHILE +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LDIVIDE WHILE +## +## Ends in an error in state: 103. +## +## non_lhs -> non_lhs LDIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs LDIVIDE . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs LDIVIDE +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL MINUS WHILE +## +## Ends in an error in state: 138. +## +## non_lhs -> non_lhs MINUS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs MINUS . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs MINUS +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL PLUS WHILE +## +## Ends in an error in state: 115. +## +## non_lhs -> non_lhs PLUS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs PLUS . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs PLUS +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL OR WHILE +## +## Ends in an error in state: 134. +## +## non_lhs -> non_lhs OR . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs OR . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs OR +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL NEQUALS WHILE +## +## Ends in an error in state: 136. +## +## non_lhs -> non_lhs NEQUALS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs NEQUALS . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs NEQUALS +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL MODULO WHILE +## +## Ends in an error in state: 117. +## +## non_lhs -> non_lhs MODULO . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs MODULO . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs MODULO +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LEQ WHILE +## +## Ends in an error in state: 172. +## +## non_lhs -> non_lhs LEQ . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs LEQ . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs LEQ +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL RABRACK WHILE +## +## Ends in an error in state: 113. +## +## non_lhs -> non_lhs RABRACK . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs RABRACK . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs RABRACK +## +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TIMES WHILE +## +## Ends in an error in state: 101. +## +## non_lhs -> non_lhs TIMES . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs TIMES . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs TIMES +## +program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE AND WHILE +## +## Ends in an error in state: 213. +## +## non_lhs -> lhs AND . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs AND . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs AND +## +program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE DIVIDE WHILE +## +## Ends in an error in state: 169. +## +## non_lhs -> lhs DIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs DIVIDE . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs DIVIDE +## +program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTDIVIDE WHILE +## +## Ends in an error in state: 166. +## +## non_lhs -> lhs ELTDIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs ELTDIVIDE . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs ELTDIVIDE +## +program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTTIMES WHILE +## +## Ends in an error in state: 163. +## +## non_lhs -> lhs ELTTIMES . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs ELTTIMES . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs ELTTIMES +## +program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE EQUALS WHILE +## +## Ends in an error in state: 209. +## +## non_lhs -> lhs EQUALS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs EQUALS . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs EQUALS +## +program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE GEQ WHILE +## +## Ends in an error in state: 197. +## +## non_lhs -> lhs GEQ . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs GEQ . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs GEQ +## +program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE HAT WHILE +## +## Ends in an error in state: 122. +## +## non_lhs -> lhs HAT . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs HAT . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs HAT ## -## Ends in an error in state: 91. +program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LABRACK WHILE ## -## non_lhs -> non_lhs LBRACK . indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## Ends in an error in state: 194. +## +## non_lhs -> lhs LABRACK . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs LABRACK . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## ## The known suffix of the stack is as follows: -## non_lhs LBRACK +## lhs LABRACK ## - -Found an ill-formed expression where we expected a statement. Did you forget to close your "["? - -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LDIVIDE WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL MINUS WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL PLUS WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL OR WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL NEQUALS WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL MODULO WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LEQ WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL RABRACK WHILE -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TIMES WHILE -program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE AND WHILE -program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE DIVIDE WHILE -program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTDIVIDE WHILE -program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTTIMES WHILE -program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE EQUALS WHILE -program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE GEQ WHILE -program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE HAT WHILE -program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LABRACK WHILE program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LDIVIDE WHILE +## +## Ends in an error in state: 143. +## +## non_lhs -> lhs LDIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs LDIVIDE . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs LDIVIDE +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LEQ WHILE +## +## Ends in an error in state: 191. +## +## non_lhs -> lhs LEQ . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs LEQ . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs LEQ +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE MINUS WHILE +## +## Ends in an error in state: 178. +## +## non_lhs -> lhs MINUS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs MINUS . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs MINUS +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE MODULO WHILE +## +## Ends in an error in state: 160. +## +## non_lhs -> lhs MODULO . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs MODULO . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs MODULO +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE NEQUALS WHILE +## +## Ends in an error in state: 206. +## +## non_lhs -> lhs NEQUALS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs NEQUALS . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs NEQUALS +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTTIMESASSIGN WHILE +## +## Ends in an error in state: 412. +## +## atomic_statement -> lhs ELTTIMESASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ELTTIMESASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## +## The known suffix of the stack is as follows: +## lhs ELTTIMESASSIGN +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE OR WHILE +## +## Ends in an error in state: 224. +## +## non_lhs -> lhs OR . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs OR . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs OR +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE PLUS WHILE +## +## Ends in an error in state: 175. +## +## non_lhs -> lhs PLUS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs PLUS . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs PLUS +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE RABRACK WHILE +## +## Ends in an error in state: 188. +## +## non_lhs -> lhs RABRACK . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs RABRACK . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs RABRACK +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TIMES WHILE +## +## Ends in an error in state: 157. +## +## non_lhs -> lhs TIMES . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs TIMES . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs TIMES +## program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN UPPER IDIVIDE WHILE +## +## Ends in an error in state: 553. +## +## constr_expression -> constr_expression IDIVIDE . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## +## The known suffix of the stack is as follows: +## constr_expression IDIVIDE +## program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN UPPER ELTPOW WHILE +## +## Ends in an error in state: 543. +## +## constr_expression -> constr_expression ELTPOW . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## +## The known suffix of the stack is as follows: +## constr_expression ELTPOW +## program: TRANSFORMEDDATABLOCK LBRACE UPPER IDIVIDE WHILE +## +## Ends in an error in state: 147. +## +## non_lhs -> lhs IDIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs IDIVIDE . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs IDIVIDE +## program: TRANSFORMEDDATABLOCK LBRACE UPPER ELTPOW WHILE +## +## Ends in an error in state: 125. +## +## non_lhs -> lhs ELTPOW . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs ELTPOW . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs ELTPOW +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTPOW WHILE ## +## Ends in an error in state: 107. ## Ends in an error in state: 100. ## ## non_lhs -> non_lhs ELTPOW . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6172,16 +11705,288 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTPOW WHILE Found an incomplete binary expression - are you missing the right hand side? program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE QMARK REALNUMERAL COLON WHILE +## +## Ends in an error in state: 221. +## +## non_lhs -> lhs QMARK non_lhs COLON . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs QMARK non_lhs COLON . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs QMARK non_lhs COLON +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE QMARK REALNUMERAL WHILE +## +## Ends in an error in state: 220. +## +## non_lhs -> lhs QMARK non_lhs . COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs QMARK non_lhs . COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## +## The known suffix of the stack is as follows: +## lhs QMARK non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE QMARK TRUNCATE COLON WHILE +## +## Ends in an error in state: 228. +## +## non_lhs -> lhs QMARK lhs COLON . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs QMARK lhs COLON . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs QMARK lhs COLON +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE QMARK TRUNCATE TILDE +## +## Ends in an error in state: 227. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs QMARK lhs . COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs QMARK lhs . COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## +## The known suffix of the stack is as follows: +## lhs QMARK lhs +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE QMARK WHILE +## +## Ends in an error in state: 219. +## +## non_lhs -> lhs QMARK . lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs QMARK . lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs QMARK . non_lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs QMARK . non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## lhs QMARK +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL QMARK REALNUMERAL COLON WHILE +## +## Ends in an error in state: 216. +## +## non_lhs -> non_lhs QMARK non_lhs COLON . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs QMARK non_lhs COLON . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs QMARK non_lhs COLON +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL QMARK REALNUMERAL WHILE +## +## Ends in an error in state: 133. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs QMARK non_lhs . COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs QMARK non_lhs . COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## +## The known suffix of the stack is as follows: +## non_lhs QMARK non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL QMARK TRUNCATE COLON WHILE +## +## Ends in an error in state: 232. +## +## non_lhs -> non_lhs QMARK lhs COLON . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs QMARK lhs COLON . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## +## The known suffix of the stack is as follows: +## non_lhs QMARK lhs COLON +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL QMARK TRUNCATE TILDE +## +## Ends in an error in state: 231. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> non_lhs QMARK lhs . COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> non_lhs QMARK lhs . COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] +## +## The known suffix of the stack is as follows: +## non_lhs QMARK lhs +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL QMARK WHILE ## +## Ends in an error in state: 132. ## Ends in an error in state: 125. ## ## non_lhs -> non_lhs QMARK . lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6199,8 +12004,61 @@ For example, this returns 3.0: 1 ? 0.0 : 3.0 program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN REALNUMERAL WHILE +## +## Ends in an error in state: 307. +## +## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . PLUS lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . PLUS non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MINUS lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MINUS non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . TIMES lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . TIMES non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . DIVIDE lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . DIVIDE non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . IDIVIDE lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MODULO lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . MODULO non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LDIVIDE lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTTIMES lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . HAT lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . HAT non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTPOW lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . ELTPOW non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . OR lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . OR non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . AND lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . AND non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . EQUALS lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . EQUALS non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . NEQUALS lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . NEQUALS non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LABRACK lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LABRACK non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LEQ lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LEQ non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . RABRACK lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . RABRACK non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . GEQ lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . GEQ non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . TRANSPOSE [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## non_lhs -> non_lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] +## printables -> non_lhs . [ RPAREN COMMA ] +## +## The known suffix of the stack is as follows: +## non_lhs +## program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN TRUNCATE TILDE ## +## Ends in an error in state: 308. ## Ends in an error in state: 301. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -6256,6 +12114,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -6263,6 +12122,7 @@ Got an incomplete statement - are you missing a paren or semi-colon? program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE DIVIDE REALNUMERAL WHILE ## +## Ends in an error in state: 170. ## Ends in an error in state: 163. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6319,6 +12179,7 @@ Looks like program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL AND WHILE ## +## Ends in an error in state: 203. ## Ends in an error in state: 196. ## ## non_lhs -> non_lhs AND . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6335,6 +12196,7 @@ Ill-formed expression. Expected expression after expression followed by "&&". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL IDIVIDE WHILE ## +## Ends in an error in state: 119. ## Ends in an error in state: 112. ## ## non_lhs -> non_lhs IDIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6348,6 +12210,7 @@ Ill-formed expression. Expected expression after expression followed by "%/%". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL DIVIDE WHILE ## +## Ends in an error in state: 153. ## Ends in an error in state: 146. ## ## non_lhs -> non_lhs DIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6362,6 +12225,7 @@ Ill-formed expression. Expected expression after expression followed by "/". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTDIVIDE WHILE ## +## Ends in an error in state: 150. ## Ends in an error in state: 143. ## ## non_lhs -> non_lhs ELTDIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6377,6 +12241,7 @@ Ill-formed expression. Expected expression after expression followed by "./". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTTIMES WHILE ## +## Ends in an error in state: 140. ## Ends in an error in state: 133. ## ## non_lhs -> non_lhs ELTTIMES . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6390,6 +12255,7 @@ Ill-formed expression. Expected expression after expression followed by ".*". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL EQUALS WHILE ## +## Ends in an error in state: 200. ## Ends in an error in state: 193. ## ## non_lhs -> non_lhs EQUALS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6403,6 +12269,7 @@ Ill-formed expression. Expected expression after expression followed by "==". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL GEQ WHILE ## +## Ends in an error in state: 184. ## Ends in an error in state: 177. ## ## non_lhs -> non_lhs GEQ . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6416,6 +12283,7 @@ Ill-formed expression. Expected expression after expression followed by ">=". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL HAT WHILE ## +## Ends in an error in state: 105. ## Ends in an error in state: 98. ## ## non_lhs -> non_lhs HAT . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6429,6 +12297,7 @@ Ill-formed expression. Expected expression after expression followed by "^". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LABRACK WHILE ## +## Ends in an error in state: 181. ## Ends in an error in state: 174. ## ## non_lhs -> non_lhs LABRACK . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6442,6 +12311,7 @@ Ill-formed expression. Expected expression after expression followed by "<". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK COLON REALNUMERAL WHILE ## +## Ends in an error in state: 100. ## Ends in an error in state: 93. ## ## indexes -> COLON non_lhs . [ RBRACK COMMA ] @@ -6498,6 +12368,7 @@ Ill-formed phrase. Found ":" expression. We expect either an infix or postfix op program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK COLON TRUNCATE TILDE ## +## Ends in an error in state: 267. ## Ends in an error in state: 260. ## ## indexes -> COLON lhs . [ RBRACK COMMA ] @@ -6553,6 +12424,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK COLON TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -6560,6 +12432,7 @@ Ill-formed phrase. Found ":" expression. We expect either an infix or postfix op program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK COLON WHILE ## +## Ends in an error in state: 99. ## Ends in an error in state: 92. ## ## indexes -> COLON . [ RBRACK COMMA ] @@ -6574,6 +12447,7 @@ Ill-formed expression. Expected expression or "]" or "," after ":". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK COMMA WHILE ## +## Ends in an error in state: 262. ## Ends in an error in state: 255. ## ## indexes -> indexes COMMA . indexes [ RBRACK COMMA ] @@ -6586,6 +12460,7 @@ Expected index after indices followed by ",". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK REALNUMERAL COLON WHILE ## +## Ends in an error in state: 253. ## Ends in an error in state: 246. ## ## indexes -> non_lhs COLON . [ RBRACK COMMA ] @@ -6601,6 +12476,9 @@ Ill-formed expression. Expected expression or "]" or "," after ":". program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TRUNCATE LBRACK COMMA RBRACK MULTIPLIER ## +## Ends in an error in state: 386. +## +## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 379. ## ## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -6613,6 +12491,7 @@ Expected ";" after "~"-statement (with optional truncation). program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TRUNCATE LBRACK COMMA TRUNCATE COMMA ## +## Ends in an error in state: 381. ## Ends in an error in state: 374. ## ## truncation -> TRUNCATE LBRACK option(expression) COMMA option(expression) . RBRACK [ SEMICOLON ] @@ -6624,6 +12503,8 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 384, spurious reduction of production option(expression) -> lhs ## In state 121, spurious reduction of production lhs -> identifier ## In state 377, spurious reduction of production option(expression) -> lhs ## @@ -6632,6 +12513,7 @@ Ill-formed truncation. Expect the format "T[" optional expression "," optional e program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TRUNCATE LBRACK COMMA WHILE ## +## Ends in an error in state: 380. ## Ends in an error in state: 373. ## ## truncation -> TRUNCATE LBRACK option(expression) COMMA . option(expression) RBRACK [ SEMICOLON ] @@ -6644,6 +12526,7 @@ Ill-formed truncation. Expect the format "T[" optional expression "," optional e program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TRUNCATE LBRACK REALNUMERAL WHILE ## +## Ends in an error in state: 383. ## Ends in an error in state: 376. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -6700,6 +12583,7 @@ Ill-formed expression. Found an expression. Expect a infix or postfix operator o program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TRUNCATE LBRACK TRUNCATE RBRACK ## +## Ends in an error in state: 379. ## Ends in an error in state: 372. ## ## truncation -> TRUNCATE LBRACK option(expression) . COMMA option(expression) RBRACK [ SEMICOLON ] @@ -6711,6 +12595,8 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 384, spurious reduction of production option(expression) -> lhs ## In state 121, spurious reduction of production lhs -> identifier ## In state 377, spurious reduction of production option(expression) -> lhs ## @@ -6719,6 +12605,7 @@ Ill-formed truncation. Expect the format "T[" optional expression "," optional e program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TRUNCATE LBRACK TRUNCATE TILDE ## +## Ends in an error in state: 384. ## Ends in an error in state: 377. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -6774,6 +12661,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -6781,6 +12669,7 @@ Ill-formed expression. Found an expression. Expect a infix or postfix operator o program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TRUNCATE LBRACK WHILE ## +## Ends in an error in state: 378. ## Ends in an error in state: 371. ## ## truncation -> TRUNCATE LBRACK . option(expression) COMMA option(expression) RBRACK [ SEMICOLON ] @@ -6793,6 +12682,7 @@ Ill-formed truncation. Expect the format "T[" optional expression "," optional e program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN TRUNCATE WHILE ## +## Ends in an error in state: 377. ## Ends in an error in state: 370. ## ## truncation -> TRUNCATE . LBRACK option(expression) COMMA option(expression) RBRACK [ SEMICOLON ] @@ -6805,6 +12695,9 @@ Ill-formed truncation. Expect the format "T[" optional expression "," optional e program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN RPAREN WHILE ## +## Ends in an error in state: 376. +## +## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 369. ## ## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -6817,6 +12710,9 @@ Ill-formed "~"-statement. Expect either ";" or a truncation with the format "T[" program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN TRUNCATE RBRACK ## +## Ends in an error in state: 375. +## +## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 368. ## ## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -6828,6 +12724,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN TRUNCATE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 238, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 130, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## In state 121, spurious reduction of production lhs -> identifier ## In state 231, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## In state 123, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) @@ -6837,6 +12736,9 @@ Ill-formed "~"-statement. Expect a comma separated list of expressions for argum program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE LPAREN WHILE ## +## Ends in an error in state: 374. +## +## atomic_statement -> non_lhs TILDE identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 367. ## ## atomic_statement -> non_lhs TILDE identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -6849,6 +12751,9 @@ Ill-formed "~"-statement. Expect a comma separated list of expressions for argum program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE TRUNCATE WHILE ## +## Ends in an error in state: 373. +## +## atomic_statement -> non_lhs TILDE identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 366. ## ## atomic_statement -> non_lhs TILDE identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -6861,6 +12766,9 @@ Ill-formed "~"-statement. Expect "(" after distribution name, followed by a comm program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE WHILE ## +## Ends in an error in state: 372. +## +## atomic_statement -> non_lhs TILDE . identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 365. ## ## atomic_statement -> non_lhs TILDE . identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -6873,6 +12781,9 @@ Ill-formed "~"-statement. Expect an distribution name after "~". program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN STRINGLITERAL WHILE ## +## Ends in an error in state: 302. +## +## atomic_statement -> REJECT LPAREN printables . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 295. ## ## atomic_statement -> REJECT LPAREN printables . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -6886,6 +12797,7 @@ Ill-formed printable. After "reject(", we expect a comma separated list of eithe program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN TRUNCATE COMMA STRINGLITERAL WHILE ## +## Ends in an error in state: 306. ## Ends in an error in state: 299. ## ## printables -> printables . COMMA printables [ RPAREN COMMA ] @@ -6899,6 +12811,7 @@ Ill-formed printable. After "print(" and "reject(", we expect a comma separated program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN TRUNCATE COMMA WHILE ## +## Ends in an error in state: 305. ## Ends in an error in state: 298. ## ## printables -> printables COMMA . printables [ RPAREN COMMA ] @@ -6911,6 +12824,9 @@ Ill-formed printable. After "print(" and "reject(", we expect a comma separated program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN TRUNCATE RPAREN WHILE ## +## Ends in an error in state: 303. +## +## atomic_statement -> REJECT LPAREN printables RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 296. ## ## atomic_statement -> REJECT LPAREN printables RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -6923,6 +12839,9 @@ Ill-formed reject statement. After "reject(", we expect a comma separated list o program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN WHILE ## +## Ends in an error in state: 299. +## +## atomic_statement -> REJECT LPAREN . printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 292. ## ## atomic_statement -> REJECT LPAREN . printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -6935,6 +12854,9 @@ Ill-formed reject statement. After "reject(", we expect a comma separated list o program: TRANSFORMEDDATABLOCK LBRACE REJECT WHILE ## +## Ends in an error in state: 298. +## +## atomic_statement -> REJECT . LPAREN printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 291. ## ## atomic_statement -> REJECT . LPAREN printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -6947,6 +12869,7 @@ Ill-formed reject statement. After "reject(", we expect a comma separated list o program: TRANSFORMEDDATABLOCK LBRACE RETURN LBRACE TRUNCATE RPAREN ## +## Ends in an error in state: 271. ## Ends in an error in state: 264. ## ## common_expression -> LBRACE separated_nonempty_list(COMMA,expression) . RBRACE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6958,6 +12881,8 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN LBRACE TRUNCATE RPAREN ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 238, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## In state 121, spurious reduction of production lhs -> identifier ## In state 231, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## @@ -6966,6 +12891,7 @@ Expected either "," followed by expression or "}" next. program: TRANSFORMEDDATABLOCK LBRACE RETURN LBRACE WHILE ## +## Ends in an error in state: 90. ## Ends in an error in state: 83. ## ## common_expression -> LBRACE . separated_nonempty_list(COMMA,expression) RBRACE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -6978,6 +12904,9 @@ Expression expected after "{" in array expression. program: TRANSFORMEDDATABLOCK LBRACE RETURN REALNUMERAL WHILE ## +## Ends in an error in state: 294. +## +## atomic_statement -> RETURN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 287. ## ## atomic_statement -> RETURN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7034,6 +12963,7 @@ Ill formed expression followed by ";". Expect expression after "return". program: TRANSFORMEDDATABLOCK LBRACE RETURN TARGET WHILE ## +## Ends in an error in state: 82. ## Ends in an error in state: 75. ## ## common_expression -> TARGET . LPAREN RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -7046,6 +12976,7 @@ Ill formed expression. After "target", we expect "()". program: TRANSFORMEDDATABLOCK LBRACE RETURN TRUNCATE LPAREN TRUNCATE COMMA IDENTIFIER RBRACK ## +## Ends in an error in state: 244. ## Ends in an error in state: 237. ## ## common_expression -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -7057,6 +12988,10 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN TRUNCATE LPAREN TRUNCATE COMMA IDENT ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 238, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 240, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs COMMA separated_nonempty_list(COMMA,expression) +## In state 130, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## In state 121, spurious reduction of production lhs -> identifier ## In state 231, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## In state 233, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs COMMA separated_nonempty_list(COMMA,expression) @@ -7067,6 +13002,7 @@ Ill-formed expression. In function application, expect comma-separated list of e program: TRANSFORMEDDATABLOCK LBRACE RETURN TRUNCATE LPAREN WHILE ## +## Ends in an error in state: 129. ## Ends in an error in state: 122. ## ## common_expression -> identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -7081,6 +13017,9 @@ Ill-formed expression. In function application, expect comma-separated list of e program: TRANSFORMEDDATABLOCK LBRACE RETURN TRUNCATE TILDE ## +## Ends in an error in state: 296. +## +## atomic_statement -> RETURN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 289. ## ## atomic_statement -> RETURN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7136,6 +13075,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -7143,6 +13083,7 @@ Ill-formed return statement. ";" or expression followed by ";" expected after "r program: TRANSFORMEDDATABLOCK LBRACE RETURN TRUNCATE WHILE ## +## Ends in an error in state: 128. ## Ends in an error in state: 121. ## ## common_expression -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -7158,6 +13099,11 @@ Ill-formed expression. Found identifier. There are many ways to complete this to program: TRANSFORMEDDATABLOCK LBRACE RETURN WHILE ## +## Ends in an error in state: 292. +## +## atomic_statement -> RETURN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> RETURN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> RETURN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 285. ## ## atomic_statement -> RETURN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7172,6 +13118,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN WHILE program: TRANSFORMEDDATABLOCK LBRACE TARGET LPAREN WHILE ## +## Ends in an error in state: 83. ## Ends in an error in state: 76. ## ## common_expression -> TARGET LPAREN . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -7184,6 +13131,9 @@ Ill-formed expression. Expected ")" after "target(". program: TRANSFORMEDDATABLOCK LBRACE TARGET PLUSASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 287. +## +## atomic_statement -> TARGET PLUSASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 280. ## ## atomic_statement -> TARGET PLUSASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7240,6 +13190,9 @@ Ill-formed expression. Expression followed by ";" expected after "target +=". program: TRANSFORMEDDATABLOCK LBRACE TARGET PLUSASSIGN TRUNCATE TILDE ## +## Ends in an error in state: 289. +## +## atomic_statement -> TARGET PLUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 282. ## ## atomic_statement -> TARGET PLUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7295,6 +13248,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TARGET PLUSASSIGN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -7302,6 +13256,10 @@ Ill-formed expression. Expression followed by ";" expected after "target +=". program: TRANSFORMEDDATABLOCK LBRACE TARGET PLUSASSIGN WHILE ## +## Ends in an error in state: 286. +## +## atomic_statement -> TARGET PLUSASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> TARGET PLUSASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 279. ## ## atomic_statement -> TARGET PLUSASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7315,6 +13273,10 @@ Expected an expression followed by a ";", after "target +=". program: TRANSFORMEDDATABLOCK LBRACE TARGET WHILE ## +## Ends in an error in state: 285. +## +## atomic_statement -> TARGET . PLUSASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> TARGET . PLUSASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 278. ## ## atomic_statement -> TARGET . PLUSASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7329,6 +13291,9 @@ Ill-formed phrase. Expect either "+=" or "()" after "target". program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ARROWASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 433. +## +## atomic_statement -> lhs ARROWASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 426. ## ## atomic_statement -> lhs ARROWASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7385,6 +13350,9 @@ Ill-formed phrase. Found L-value "<-" expression. There are many ways in which t program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ARROWASSIGN TRUNCATE TILDE ## +## Ends in an error in state: 435. +## +## atomic_statement -> lhs ARROWASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 428. ## ## atomic_statement -> lhs ARROWASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7440,6 +13408,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ARROWASSIGN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -7447,6 +13416,10 @@ Ill-formed phrase. Found L-value "<-" expression. There are many ways in which t program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ARROWASSIGN WHILE ## +## Ends in an error in state: 432. +## +## atomic_statement -> lhs ARROWASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ARROWASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 425. ## ## atomic_statement -> lhs ARROWASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7460,6 +13433,9 @@ Ill-formed expression. Found L-value "<-". Expect an expression followed by ";" program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 428. +## +## atomic_statement -> lhs ASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 421. ## ## atomic_statement -> lhs ASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7516,6 +13492,9 @@ Ill-formed phrase. Found L-value "=" expression. There are many ways in which th program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ASSIGN TRUNCATE TILDE ## +## Ends in an error in state: 430. +## +## atomic_statement -> lhs ASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 423. ## ## atomic_statement -> lhs ASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7571,6 +13550,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ASSIGN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -7578,6 +13558,10 @@ Ill-formed phrase. Found L-value "=" expression. There are many ways in which th program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ASSIGN WHILE ## +## Ends in an error in state: 427. +## +## atomic_statement -> lhs ASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 420. ## ## atomic_statement -> lhs ASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7591,6 +13575,9 @@ Ill-formed expression. Found L-value "=". Expect an expression followed by ";" n program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE DIVIDEASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 423. +## +## atomic_statement -> lhs DIVIDEASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 416. ## ## atomic_statement -> lhs DIVIDEASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7647,6 +13634,9 @@ Ill-formed phrase. Found L-value "/=" expression. There are many ways in which t program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE DIVIDEASSIGN TRUNCATE TILDE ## +## Ends in an error in state: 425. +## +## atomic_statement -> lhs DIVIDEASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 418. ## ## atomic_statement -> lhs DIVIDEASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7702,6 +13692,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE DIVIDEASSIGN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -7709,6 +13700,10 @@ Ill-formed phrase. Found L-value "/=" expression. There are many ways in which t program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE DIVIDEASSIGN WHILE ## +## Ends in an error in state: 422. +## +## atomic_statement -> lhs DIVIDEASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs DIVIDEASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 415. ## ## atomic_statement -> lhs DIVIDEASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7722,6 +13717,9 @@ Ill-formed expression. Found L-value "/=". Expect an expression followed by ";" program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTDIVIDEASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 418. +## +## atomic_statement -> lhs ELTDIVIDEASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 411. ## ## atomic_statement -> lhs ELTDIVIDEASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7778,6 +13776,9 @@ Ill-formed phrase. Found L-value "./=" expression. There are many ways in which program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTDIVIDEASSIGN TRUNCATE TILDE ## +## Ends in an error in state: 420. +## +## atomic_statement -> lhs ELTDIVIDEASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 413. ## ## atomic_statement -> lhs ELTDIVIDEASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7833,6 +13834,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTDIVIDEASSIGN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -7840,6 +13842,10 @@ Ill-formed phrase. Found L-value "./=" expression. There are many ways in which program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTDIVIDEASSIGN WHILE ## +## Ends in an error in state: 417. +## +## atomic_statement -> lhs ELTDIVIDEASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ELTDIVIDEASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 410. ## ## atomic_statement -> lhs ELTDIVIDEASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7853,6 +13859,9 @@ Ill-formed expression. Found L-value "./=". Expect an expression followed by ";" program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTTIMESASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 413. +## +## atomic_statement -> lhs ELTTIMESASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 406. ## ## atomic_statement -> lhs ELTTIMESASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7909,6 +13918,9 @@ Ill-formed phrase. Found L-value ".*=" expression. There are many ways in which program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTTIMESASSIGN TRUNCATE TILDE ## +## Ends in an error in state: 415. +## +## atomic_statement -> lhs ELTTIMESASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 408. ## ## atomic_statement -> lhs ELTTIMESASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -7964,6 +13976,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE ELTTIMESASSIGN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -7971,6 +13984,7 @@ Ill-formed phrase. Found L-value ".*=" expression. There are many ways in which program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN REALNUMERAL BAR TRUNCATE RBRACK ## +## Ends in an error in state: 242. ## Ends in an error in state: 235. ## ## common_expression -> identifier LPAREN non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -7982,6 +13996,9 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN REALNUMERAL BAR TRUNCATE RB ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 238, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 130, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## In state 121, spurious reduction of production lhs -> identifier ## In state 231, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## In state 123, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) @@ -7991,6 +14008,7 @@ Ill-formed conditional distribution evaluation. Expect comma-separated list of e program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN REALNUMERAL BAR WHILE ## +## Ends in an error in state: 241. ## Ends in an error in state: 234. ## ## common_expression -> identifier LPAREN non_lhs BAR . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -8003,6 +14021,7 @@ Ill-formed conditional distribution evaluation. Expect comma-separated list of e program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN REALNUMERAL WHILE ## +## Ends in an error in state: 131. ## Ends in an error in state: 124. ## ## common_expression -> identifier LPAREN non_lhs . BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -8061,6 +14080,9 @@ Ill-formed function application. Expect comma-separated list of expressions foll program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN RPAREN WHILE ## +## Ends in an error in state: 440. +## +## atomic_statement -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 433. ## ## atomic_statement -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8074,6 +14096,7 @@ Ill-formed phrase. Found a well-formed function application. After this, there a program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN TRUNCATE BAR TRUNCATE RBRACK ## +## Ends in an error in state: 248. ## Ends in an error in state: 241. ## ## common_expression -> identifier LPAREN lhs BAR loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -8085,6 +14108,9 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN TRUNCATE BAR TRUNCATE RBRAC ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 238, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 130, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## In state 121, spurious reduction of production lhs -> identifier ## In state 231, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## In state 123, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) @@ -8094,6 +14120,7 @@ Ill-formed conditional distribution evaluation. Expect comma-separated list of e program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN TRUNCATE BAR WHILE ## +## Ends in an error in state: 247. ## Ends in an error in state: 240. ## ## common_expression -> identifier LPAREN lhs BAR . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -8106,6 +14133,9 @@ Ill-formed conditional distribution evaluation. Expect comma-separated list of e program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN TRUNCATE COMMA IDENTIFIER RBRACK ## +## Ends in an error in state: 439. +## +## atomic_statement -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 432. ## ## atomic_statement -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8118,6 +14148,10 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN TRUNCATE COMMA IDENTIFIER R ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 238, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 240, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs COMMA separated_nonempty_list(COMMA,expression) +## In state 130, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## In state 121, spurious reduction of production lhs -> identifier ## In state 231, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## In state 233, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs COMMA separated_nonempty_list(COMMA,expression) @@ -8128,6 +14162,7 @@ Ill-formed function application. Expect comma-separated list of expressions foll program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN TRUNCATE TILDE ## +## Ends in an error in state: 246. ## Ends in an error in state: 239. ## ## common_expression -> identifier LPAREN lhs . BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -8185,6 +14220,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -8192,6 +14228,9 @@ Ill-formed function application. Expect comma-separated list of expressions foll program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE LPAREN WHILE ## +## Ends in an error in state: 438. +## +## atomic_statement -> identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 431. ## ## atomic_statement -> identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8207,6 +14246,9 @@ Ill-formed function application. Expect comma-separated list of expressions foll program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE MINUSASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 408. +## +## atomic_statement -> lhs MINUSASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 401. ## ## atomic_statement -> lhs MINUSASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8263,6 +14305,9 @@ Ill-formed phrase. Found L-value "-=" expression. There are many ways in which t program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE MINUSASSIGN TRUNCATE TILDE ## +## Ends in an error in state: 410. +## +## atomic_statement -> lhs MINUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 403. ## ## atomic_statement -> lhs MINUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8318,6 +14363,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE MINUSASSIGN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -8325,6 +14371,10 @@ Ill-formed phrase. Found L-value "-=" expression. There are many ways in which t program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE MINUSASSIGN WHILE ## +## Ends in an error in state: 407. +## +## atomic_statement -> lhs MINUSASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs MINUSASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 400. ## ## atomic_statement -> lhs MINUSASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8338,6 +14388,9 @@ Ill-formed expression. Found L-value "-=". Expect an expression followed by ";" program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE PLUSASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 403. +## +## atomic_statement -> lhs PLUSASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 396. ## ## atomic_statement -> lhs PLUSASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8394,6 +14447,9 @@ Ill-formed phrase. Found L-value "+=" expression. There are many ways in which t program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE PLUSASSIGN TRUNCATE TILDE ## +## Ends in an error in state: 405. +## +## atomic_statement -> lhs PLUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 398. ## ## atomic_statement -> lhs PLUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8449,6 +14505,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE PLUSASSIGN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -8456,6 +14513,10 @@ Ill-formed phrase. Found L-value "+=" expression. There are many ways in which t program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE PLUSASSIGN WHILE ## +## Ends in an error in state: 402. +## +## atomic_statement -> lhs PLUSASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs PLUSASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 395. ## ## atomic_statement -> lhs PLUSASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8469,6 +14530,27 @@ Ill-formed expression. Found L-value "+=". Expect an expression followed by ";" program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE RBRACE ## +## Ends in an error in state: 723. +## +## atomic_statement -> lhs . ASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ARROWASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ARROWASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . PLUSASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . PLUSASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . MINUSASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . MINUSASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . TIMESASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . TIMESASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . DIVIDEASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . DIVIDEASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTTIMESASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTTIMESASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTDIVIDEASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTDIVIDEASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(top_var_type,expression) -> lhs . top_var_type separated_nonempty_list(COMMA,id_and_optional_assignment(expression)) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## lhs -> lhs . LBRACK indexes RBRACK [ VECTOR UNITVECTOR TRANSPOSE TIMESASSIGN TIMES TILDE SIMPLEX ROWVECTOR REAL RABRACK QMARK POSITIVEORDERED PLUSASSIGN PLUS ORDERED OR NEQUALS MODULO MINUSASSIGN MINUS MATRIX LEQ LDIVIDE LBRACK LABRACK INT IDIVIDE HAT GEQ EQUALS ELTTIMESASSIGN ELTTIMES ELTPOW ELTDIVIDEASSIGN ELTDIVIDE DIVIDEASSIGN DIVIDE COVMATRIX CORRMATRIX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ASSIGN ARROWASSIGN AND ] ## Ends in an error in state: 709. ## ## atomic_statement -> lhs . ASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8541,6 +14623,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE RBRACE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 437, spurious reduction of production lhs -> identifier ## In state 430, spurious reduction of production lhs -> identifier ## @@ -8548,6 +14631,9 @@ Ill-formed phrase. Found L-value. This can be completed in many ways. program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TILDE TRUNCATE LPAREN RPAREN TRUNCATE LBRACK COMMA RBRACK MULTIPLIER ## +## Ends in an error in state: 400. +## +## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 393. ## ## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8560,6 +14646,9 @@ Ill-formed "~"-statement. Expected ";". program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TILDE TRUNCATE LPAREN RPAREN WHILE ## +## Ends in an error in state: 399. +## +## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 392. ## ## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8572,6 +14661,9 @@ Ill-formed "~"-statement. Expected ";" or "T[" optional expression "," optional program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TILDE TRUNCATE LPAREN TRUNCATE RBRACK ## +## Ends in an error in state: 398. +## +## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 391. ## ## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8583,6 +14675,9 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TILDE TRUNCATE LPAREN TRUNCATE RBR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 238, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 130, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## In state 121, spurious reduction of production lhs -> identifier ## In state 231, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## In state 123, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) @@ -8592,6 +14687,9 @@ Ill-formed "~"-statement. Expected "," or ")". program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TILDE TRUNCATE LPAREN WHILE ## +## Ends in an error in state: 397. +## +## atomic_statement -> lhs TILDE identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 390. ## ## atomic_statement -> lhs TILDE identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8604,6 +14702,9 @@ Ill-formed "~"-statement. Expected comma-separated list of expressions followed program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TILDE TRUNCATE WHILE ## +## Ends in an error in state: 396. +## +## atomic_statement -> lhs TILDE identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 389. ## ## atomic_statement -> lhs TILDE identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8616,6 +14717,9 @@ Ill-formed "~"-statement. Expected "(" followed by a comma-separated list of exp program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TILDE WHILE ## +## Ends in an error in state: 395. +## +## atomic_statement -> lhs TILDE . identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 388. ## ## atomic_statement -> lhs TILDE . identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8628,6 +14732,9 @@ Ill-formed "~"-statement. Expected identifier for distribution name after "~". program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TIMESASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 391. +## +## atomic_statement -> lhs TIMESASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 384. ## ## atomic_statement -> lhs TIMESASSIGN non_lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8684,6 +14791,9 @@ Ill-formed phrase. Found L-value "*=" expression. There are many ways in which t program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TIMESASSIGN TRUNCATE TILDE ## +## Ends in an error in state: 393. +## +## atomic_statement -> lhs TIMESASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 386. ## ## atomic_statement -> lhs TIMESASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8739,6 +14849,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TIMESASSIGN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -8746,6 +14857,10 @@ Ill-formed phrase. Found L-value "*=" expression. There are many ways in which t program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE TIMESASSIGN WHILE ## +## Ends in an error in state: 390. +## +## atomic_statement -> lhs TIMESASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs TIMESASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 383. ## ## atomic_statement -> lhs TIMESASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8759,6 +14874,9 @@ Ill-formed expression. Found L-value "*=". Expect an expression followed by ";" program: TRANSFORMEDDATABLOCK LBRACE TRUNCATE WHILE ## +## Ends in an error in state: 437. +## +## atomic_statement -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 430. ## ## atomic_statement -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8775,6 +14893,10 @@ Ill-formed statement or expression. A statement or expression could be expected program: TRANSFORMEDDATABLOCK LBRACE VECTOR LBRACK INTNUMERAL RBRACK HAT ## +## Ends in an error in state: 713. +## +## decl(top_var_type,expression) -> top_var_type . decl_identifier dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(top_var_type,expression) -> top_var_type . separated_nonempty_list(COMMA,id_and_optional_assignment(expression)) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 699. ## ## decl(top_var_type,expression) -> top_var_type . decl_identifier dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8788,6 +14910,7 @@ Ill-formed top-level variable declaration. Expect an identifier next. program: TRANSFORMEDDATABLOCK LBRACE VOID ## +## Ends in an error in state: 711. ## Ends in an error in state: 697. ## ## transformed_data_block -> TRANSFORMEDDATABLOCK LBRACE . list(top_vardecl_or_statement) RBRACE [ TRANSFORMEDPARAMETERSBLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] @@ -8800,6 +14923,9 @@ Expect a statement or top-level variable declaration. program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN REALNUMERAL RPAREN VOID ## +## Ends in an error in state: 284. +## +## nested_statement -> WHILE LPAREN non_lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 277. ## ## nested_statement -> WHILE LPAREN non_lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8812,6 +14938,9 @@ Ill-formed statement. We expect a statement after ")", for the body of the while program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN REALNUMERAL WHILE ## +## Ends in an error in state: 283. +## +## nested_statement -> WHILE LPAREN non_lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 276. ## ## nested_statement -> WHILE LPAREN non_lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8868,6 +14997,9 @@ Ill-formed expression. We expect an expression after "(" for the test of the whi program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN TRUNCATE RPAREN VOID ## +## Ends in an error in state: 517. +## +## nested_statement -> WHILE LPAREN lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 498. ## ## nested_statement -> WHILE LPAREN lhs RPAREN . statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8880,6 +15012,10 @@ Ill-formed statement. We expect a statement after ")", for the body of the while program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN TRUNCATE TILDE ## +## Ends in an error in state: 516. +## +## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## nested_statement -> WHILE LPAREN lhs . RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 497. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -8935,6 +15071,7 @@ program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN TRUNCATE TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier ## In state 121, spurious reduction of production lhs -> identifier ## @@ -8942,6 +15079,10 @@ Ill-formed expression. We expect an expression after "(" for the test of the whi program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN WHILE ## +## Ends in an error in state: 81. +## +## nested_statement -> WHILE LPAREN . lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> WHILE LPAREN . non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 74. ## ## nested_statement -> WHILE LPAREN . lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8955,6 +15096,10 @@ Ill-formed expression. We expect an expression after "(" for the test of the whi program: TRANSFORMEDDATABLOCK LBRACE WHILE WHILE ## +## Ends in an error in state: 80. +## +## nested_statement -> WHILE . LPAREN lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> WHILE . LPAREN non_lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 73. ## ## nested_statement -> WHILE . LPAREN lhs RPAREN statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -8968,6 +15113,7 @@ After "while", we expect "(" expression ")" statement. program: TRANSFORMEDDATABLOCK WHILE ## +## Ends in an error in state: 710. ## Ends in an error in state: 696. ## ## transformed_data_block -> TRANSFORMEDDATABLOCK . LBRACE list(top_vardecl_or_statement) RBRACE [ TRANSFORMEDPARAMETERSBLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] @@ -8980,6 +15126,7 @@ We expect "{" after "transformed data". program: TRANSFORMEDPARAMETERSBLOCK LBRACE RBRACE ELTTIMESASSIGN ## +## Ends in an error in state: 744. ## Ends in an error in state: 729. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) . option(model_block) option(generated_quantities_block) EOF [ # ] @@ -8992,6 +15139,7 @@ program: TRANSFORMEDPARAMETERSBLOCK LBRACE RBRACE ELTTIMESASSIGN program: TRANSFORMEDPARAMETERSBLOCK LBRACE VOID ## +## Ends in an error in state: 740. ## Ends in an error in state: 725. ## ## transformed_parameters_block -> TRANSFORMEDPARAMETERSBLOCK LBRACE . list(top_vardecl_or_statement) RBRACE [ MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] @@ -9004,6 +15152,7 @@ Expect a statement or top-level variable declaration. program: TRANSFORMEDPARAMETERSBLOCK WHILE ## +## Ends in an error in state: 739. ## Ends in an error in state: 724. ## ## transformed_parameters_block -> TRANSFORMEDPARAMETERSBLOCK . LBRACE list(top_vardecl_or_statement) RBRACE [ MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] @@ -9016,6 +15165,9 @@ We expect "{" after "transformed parameters". program: MODELBLOCK LBRACE REAL TRUNCATE LBRACK TRUNCATE RBRACK ARROWASSIGN ## +## Ends in an error in state: 499. +## +## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier dims . optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] ## Ends in an error in state: 481. ## ## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier dims . optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR CONTINUE COMPLEX BREAK BANG ARRAY ] @@ -9028,6 +15180,7 @@ Expected ";" or assignment. program: DATABLOCK LBRACE REAL TRUNCATE LBRACK IDENTIFIER RBRACK WHILE ## +## Ends in an error in state: 696. ## Ends in an error in state: 682. ## ## decl(top_var_type,no_assign) -> top_var_type decl_identifier dims . optional_assignment(no_assign) SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] @@ -9040,6 +15193,9 @@ Expected ";". program: TRANSFORMEDDATABLOCK LBRACE REAL TRUNCATE LBRACK IDENTIFIER RBRACK ARROWASSIGN ## +## Ends in an error in state: 717. +## +## decl(top_var_type,expression) -> top_var_type decl_identifier dims . optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 703. ## ## decl(top_var_type,expression) -> top_var_type decl_identifier dims . optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -9052,6 +15208,7 @@ Expected ";" or assignment. program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 548. ## Ends in an error in state: 532. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -9078,6 +15235,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN REALNUMERAL WHILE program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA WHILE ## +## Ends in an error in state: 567. ## Ends in an error in state: 551. ## ## range -> UPPER ASSIGN constr_expression COMMA . LOWER ASSIGN constr_expression [ RABRACK ] @@ -9090,6 +15248,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA WHILE program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA LOWER WHILE ## +## Ends in an error in state: 568. ## Ends in an error in state: 552. ## ## range -> UPPER ASSIGN constr_expression COMMA LOWER . ASSIGN constr_expression [ RABRACK ] @@ -9102,6 +15261,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA LOWER WHILE program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA LOWER ASSIGN WHILE ## +## Ends in an error in state: 569. ## Ends in an error in state: 553. ## ## range -> UPPER ASSIGN constr_expression COMMA LOWER ASSIGN . constr_expression [ RABRACK ] @@ -9114,6 +15274,7 @@ Numerical expression expected after '=' in a lower expression. program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA LOWER ASSIGN TRUNCATE COMMA ## +## Ends in an error in state: 570. ## Ends in an error in state: 554. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] @@ -9138,6 +15299,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN TRUNCATE COMMA LOWER ASSIG ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 535, spurious reduction of production constr_expression -> identifier ## In state 519, spurious reduction of production constr_expression -> identifier ## @@ -9145,6 +15307,7 @@ Expected '>' after lower expression. program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN REALNUMERAL WHILE ## +## Ends in an error in state: 580. ## Ends in an error in state: 564. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -9171,6 +15334,7 @@ Expected '>' after multiplier expression. program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN TRUNCATE COMMA WHILE ## +## Ends in an error in state: 581. ## Ends in an error in state: 565. ## ## offset_mult -> MULTIPLIER ASSIGN constr_expression COMMA . OFFSET ASSIGN constr_expression [ RABRACK ] @@ -9183,6 +15347,7 @@ Expected '>' or offset expression after multiplier expression. program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN TRUNCATE COMMA OFFSET WHILE ## +## Ends in an error in state: 582. ## Ends in an error in state: 566. ## ## offset_mult -> MULTIPLIER ASSIGN constr_expression COMMA OFFSET . ASSIGN constr_expression [ RABRACK ] @@ -9195,6 +15360,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN TRUNCATE COMMA OFFSET program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN TRUNCATE COMMA OFFSET ASSIGN WHILE ## +## Ends in an error in state: 583. ## Ends in an error in state: 567. ## ## offset_mult -> MULTIPLIER ASSIGN constr_expression COMMA OFFSET ASSIGN . constr_expression [ RABRACK ] @@ -9207,6 +15373,7 @@ Numerical expression expected after '=' in a multiplier expression. program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN TRUNCATE COMMA OFFSET ASSIGN TRUNCATE COMMA ## +## Ends in an error in state: 584. ## Ends in an error in state: 568. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] @@ -9231,6 +15398,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN TRUNCATE COMMA OFFSET ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 535, spurious reduction of production constr_expression -> identifier ## In state 519, spurious reduction of production constr_expression -> identifier ## @@ -9238,6 +15406,10 @@ Expected '>' after multiplier expression. program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN UPPER RPAREN SEMICOLON UNREACHABLE ## +## Ends in an error in state: 465. +## +## nested_statement -> IF LPAREN lhs RPAREN statement . ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN lhs RPAREN statement . [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 458. ## ## nested_statement -> IF LPAREN lhs RPAREN statement . ELSE statement [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -9250,8 +15422,30 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN UPPER RPAREN SEMICOLON UNREACHABL 'if (cond)' should be followed by '{' and statements to execute if true. program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN UPPER IDIVIDE REALNUMERAL WHILE +## +## Ends in an error in state: 554. +## +## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . DIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . IDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression IDIVIDE constr_expression . [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . MODULO constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTTIMES constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTDIVIDE constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . HAT constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . ELTPOW constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . TRANSPOSE [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## constr_expression -> constr_expression . LBRACK indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] +## +## The known suffix of the stack is as follows: +## constr_expression IDIVIDE constr_expression +## program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN UPPER ELTPOW REALNUMERAL WHILE ## +## Ends in an error in state: 544. ## Ends in an error in state: 528. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -9278,6 +15472,7 @@ Missing an ">"? Constraints on a vector declaration should be of the form program: TRANSFORMEDDATABLOCK LBRACE UPPER LBRACK WHILE ## +## Ends in an error in state: 111. ## Ends in an error in state: 104. ## ## lhs -> lhs LBRACK . indexes RBRACK [ VECTOR UNITVECTOR TRANSPOSE TIMESASSIGN TIMES TILDE SIMPLEX SEMICOLON RPAREN ROWVECTOR REAL RBRACK RBRACE RABRACK QMARK POSITIVEORDERED PLUSASSIGN PLUS ORDERED OR NEQUALS MODULO MINUSASSIGN MINUS MATRIX LEQ LDIVIDE LBRACK LABRACK INT IDIVIDE HAT GEQ EQUALS ELTTIMESASSIGN ELTTIMES ELTPOW ELTDIVIDEASSIGN ELTDIVIDE DIVIDEASSIGN DIVIDE COVMATRIX CORRMATRIX COMPLEX COMMA COLON CHOLESKYFACTORCOV CHOLESKYFACTORCORR BAR ASSIGN ARROWASSIGN AND ] @@ -9292,8 +15487,17 @@ not var[for (n in 1:N) ...] program: FUNCTIONBLOCK LBRACE ARRAY WHILE +## +## Ends in an error in state: 9. +## +## unsized_type -> ARRAY . always(unsized_dims) basic_type [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LPAREN LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## +## The known suffix of the stack is as follows: +## ARRAY +## program: DATABLOCK LBRACE ARRAY WHILE ## +## Ends in an error in state: 701. ## Ends in an error in state: 687. ## ## decl(top_var_type,no_assign) -> lhs . top_var_type separated_nonempty_list(COMMA,id_and_optional_assignment(no_assign)) SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] @@ -9310,24 +15514,128 @@ Invalid type in declaration. Valid types: optionally preceded by a single array[...] program: TRANSFORMEDDATABLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK REAL UPPER WHILE +## +## Ends in an error in state: 489. +## +## id_and_optional_assignment(expression) -> decl_identifier . optional_assignment(expression) [ SEMICOLON COMMA ] +## +## The known suffix of the stack is as follows: +## decl_identifier +## program: DATABLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK REAL UPPER WHILE +## +## Ends in an error in state: 689. +## +## id_and_optional_assignment(no_assign) -> decl_identifier . optional_assignment(no_assign) [ SEMICOLON COMMA ] +## +## The known suffix of the stack is as follows: +## decl_identifier +## program: MODELBLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK WHILE +## +## Ends in an error in state: 503. +## +## atomic_statement -> lhs . ASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ARROWASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ARROWASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . PLUSASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . PLUSASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . MINUSASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . MINUSASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . TIMESASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . TIMESASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . DIVIDEASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . DIVIDEASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTTIMESASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTTIMESASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTDIVIDEASSIGN lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTDIVIDEASSIGN non_lhs SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## atomic_statement -> lhs . TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## decl(sized_basic_type,expression) -> lhs . sized_basic_type separated_nonempty_list(COMMA,id_and_optional_assignment(expression)) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## lhs -> lhs . LBRACK indexes RBRACK [ VECTOR TRANSPOSE TIMESASSIGN TIMES TILDE ROWVECTOR REAL RABRACK QMARK PLUSASSIGN PLUS OR NEQUALS MODULO MINUSASSIGN MINUS MATRIX LEQ LDIVIDE LBRACK LABRACK INT IDIVIDE HAT GEQ EQUALS ELTTIMESASSIGN ELTTIMES ELTPOW ELTDIVIDEASSIGN ELTDIVIDE DIVIDEASSIGN DIVIDE ASSIGN ARROWASSIGN AND ] +## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . QMARK non_lhs COLON non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . PLUS lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . PLUS non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . MINUS lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . MINUS non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . TIMES lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . TIMES non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . DIVIDE lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . DIVIDE non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . IDIVIDE lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . IDIVIDE non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . MODULO lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . MODULO non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . LDIVIDE lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . LDIVIDE non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . ELTTIMES lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . ELTTIMES non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . ELTDIVIDE lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . ELTDIVIDE non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . HAT lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . HAT non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . ELTPOW lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . ELTPOW non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . OR lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . OR non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . AND lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . AND non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . EQUALS lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . EQUALS non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . NEQUALS lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . NEQUALS non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . LABRACK lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . LABRACK non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . LEQ lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . LEQ non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . RABRACK lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . RABRACK non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . GEQ lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . GEQ non_lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## non_lhs -> lhs . TRANSPOSE [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] +## +## The known suffix of the stack is as follows: +## lhs +## program: FUNCTIONBLOCK LBRACE ARRAY LBRACK RBRACK WHILE ## ## Ends in an error in state: 17. ## +## unsized_type -> ARRAY always(unsized_dims) . basic_type [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LPAREN LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## unsized_type -> ARRAY always(unsized_dims) . basic_type [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## ## The known suffix of the stack is as follows: ## ARRAY always(unsized_dims) ## -Expected non-array type after array in return type. +Expected non-array type after array in return type. (Local function definition requires 'function' keyword.) program: DATABLOCK LBRACE REAL UPPER ASSIGN WHILE +## +## Ends in an error in state: 690. +## +## option(pair(ASSIGN,no_assign)) -> ASSIGN . no_assign [ SEMICOLON COMMA ] +## +## The known suffix of the stack is as follows: +## ASSIGN +## program: DATABLOCK LBRACE REAL UPPER ASSIGN UNREACHABLE WHILE +## +## Ends in an error in state: 686. +## +## separated_nonempty_list(COMMA,id_and_optional_assignment(no_assign)) -> id_and_optional_assignment(no_assign) . [ SEMICOLON ] +## separated_nonempty_list(COMMA,id_and_optional_assignment(no_assign)) -> id_and_optional_assignment(no_assign) . COMMA separated_nonempty_list(COMMA,id_and_optional_assignment(no_assign)) [ SEMICOLON ] +## +## The known suffix of the stack is as follows: +## id_and_optional_assignment(no_assign) +## program: DATABLOCK LBRACE REAL UPPER LBRACK IDENTIFIER RBRACK ASSIGN UNREACHABLE WHILE ## +## Ends in an error in state: 697. ## Ends in an error in state: 683. ## ## decl(top_var_type,no_assign) -> top_var_type decl_identifier dims optional_assignment(no_assign) . SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] @@ -9340,10 +15648,53 @@ Cannot assign to variables in the `data` or `parameters` blocks; expected ';' after variable declaration. program: MODELBLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK REAL UNREACHABLE +## +## Ends in an error in state: 504. +## +## decl(sized_basic_type,expression) -> lhs sized_basic_type . separated_nonempty_list(COMMA,id_and_optional_assignment(expression)) SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] +## +## The known suffix of the stack is as follows: +## lhs sized_basic_type +## program: DATABLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK VECTOR LBRACK INTNUMERAL RBRACK AND +## +## Ends in an error in state: 702. +## +## decl(top_var_type,no_assign) -> lhs top_var_type . separated_nonempty_list(COMMA,id_and_optional_assignment(no_assign)) SEMICOLON [ VECTOR UPPER UNITVECTOR TRUNCATE SIMPLEX ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED OFFSET MULTIPLIER MATRIX LOWER INT IDENTIFIER COVMATRIX CORRMATRIX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] +## +## The known suffix of the stack is as follows: +## lhs top_var_type +## program: TRANSFORMEDDATABLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK VECTOR LBRACK INTNUMERAL RBRACK AND +## +## Ends in an error in state: 724. +## +## decl(top_var_type,expression) -> lhs top_var_type . separated_nonempty_list(COMMA,id_and_optional_assignment(expression)) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## +## The known suffix of the stack is as follows: +## lhs top_var_type +## program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN UPPER RPAREN UPPER VECTOR ## +## Ends in an error in state: 389. +## +## atomic_statement -> lhs . ASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ARROWASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ARROWASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . PLUSASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . PLUSASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . MINUSASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . MINUSASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . TIMESASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . TIMESASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . DIVIDEASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . DIVIDEASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTTIMESASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTTIMESASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTDIVIDEASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTDIVIDEASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 382. ## ## atomic_statement -> lhs . ASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -9415,14 +15766,24 @@ program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN UPPER RPAREN UPPER VECTOR ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 437, spurious reduction of production lhs -> identifier ## In state 430, spurious reduction of production lhs -> identifier ## Expected identifier after type in declaration. program: DATABLOCK LBRACE REAL UPPER COMMA UNREACHABLE +## +## Ends in an error in state: 687. +## +## separated_nonempty_list(COMMA,id_and_optional_assignment(no_assign)) -> id_and_optional_assignment(no_assign) COMMA . separated_nonempty_list(COMMA,id_and_optional_assignment(no_assign)) [ SEMICOLON ] +## +## The known suffix of the stack is as follows: +## id_and_optional_assignment(no_assign) COMMA +## program: MODELBLOCK LBRACE REAL UPPER COMMA UNREACHABLE ## +## Ends in an error in state: 487. ## Ends in an error in state: 469. ## ## separated_nonempty_list(COMMA,id_and_optional_assignment(expression)) -> id_and_optional_assignment(expression) COMMA . separated_nonempty_list(COMMA,id_and_optional_assignment(expression)) [ SEMICOLON ] @@ -9434,8 +15795,27 @@ program: MODELBLOCK LBRACE REAL UPPER COMMA UNREACHABLE Expected identifier after comma in multiple declaration. program: TRANSFORMEDDATABLOCK LBRACE REAL UPPER LBRACK ARRAY RBRACK ASSIGN ARRAY COMMA +## +## Ends in an error in state: 718. +## +## decl(top_var_type,expression) -> top_var_type decl_identifier dims optional_assignment(expression) . SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## +## The known suffix of the stack is as follows: +## top_var_type decl_identifier dims optional_assignment(expression) +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 492, spurious reduction of production option(pair(ASSIGN,expression)) -> ASSIGN lhs +## In state 494, spurious reduction of production optional_assignment(expression) -> option(pair(ASSIGN,expression)) +## program: MODELBLOCK LBRACE REAL UPPER LBRACK UPPER RBRACK ASSIGN ARRAY COMMA ## +## Ends in an error in state: 500. +## +## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier dims optional_assignment(expression) . SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR CONTINUE BREAK BANG ARRAY ] ## Ends in an error in state: 482. ## ## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier dims optional_assignment(expression) . SEMICOLON [ WHILE VECTOR UPPER TRUNCATE TARGET SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT PLUS OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR CONTINUE COMPLEX BREAK BANG ARRAY ] @@ -9447,6 +15827,9 @@ program: MODELBLOCK LBRACE REAL UPPER LBRACK UPPER RBRACK ASSIGN ARRAY COMMA ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). +## In state 128, spurious reduction of production lhs -> identifier +## In state 492, spurious reduction of production option(pair(ASSIGN,expression)) -> ASSIGN lhs +## In state 494, spurious reduction of production optional_assignment(expression) -> option(pair(ASSIGN,expression)) ## In state 121, spurious reduction of production lhs -> identifier ## In state 474, spurious reduction of production option(pair(ASSIGN,expression)) -> ASSIGN lhs ## In state 476, spurious reduction of production optional_assignment(expression) -> option(pair(ASSIGN,expression)) @@ -9455,8 +15838,148 @@ program: MODELBLOCK LBRACE REAL UPPER LBRACK UPPER RBRACK ASSIGN ARRAY COMMA Multiple declarations are not allowed when array dimensions are given in TYPE IDENTIFIER[DIMENSIONS] form. When all declarations share array dimensions, use 'array[DIMENSIONS] TYPE IDENTIFIER' form, otherwise use separate declarations. +program: TRANSFORMEDDATABLOCK LBRACE FUNCTION WHILE +## +## Ends in an error in state: 468. +## +## closure_def -> FUNCTION . return_type decl_identifier LPAREN loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN statement [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## +## The known suffix of the stack is as follows: +## FUNCTION +## + +Expected function definition. + +program: TRANSFORMEDDATABLOCK LBRACE FUNCTION VOID UNREACHABLE +## +## Ends in an error in state: 469. +## +## closure_def -> FUNCTION return_type . decl_identifier LPAREN loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN statement [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## +## The known suffix of the stack is as follows: +## FUNCTION return_type +## + +Expected function definition. + +program: TRANSFORMEDDATABLOCK LBRACE FUNCTION VOID UPPER WHILE +## +## Ends in an error in state: 470. +## +## closure_def -> FUNCTION return_type decl_identifier . LPAREN loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN statement [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## +## The known suffix of the stack is as follows: +## FUNCTION return_type decl_identifier +## + +Expected argument list. + +program: TRANSFORMEDDATABLOCK LBRACE FUNCTION VOID UPPER LPAREN WHILE +## +## Ends in an error in state: 471. +## +## closure_def -> FUNCTION return_type decl_identifier LPAREN . loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN statement [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## +## The known suffix of the stack is as follows: +## FUNCTION return_type decl_identifier LPAREN +## + +Expected argument list. + +program: TRANSFORMEDDATABLOCK LBRACE FUNCTION VOID UPPER LPAREN RPAREN VOID +## +## Ends in an error in state: 473. +## +## closure_def -> FUNCTION return_type decl_identifier LPAREN loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN . statement [ WHILE VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## +## The known suffix of the stack is as follows: +## FUNCTION return_type decl_identifier LPAREN loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN +## + +Expected function body. + +program: FUNCTIONBLOCK LBRACE VOID UPPER LPAREN VOID WHILE +## +## Ends in an error in state: 66. +## +## function_type -> return_type . LPAREN loption(separated_nonempty_list(COMMA,arg_type)) RPAREN [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## +## The known suffix of the stack is as follows: +## return_type +## + +(Non-void) type expected in function argument declaration. + +program: FUNCTIONBLOCK LBRACE VOID UPPER LPAREN VOID LPAREN WHILE +## +## Ends in an error in state: 67. +## +## function_type -> return_type LPAREN . loption(separated_nonempty_list(COMMA,arg_type)) RPAREN [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FUNCTION FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] +## +## The known suffix of the stack is as follows: +## return_type LPAREN +## + +Expected type. + +program: FUNCTIONBLOCK LBRACE VOID UPPER LPAREN VOID LPAREN VECTOR WHILE +## +## Ends in an error in state: 71. +## +## separated_nonempty_list(COMMA,arg_type) -> arg_type . [ RPAREN ] +## separated_nonempty_list(COMMA,arg_type) -> arg_type . COMMA separated_nonempty_list(COMMA,arg_type) [ RPAREN ] +## +## The known suffix of the stack is as follows: +## arg_type +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 75, spurious reduction of production option(unsized_dims) -> +## In state 77, spurious reduction of production unsized_type -> basic_type option(unsized_dims) +## In state 65, spurious reduction of production arg_type -> option(DATABLOCK) unsized_type +## + +TODO: PARSER MESSAGE NEEDED HERE. (error state 99) + +program: FUNCTIONBLOCK LBRACE VOID UPPER LPAREN VOID LPAREN VECTOR COMMA WHILE +## +## Ends in an error in state: 72. +## +## separated_nonempty_list(COMMA,arg_type) -> arg_type COMMA . separated_nonempty_list(COMMA,arg_type) [ RPAREN ] +## +## The known suffix of the stack is as follows: +## arg_type COMMA +## + +Expected argument type. + +program: FUNCTIONBLOCK LBRACE VOID UPPER LPAREN VECTOR RPAREN +## +## Ends in an error in state: 475. +## +## arg_decl -> arg_type . decl_identifier [ RPAREN COMMA ] +## +## The known suffix of the stack is as follows: +## arg_type +## +## WARNING: This example involves spurious reductions. +## This implies that, although the LR(1) items shown above provide an +## accurate view of the past (what has been recognized so far), they +## may provide an INCOMPLETE view of the future (what was expected next). +## In state 75, spurious reduction of production option(unsized_dims) -> +## In state 77, spurious reduction of production unsized_type -> basic_type option(unsized_dims) +## In state 65, spurious reduction of production arg_type -> option(DATABLOCK) unsized_type +## + +Expected identitifer. + program: TRANSFORMEDDATABLOCK LBRACE PROFILE WHILE ## +## Ends in an error in state: 309. +## +## nested_statement -> PROFILE . LPAREN string_literal RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 302. ## ## nested_statement -> PROFILE . LPAREN string_literal RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -9469,6 +15992,9 @@ Expected profile name as string in parenthesis program: TRANSFORMEDDATABLOCK LBRACE PROFILE LPAREN WHILE ## +## Ends in an error in state: 310. +## +## nested_statement -> PROFILE LPAREN . string_literal RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 303. ## ## nested_statement -> PROFILE LPAREN . string_literal RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -9482,6 +16008,9 @@ Expected profile name as string in parenthesis program: TRANSFORMEDDATABLOCK LBRACE PROFILE LPAREN STRINGLITERAL WHILE ## +## Ends in an error in state: 311. +## +## nested_statement -> PROFILE LPAREN string_literal . RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 304. ## ## nested_statement -> PROFILE LPAREN string_literal . RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -9494,6 +16023,9 @@ Expected ")" after profile name. program: TRANSFORMEDDATABLOCK LBRACE PROFILE LPAREN STRINGLITERAL RPAREN WHILE ## +## Ends in an error in state: 312. +## +## nested_statement -> PROFILE LPAREN string_literal RPAREN . LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 305. ## ## nested_statement -> PROFILE LPAREN string_literal RPAREN . LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] @@ -9506,6 +16038,9 @@ Expected "{" after profile definition. program: TRANSFORMEDDATABLOCK LBRACE PROFILE LPAREN STRINGLITERAL RPAREN LBRACE VOID ## +## Ends in an error in state: 313. +## +## nested_statement -> PROFILE LPAREN string_literal RPAREN LBRACE . list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FUNCTION FOR ELSE COVMATRIX CORRMATRIX CONTINUE CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## Ends in an error in state: 306. ## ## nested_statement -> PROFILE LPAREN string_literal RPAREN LBRACE . list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IF IDENTIFIER GETLP FOR ELSE COVMATRIX CORRMATRIX CONTINUE COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] diff --git a/src/frontend/parser.mly b/src/frontend/parser.mly index 12d3349606..e0e593cbcd 100644 --- a/src/frontend/parser.mly +++ b/src/frontend/parser.mly @@ -21,13 +21,24 @@ let rec iterate_n f x = function | n -> iterate_n f (f x) (n - 1) let nest_unsized_array basic_type n = iterate_n (fun t -> UnsizedType.UArray t) basic_type n + +let fix_argtypes = + let open UnsizedType in + let suffix = Fun_kind.suffix_from_name in + let f (ad, ut, id) = + match ut with + | UFun (a, r, (FnPlain, true), _) -> + (ad, UFun (a, r, (suffix id.name, true), Common.Helpers.AoS), id) + | ut -> (ad, ut, id) + in + List.map ~f %} %token FUNCTIONBLOCK DATABLOCK TRANSFORMEDDATABLOCK PARAMETERSBLOCK TRANSFORMEDPARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK %token LBRACE RBRACE LPAREN RPAREN LBRACK RBRACK LABRACK RABRACK COMMA SEMICOLON BAR -%token RETURN IF ELSE WHILE FOR IN BREAK CONTINUE PROFILE +%token RETURN IF ELSE WHILE FOR IN BREAK CONTINUE PROFILE FUNCTION %token VOID INT REAL COMPLEX VECTOR ROWVECTOR ARRAY MATRIX ORDERED POSITIVEORDERED SIMPLEX UNITVECTOR CHOLESKYFACTORCORR CHOLESKYFACTORCOV CORRMATRIX COVMATRIX %token LOWER UPPER OFFSET MULTIPLIER @@ -159,6 +170,7 @@ decl_identifier: (* Keywords cannot be identifiers but semantic check produces a better error message. *) | FUNCTIONBLOCK { build_id "functions" $loc } + | FUNCTION { build_id "function" $loc } | DATABLOCK { build_id "data" $loc } | PARAMETERSBLOCK { build_id "parameters" $loc } | MODELBLOCK { build_id "model" $loc } @@ -197,7 +209,18 @@ function_def: { grammar_logger "function_def" ; {stmt=FunDef {returntype = rt; funname = name; - arguments = args; body=b;}; + captures = None; arguments = fix_argtypes args; body=b;}; + smeta={loc=Location_span.of_positions_exn $loc} + } + } + +closure_def: + | FUNCTION rt=return_type name=decl_identifier LPAREN args=separated_list(COMMA, arg_decl) + RPAREN b=statement + { + grammar_logger "function_def" ; + {stmt=FunDef {returntype = rt; funname = name; + captures = Some (); arguments = fix_argtypes args; body=b;}; smeta={loc=Location_span.of_positions_exn $loc} } } @@ -209,9 +232,19 @@ return_type: { grammar_logger "return_type unsized_type" ; ReturnType ut } arg_decl: - | od=option(DATABLOCK) ut=unsized_type id=decl_identifier + | tp=arg_type id=decl_identifier { grammar_logger "arg_decl" ; - match od with None -> (UnsizedType.AutoDiffable, ut, id) | _ -> (DataOnly, ut, id) } + match tp with (ad, ut) -> (ad, ut, id) } + +arg_type: + | od=option(DATABLOCK) ut=unsized_type + { match od with None -> (UnsizedType.AutoDiffable, ut) | _ -> (DataOnly, ut) } + | od=option(DATABLOCK) ut=function_type + { match od with None -> (UnsizedType.AutoDiffable, ut) | _ -> (DataOnly, ut) } + +function_type: + | rt=return_type LPAREN args=separated_list(COMMA, arg_type) RPAREN + { grammar_logger "function_type" ; UnsizedType.UFun (args, rt, (Fun_kind.FnPlain, true), Common.Helpers.AoS) } always(x): | x=x @@ -782,9 +815,13 @@ vardecl_or_statement: { grammar_logger "vardecl_or_statement_statement" ; [s] } | v=var_decl { grammar_logger "vardecl_or_statement_vardecl" ; v } + | f=closure_def + { grammar_logger "vardecl_or_statement_closuredef" ; [f] } top_vardecl_or_statement: | s=statement { grammar_logger "top_vardecl_or_statement_statement" ; [s] } | v=top_var_decl { grammar_logger "top_vardecl_or_statement_top_vardecl" ; v } + | f=closure_def + { grammar_logger "top_vardecl_or_statement_closuredef" ; [f] } diff --git a/src/middle/Fun_kind.ml b/src/middle/Fun_kind.ml index ab3f517c41..558d29358c 100644 --- a/src/middle/Fun_kind.ml +++ b/src/middle/Fun_kind.ml @@ -9,6 +9,7 @@ type 'e t = | StanLib of string * bool suffix * Common.Helpers.mem_pattern | CompilerInternal of 'e Internal_fun.t | UserDefined of string * bool suffix + | Closure of string * bool suffix [@@deriving compare, sexp, hash, map, fold] let suffix_from_name fname = @@ -27,10 +28,12 @@ let suffix_from_name fname = else FnPlain let pp pp_expr ppf = function - | StanLib (s, FnLpdf true, _) | UserDefined (s, FnLpdf true) -> + | StanLib (s, FnLpdf true, _) + |UserDefined (s, FnLpdf true) + |Closure (s, FnLpdf true) -> Fmt.string ppf (Utils.with_unnormalized_suffix s |> Option.value ~default:s) - | StanLib (s, _, _) | UserDefined (s, _) -> Fmt.string ppf s + | StanLib (s, _, _) | UserDefined (s, _) | Closure (s, _) -> Fmt.string ppf s | 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 49b0247403..eb9f441a0f 100644 --- a/src/middle/Internal_fun.ml +++ b/src/middle/Internal_fun.ml @@ -2,6 +2,7 @@ open Core_kernel type 'expr t = | FnLength + | FnMakeClosure | FnMakeArray | FnMakeRowVec | FnNegInf @@ -53,8 +54,8 @@ let can_side_effect = function |FnValidateSize | FnValidateSizeSimplex | FnValidateSizeUnitVector |FnReadWriteEventsOpenCL _ -> true - | FnLength | FnMakeArray | FnMakeRowVec | FnNegInf | FnPrint | FnReject - |FnResizeToMatch | FnNaN | FnDeepCopy | FnCheck _ -> + | FnLength | FnMakeArray | FnMakeClosure | 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/Program.ml b/src/middle/Program.ml index e032a1d30d..b0842099bf 100644 --- a/src/middle/Program.ml +++ b/src/middle/Program.ml @@ -2,6 +2,11 @@ open Core_kernel open Common open Helpers +type capture_decl = + (UnsizedType.capturetype * UnsizedType.autodifftype * string * UnsizedType.t) + list +[@@deriving sexp, hash, map] + type fun_arg_decl = (UnsizedType.autodifftype * string * UnsizedType.t) list [@@deriving sexp, hash, map] @@ -9,10 +14,18 @@ type 'a fun_def = { fdrt: UnsizedType.t option ; fdname: string ; fdsuffix: unit Fun_kind.suffix - ; fdargs: - (UnsizedType.autodifftype * string * UnsizedType.t) list + ; fdcaptures: + ( UnsizedType.capturetype + * UnsizedType.autodifftype + * string + * UnsizedType.t ) + list + option + (* If fdcaptures is not None, this is a closure. *) + ; fdargs: (UnsizedType.autodifftype * string * UnsizedType.t) list + ; fdbody: + 'a option (* If fdbody is None, this is a function declaration without body. *) - ; fdbody: 'a option ; fdloc: Location_span.t sexp_opaque [@compare.ignore] } [@@deriving compare, hash, map, sexp, map, fold] @@ -38,6 +51,9 @@ type ('a, 'b) t = ; prog_path: string } [@@deriving sexp, map, fold] +let captures_to_args : capture_decl -> fun_arg_decl = + List.map ~f:(fun (_, ad, id, ty) -> (ad, id, ty)) + let map_stmts f p = { p with prepare_data= f p.prepare_data diff --git a/src/middle/Semantic_error.ml b/src/middle/Semantic_error.ml index 9a2fc92718..afdda3b870 100644 --- a/src/middle/Semantic_error.ml +++ b/src/middle/Semantic_error.ml @@ -182,29 +182,23 @@ module TypeError = struct | IllTypedBinaryOperator (op, lt, rt) -> Fmt.pf ppf "Ill-typed arguments supplied to infix operator %a. Available \ - signatures: %s@[Instead supplied arguments of incompatible \ + signatures: @,%a@,@[Instead supplied arguments of incompatible \ type: %a, %a.@]" - Operator.pp op - ( Stan_math_signatures.pretty_print_math_lib_operator_sigs op - |> String.concat ~sep:"\n" ) + Operator.pp op Stan_math_signatures.pp_math_lib_operator_sigs op UnsizedType.pp lt UnsizedType.pp rt | IllTypedPrefixOperator (op, ut) -> Fmt.pf ppf "Ill-typed arguments supplied to prefix operator %a. Available \ - signatures: %s@[Instead supplied argument of incompatible type: \ - %a.@]" - Operator.pp op - ( Stan_math_signatures.pretty_print_math_lib_operator_sigs op - |> String.concat ~sep:"\n" ) + signatures: @,%a@,@[Instead supplied argument of incompatible \ + type: %a.@]" + Operator.pp op Stan_math_signatures.pp_math_lib_operator_sigs op UnsizedType.pp ut | IllTypedPostfixOperator (op, ut) -> Fmt.pf ppf "Ill-typed arguments supplied to postfix operator %a. Available \ - signatures: %s\n\ - Instead supplied argument of incompatible type: %a." - Operator.pp op - ( Stan_math_signatures.pretty_print_math_lib_operator_sigs op - |> String.concat ~sep:"\n" ) + signatures: @,%a@,Instead supplied argument of incompatible type: \ + %a." + Operator.pp op Stan_math_signatures.pp_math_lib_operator_sigs op UnsizedType.pp ut end @@ -311,6 +305,8 @@ module StatementError = struct | MismatchFunDefDecl of string * UnsizedType.t option | FunDeclExists of string | FunDeclNoDefn + | ClosureNoDefn + | RecursiveClosure | FunDeclNeedsBlock | NonRealProbFunDef | ProbDensityNonRealVariate of UnsizedType.t option @@ -321,7 +317,9 @@ module StatementError = struct let pp ppf = function | CannotAssignToReadOnly name -> Fmt.pf ppf - "Cannot assign to function argument or loop identifier '%s'." name + "Cannot assign to function argument, captured variable or loop \ + identifier '%s'." + name | CannotAssignToGlobal name -> Fmt.pf ppf "Cannot assign to global variable '%s' declared in previous blocks." @@ -388,6 +386,10 @@ module StatementError = struct name | FunDeclNoDefn -> Fmt.pf ppf "Some function is declared without specifying a definition." + | ClosureNoDefn -> + Fmt.pf ppf + "Local function is declared without specifying a definition." + | RecursiveClosure -> Fmt.pf ppf "Local function cannot be recursive." | FunDeclNeedsBlock -> Fmt.pf ppf "Function definitions must be wrapped in curly braces." | NonRealProbFunDef -> @@ -623,6 +625,7 @@ let fn_decl_exists loc name = StatementError (loc, StatementError.FunDeclExists name) let fn_decl_without_def loc = StatementError (loc, StatementError.FunDeclNoDefn) +let closure_without_def loc = StatementError (loc, StatementError.ClosureNoDefn) let fn_decl_needs_block loc = StatementError (loc, StatementError.FunDeclNeedsBlock) @@ -630,6 +633,9 @@ let fn_decl_needs_block loc = let non_real_prob_fn_def loc = StatementError (loc, StatementError.NonRealProbFunDef) +let recursive_closure loc = + StatementError (loc, StatementError.RecursiveClosure) + let prob_density_non_real_variate loc ut_opt = StatementError (loc, StatementError.ProbDensityNonRealVariate ut_opt) diff --git a/src/middle/Semantic_error.mli b/src/middle/Semantic_error.mli index b6b798818e..015dcc0f0a 100644 --- a/src/middle/Semantic_error.mli +++ b/src/middle/Semantic_error.mli @@ -124,8 +124,10 @@ val mismatched_fn_def_decl : val fn_decl_exists : Location_span.t -> string -> t val fn_decl_without_def : Location_span.t -> t +val closure_without_def : Location_span.t -> t val fn_decl_needs_block : Location_span.t -> t val non_real_prob_fn_def : Location_span.t -> t +val recursive_closure : Location_span.t -> t val prob_density_non_real_variate : Location_span.t -> UnsizedType.t option -> t diff --git a/src/middle/SignatureMismatch.ml b/src/middle/SignatureMismatch.ml index 96f6878100..387f50defc 100644 --- a/src/middle/SignatureMismatch.ml +++ b/src/middle/SignatureMismatch.ml @@ -70,6 +70,7 @@ type type_mismatch = | TypeMismatch of UnsizedType.t * UnsizedType.t * details option and details = + | ClosureError | SuffixMismatch of unit Fun_kind.suffix * unit Fun_kind.suffix | ReturnTypeMismatch of UnsizedType.returntype * UnsizedType.returntype | InputMismatch of function_mismatch @@ -108,22 +109,28 @@ let rec compare_errors e1 e2 = | TypeMismatch (_, _, None), TypeMismatch (_, _, Some _) -> -1 | TypeMismatch (_, _, Some e1), TypeMismatch (_, _, Some e2) -> ( match (e1, e2) with - | SuffixMismatch _, SuffixMismatch _ -> 0 - | ReturnTypeMismatch _, ReturnTypeMismatch _ -> 0 + | SuffixMismatch _, SuffixMismatch _ + |ClosureError, ClosureError + |ReturnTypeMismatch _, ReturnTypeMismatch _ -> + 0 | InputMismatch e1, InputMismatch e2 -> compare_errors e1 e2 | SuffixMismatch _, _ | _, InputMismatch _ -> -1 - | InputMismatch _, _ | _, SuffixMismatch _ -> 1 ) ) + | InputMismatch _, _ | _, SuffixMismatch _ -> 1 + | ReturnTypeMismatch _, ClosureError -> -1 + | ClosureError, ReturnTypeMismatch _ -> 1 ) ) let rec check_same_type depth t1 t2 = let wrap_func = Option.map ~f:(fun e -> TypeMismatch (t1, t2, Some e)) in match (t1, t2) with | t1, t2 when t1 = t2 -> None | UnsizedType.(UReal, UInt) when depth < 1 -> None - | UFun (_, _, s1, _), UFun (_, _, s2, _) + | UFun (_, _, (s1, _), _), UFun (_, _, (s2, _), _) when Fun_kind.without_propto s1 <> Fun_kind.without_propto s2 -> Some (SuffixMismatch (Fun_kind.without_propto s1, Fun_kind.without_propto s2)) |> wrap_func + | UFun (_, _, (_, false), _), UFun (_, _, (_, true), _) -> + Some ClosureError |> wrap_func | UFun (_, rt1, _, _), UFun (_, rt2, _, _) when rt1 <> rt2 -> Some (ReturnTypeMismatch (rt1, rt2)) |> wrap_func | UFun (l1, _, _, _), UFun (l2, _, _, _) -> @@ -172,7 +179,7 @@ let check_variadic_args allow_lpdf mandatory_arg_tys mandatory_fun_arg_tys fun_return args = let minimal_func_type = UnsizedType.UFun - (mandatory_fun_arg_tys, ReturnType fun_return, FnPlain, AoS) + (mandatory_fun_arg_tys, ReturnType fun_return, (FnPlain, true), AoS) in let minimal_args = (UnsizedType.AutoDiffable, minimal_func_type) :: mandatory_arg_tys @@ -180,7 +187,7 @@ let check_variadic_args allow_lpdf mandatory_arg_tys mandatory_fun_arg_tys let wrap_err x = Some (minimal_args, ArgError (1, x)) in match args with | ( _ - , ( UnsizedType.UFun (fun_args, ReturnType return_type, suffix, _) as + , ( UnsizedType.UFun (fun_args, ReturnType return_type, (suffix, _), _) as func_type ) ) :: _ -> let mandatory, variadic_arg_tys = @@ -242,6 +249,8 @@ let pp_signature_mismatch ppf (name, arg_tys, (sigs, omitted)) = "@[The %s argument is %s but the other is %s. These function \ types are not compatible.@]" (index_str n) (suffix_str expected) (suffix_str found) + | ArgError (n, TypeMismatch (_, _, Some ClosureError)) -> + pf ppf "@[The %s argument cannot be a closure.@]" (index_str n) | ArgError (n, TypeMismatch (expected, found, Some (InputMismatch err))) -> pf ppf "@[The types for the %s argument are incompatible: one is@, %a@ \ @@ -275,6 +284,8 @@ let pp_signature_mismatch ppf (name, arg_tys, (sigs, omitted)) = "@[The %s argument must be %s but got %s. These function types \ are not compatible.@]" (index_str n) (suffix_str expected) (suffix_str found) + | ArgError (n, TypeMismatch (_, _, Some ClosureError)) -> + pf ppf "@[The %s argument cannot be a closure.@]" (index_str n) | ArgError (n, TypeMismatch (expected, found, Some (InputMismatch err))) -> pf ppf "@[The %s argument must be@, %a@ but got@, %a@ @[These are \ @@ -295,7 +306,7 @@ let pp_signature_mismatch ppf (name, arg_tys, (sigs, omitted)) = pf ppf "(@[%a@])" (list ~sep:comma (pp_unsized_type ctx)) ) in let pp_signature ppf ((rt, args), err) = - let fun_ty = UnsizedType.UFun (args, rt, FnPlain, AoS) in + let fun_ty = UnsizedType.UFun (args, rt, (FnPlain, false), AoS) in Fmt.pf ppf "%a@ @[ %a@]" (pp_with_where ctx (pp_fundef ctx)) fun_ty pp_explain err diff --git a/src/middle/SignatureMismatch.mli b/src/middle/SignatureMismatch.mli index 5baeb788fd..ad17e41877 100644 --- a/src/middle/SignatureMismatch.mli +++ b/src/middle/SignatureMismatch.mli @@ -5,6 +5,7 @@ type type_mismatch = | TypeMismatch of UnsizedType.t * UnsizedType.t * details option and details = + | ClosureError | SuffixMismatch of unit Fun_kind.suffix * unit Fun_kind.suffix | ReturnTypeMismatch of UnsizedType.returntype * UnsizedType.returntype | InputMismatch of function_mismatch diff --git a/src/middle/Stan_math_signatures.ml b/src/middle/Stan_math_signatures.ml index 4f64486664..286f7d7c5e 100644 --- a/src/middle/Stan_math_signatures.ml +++ b/src/middle/Stan_math_signatures.ml @@ -441,6 +441,9 @@ let get_sigs name = let name = Utils.stdlib_distribution_name name in Hashtbl.find_multi stan_math_signatures name |> List.sort ~compare +let plain_func = (Fun_kind.FnPlain, false) +let pure_closure = (Fun_kind.FnPlain, true) + let make_assigmentoperator_stan_math_signatures assop = ( match assop with | Operator.Divide -> ["divide"] @@ -459,10 +462,25 @@ let make_assigmentoperator_stan_math_signatures assop = | _ -> [] ) let pp_math_sig ppf (rt, args, mem_pattern) = - UnsizedType.pp ppf (UFun (args, rt, FnPlain, mem_pattern)) + UnsizedType.pp ppf (UFun (args, rt, (FnPlain, true), mem_pattern)) let pp_math_sigs ppf name = - (Fmt.list ~sep:Fmt.cut pp_math_sig) ppf (get_sigs name) + Fmt.pf ppf "@[%a@]" (Fmt.list ~sep:Fmt.cut pp_math_sig) (get_sigs name) + +let pp_math_lib_operator_sigs ppf op = + if op = Operator.IntDivide then + Fmt.pf ppf "@[%a@]" pp_math_sig int_divide_type + else + Fmt.pf ppf "@[%a@]" (Fmt.list pp_math_sigs) + (operator_to_stan_math_fns op) + +let pp_math_lib_assignmentoperator_sigs ppf op = + match op with + | Operator.Plus | Minus | Times | Divide | EltTimes | EltDivide -> + Fmt.pf ppf "@[%a@]" + (Fmt.list ~sep:Fmt.cut pp_math_sig) + (make_assigmentoperator_stan_math_signatures op) + | _ -> () let pretty_print_math_sigs = Fmt.strf "@[@,%a@]" pp_math_sigs @@ -867,7 +885,7 @@ let () = ( [ (AutoDiffable, UVector); (AutoDiffable, UVector) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType UVector - , FnPlain + , plain_func , AoS ) ) ; (AutoDiffable, UVector); (AutoDiffable, UVector) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] @@ -880,8 +898,8 @@ let () = ( [ (AutoDiffable, UVector); (AutoDiffable, UVector) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType UVector - , FnPlain - , Common.Helpers.AoS ) ) + , plain_func + , AoS ) ) ; (AutoDiffable, UVector); (AutoDiffable, UVector) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt); (DataOnly, UReal) ; (DataOnly, UReal); (DataOnly, UReal) ] @@ -894,8 +912,8 @@ let () = ( [ (AutoDiffable, UVector); (AutoDiffable, UVector) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType UVector - , FnPlain - , Common.Helpers.AoS ) ) + , plain_func + , AoS ) ) ; (AutoDiffable, UVector); (AutoDiffable, UVector) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , AoS ) ; @@ -907,8 +925,8 @@ let () = ( [ (AutoDiffable, UVector); (AutoDiffable, UVector) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType UVector - , FnPlain - , Common.Helpers.AoS ) ) + , plain_func + , AoS ) ) ; (AutoDiffable, UVector); (AutoDiffable, UVector) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt); (DataOnly, UReal) ; (DataOnly, UReal); (DataOnly, UReal) ] @@ -1365,8 +1383,8 @@ let () = ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType UReal - , FnPlain - , Common.Helpers.AoS ) ) + , pure_closure + , AoS ) ) ; (AutoDiffable, UReal); (AutoDiffable, UReal) ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] @@ -1380,8 +1398,8 @@ let () = ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType UReal - , FnPlain - , Common.Helpers.AoS ) ) + , pure_closure + , AoS ) ) ; (AutoDiffable, UReal); (AutoDiffable, UReal) ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt); (DataOnly, UReal) ] @@ -1396,8 +1414,8 @@ let () = ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType (UArray UReal) - , FnPlain - , Common.Helpers.AoS ) ) + , pure_closure + , AoS ) ) ; (AutoDiffable, UArray UReal) ; (AutoDiffable, UReal) ; (AutoDiffable, UArray UReal) @@ -1414,8 +1432,8 @@ let () = ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType (UArray UReal) - , FnPlain - , Common.Helpers.AoS ) ) + , pure_closure + , AoS ) ) ; (AutoDiffable, UArray UReal) ; (AutoDiffable, UReal) ; (AutoDiffable, UArray UReal) @@ -1432,8 +1450,8 @@ let () = ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType (UArray UReal) - , FnPlain - , Common.Helpers.AoS ) ) + , pure_closure + , AoS ) ) ; (AutoDiffable, UArray UReal) ; (AutoDiffable, UReal) ; (AutoDiffable, UArray UReal) @@ -1451,8 +1469,8 @@ let () = ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType (UArray UReal) - , FnPlain - , Common.Helpers.AoS ) ) + , pure_closure + , AoS ) ) ; (AutoDiffable, UArray UReal) ; (AutoDiffable, UReal) ; (AutoDiffable, UArray UReal) @@ -1469,8 +1487,8 @@ let () = ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType (UArray UReal) - , FnPlain - , Common.Helpers.AoS ) ) + , pure_closure + , AoS ) ) ; (AutoDiffable, UArray UReal) ; (AutoDiffable, UReal) ; (AutoDiffable, UArray UReal) @@ -1488,8 +1506,8 @@ let () = ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType (UArray UReal) - , FnPlain - , Common.Helpers.AoS ) ) + , pure_closure + , AoS ) ) ; (AutoDiffable, UArray UReal) ; (AutoDiffable, UReal) ; (AutoDiffable, UArray UReal) @@ -1506,8 +1524,8 @@ let () = ; (AutoDiffable, UArray UReal) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType (UArray UReal) - , FnPlain - , Common.Helpers.AoS ) ) + , pure_closure + , AoS ) ) ; (AutoDiffable, UArray UReal) ; (AutoDiffable, UReal) ; (AutoDiffable, UArray UReal) @@ -1614,8 +1632,8 @@ let () = ( [ (AutoDiffable, UVector); (AutoDiffable, UVector) ; (DataOnly, UArray UReal); (DataOnly, UArray UInt) ] , ReturnType UVector - , FnPlain - , Common.Helpers.AoS ) ) + , plain_func + , AoS ) ) ; (AutoDiffable, UVector) ; (AutoDiffable, UArray UVector) ; (DataOnly, UArray (UArray UReal)) diff --git a/src/middle/UnsizedType.ml b/src/middle/UnsizedType.ml index 4a110ecee5..9f0d523305 100644 --- a/src/middle/UnsizedType.ml +++ b/src/middle/UnsizedType.ml @@ -12,12 +12,14 @@ type t = | UFun of (autodifftype * t) list * returntype - * bool Fun_kind.suffix + * (bool Fun_kind.suffix * bool) * Common.Helpers.mem_pattern | UMathLibraryFunction and autodifftype = DataOnly | AutoDiffable +and capturetype = Ref | Copy + and returntype = Void | ReturnType of t [@@deriving compare, hash, sexp] let pp_autodifftype ppf = function @@ -44,6 +46,14 @@ let rec unwind_array_type = function | UArray ut -> ( match unwind_array_type ut with ut2, d -> (ut2, d + 1) ) | ut -> (ut, 0) +let make_suffix s args = + match s with + | Fun_kind.FnPlain -> "" + | FnRng -> "_rng" + | FnTarget -> "_lp" + | FnLpdf _ -> ( + match args with (_, (UInt | UArray UInt)) :: _ -> "_lpmf" | _ -> "_lpdf" ) + let rec pp ppf = function | UInt -> pp_keyword ppf "int" | UReal -> pp_keyword ppf "real" @@ -85,11 +95,11 @@ let check_of_same_type_mod_conv name t1 t2 = if String.is_prefix name ~prefix:"assign_" then t1 = t2 else match (t1, t2) with - | UReal, UInt -> true - | UComplex, UInt -> true - | UComplex, UReal -> true - | UFun (l1, rt1, s1, _), UFun (l2, rt2, s2, _) -> ( - s1 = s2 && rt1 = rt2 + | UReal, UInt | UComplex, UInt | UComplex, UReal -> true + | UFun (_, _, (_, false), _), UFun (_, _, (_, true), _) -> false + | UFun (l1, rt1, (s1, _), _), UFun (l2, rt2, (s2, _), _) -> ( + (match (s1, s2) with FnLpdf _, FnLpdf _ -> true | _ -> s1 = s2) + && rt1 = rt2 && match List.for_all2 diff --git a/src/stan_math_backend/Expression_gen.ml b/src/stan_math_backend/Expression_gen.ml index 182c27d8f2..30e1cc4f19 100644 --- a/src/stan_math_backend/Expression_gen.ml +++ b/src/stan_math_backend/Expression_gen.ml @@ -98,7 +98,7 @@ let%expect_test "promote_unsized" = let rec pp_unsizedtype_custom_scalar ppf (scalar, ut) = match ut with - | UnsizedType.UInt | UReal -> string ppf scalar + | UnsizedType.UInt | UReal | UFun _ -> string ppf scalar | UComplex -> pf ppf "std::complex<%s>" scalar | UArray t -> pf ppf "std::vector<%a>" pp_unsizedtype_custom_scalar (scalar, t) @@ -109,7 +109,7 @@ let rec pp_unsizedtype_custom_scalar ppf (scalar, ut) = let pp_unsizedtype_custom_scalar_eigen_exprs ppf (scalar, ut) = match ut with - | UnsizedType.UInt | UReal | UMatrix | URowVector | UVector -> + | UnsizedType.UInt | UReal | UMatrix | URowVector | UVector | UFun _ -> string ppf scalar | UComplex -> pf ppf "std::complex<%s>" scalar | UArray t -> @@ -136,6 +136,13 @@ let demangle_unnormalized_name udf suffix f = | FnTarget when udf -> f ^ "" | _ -> f +let demangle_unnormalized_closure suffix f = + match suffix with + | Fun_kind.FnLpdf true -> f ^ ".template operator()" + | FnLpdf false -> f ^ ".template operator()" + | FnTarget -> f ^ ".template operator()" + | _ -> f + let fn_renames = List.map ~f:(fun (k, v) -> (Internal_fun.to_string k, v)) @@ -157,6 +164,32 @@ let functor_suffix_select hof = variadic_ode_functor_suffix | _ -> functor_suffix +let ode_adapter f = + match Expr.(f.Fixed.meta.Typed.Meta.type_) with + | UFun (args, rt, _, _) -> + { Expr.Fixed.meta= + {f.meta with type_= UFun (args, rt, (FnPlain, true), AoS)} + ; pattern= + FunApp (StanLib ("stan::math::ode_closure_adapter", FnPlain, AoS), []) + } + | _ -> failwith "impossible" + +let wrap_fn f = + match Expr.(f.Fixed.meta.Typed.Meta.type_) with + | UFun (args, rt, (suffix, false), _) -> + let wrapper = + match suffix with + | FnPlain -> "from_lambda" + | FnLpdf true -> "lpdf_from_lambda" + | FnLpdf false -> "lpdf_from_lambda" + | FnRng -> "rng_from_lambda" + | FnTarget -> "lp_from_lambda" + in + { Expr.Fixed.meta= + {f.meta with type_= UFun (args, rt, (suffix, true), AoS)} + ; pattern= FunApp (StanLib (wrapper, FnPlain, AoS), [f]) } + | _ -> f + let constraint_to_string = function | Transformation.Ordered -> Some "ordered" | PositiveOrdered -> Some "positive_ordered" @@ -310,23 +343,10 @@ and read_data ut ppf es = pf ppf "context__.vals_%s(%a)" i_or_r_or_c pp_expr (List.hd_exn es) (* assumes everything well formed from parser checks *) -and gen_fun_app suffix ppf fname es mem_pattern = +and gen_fun_app suffix ppf fname es _ = let default ppf es = let to_var s = Expr.{Fixed.pattern= Var s; meta= Typed.Meta.empty} in - let convert_hof_vars = function - | {Expr.Fixed.pattern= Var name; meta= {Expr.Typed.Meta.type_= UFun _; _}} - as e -> - { e with - pattern= - FunApp - ( StanLib - (name ^ functor_suffix_select fname, FnPlain, mem_pattern) - , [] ) } - | e -> e - in - let converted_es = List.map ~f:convert_hof_vars es in let extra = suffix_args suffix |> List.map ~f:to_var in - let is_hof_call = not (converted_es = es) in let msgs = "pstream__" |> to_var in (* Here, because these signatures are written in C++ such that they wanted to have optional arguments and piggyback on C++ default @@ -337,57 +357,51 @@ and gen_fun_app suffix ppf fname es mem_pattern = overloads. *) let fname, args = - match (is_hof_call, fname, converted_es @ extra) with - | true, "algebra_solver", f :: x :: y :: dat :: datint :: tl - |true, "algebra_solver_newton", f :: x :: y :: dat :: datint :: tl -> + match (fname, es @ extra) with + | "algebra_solver", f :: x :: y :: dat :: datint :: tl + |"algebra_solver_newton", f :: x :: y :: dat :: datint :: tl -> (fname, f :: x :: y :: dat :: datint :: msgs :: tl) - | true, "integrate_1d", f :: a :: b :: theta :: x_r :: x_i :: tl -> + | "integrate_1d", f :: a :: b :: theta :: x_r :: x_i :: tl -> (fname, f :: a :: b :: theta :: x_r :: x_i :: msgs :: tl) - | ( true - , "integrate_ode_bdf" - , f :: y0 :: t0 :: ts :: theta :: x :: x_int :: tl ) - |( true - , "integrate_ode_adams" - , f :: y0 :: t0 :: ts :: theta :: x :: x_int :: tl ) - |( true - , "integrate_ode_rk45" - , f :: y0 :: t0 :: ts :: theta :: x :: x_int :: tl ) -> + | "integrate_ode_bdf", f :: y0 :: t0 :: ts :: theta :: x :: x_int :: tl + |"integrate_ode_adams", f :: y0 :: t0 :: ts :: theta :: x :: x_int :: tl + |"integrate_ode_rk45", f :: y0 :: t0 :: ts :: theta :: x :: x_int :: tl + -> (fname, f :: y0 :: t0 :: ts :: theta :: x :: x_int :: msgs :: tl) - | ( true - , x - , {pattern= FunApp ((UserDefined (f, _) | StanLib (f, _, _)), _); _} + | ( x + , {meta= {type_= UFun (_, _, (_, false), _); _}; pattern= Var f} :: grainsize :: container :: tl ) when Stan_math_signatures.is_reduce_sum_fn x -> - let chop_functor_suffix = - String.chop_suffix_exn ~suffix:reduce_sum_functor_suffix - in let propto_template = - if Utils.is_distribution_name (chop_functor_suffix f) then - if Utils.is_unnormalized_distribution (chop_functor_suffix f) - then "" + if Utils.is_distribution_name f then + if Utils.is_unnormalized_distribution f then "" else "" else "" in let normalized_dist_functor = - Utils.stdlib_distribution_name (chop_functor_suffix f) - ^ reduce_sum_functor_suffix + Utils.stdlib_distribution_name f ^ reduce_sum_functor_suffix in ( strf "%s<%s%s>" fname normalized_dist_functor propto_template , grainsize :: container :: msgs :: tl ) - | true, x, f :: y0 :: t0 :: ts :: rel_tol :: abs_tol :: max_steps :: tl + | ( x + , ({meta= {type_= UFun (_, _, (_, true), _); _}; _} as f) + :: grainsize :: container :: tl ) + when Stan_math_signatures.is_reduce_sum_fn x -> + ( fname ^ "" + , grainsize :: container :: msgs :: f :: tl ) + | x, f :: y0 :: t0 :: ts :: rel_tol :: abs_tol :: max_steps :: tl when Stan_math_signatures.is_variadic_ode_fn x && String.is_suffix fname ~suffix:Stan_math_signatures.ode_tolerances_suffix && not (Stan_math_signatures.variadic_ode_adjoint_fn = x) -> ( fname - , f :: y0 :: t0 :: ts :: rel_tol :: abs_tol :: max_steps :: msgs - :: tl ) - | true, x, f :: y0 :: t0 :: ts :: tl + , ode_adapter f :: y0 :: t0 :: ts :: rel_tol :: abs_tol :: max_steps + :: msgs :: wrap_fn f :: tl ) + | x, f :: y0 :: t0 :: ts :: tl when Stan_math_signatures.is_variadic_ode_fn x && not (Stan_math_signatures.variadic_ode_adjoint_fn = x) -> - (fname, f :: y0 :: t0 :: ts :: msgs :: tl) - | ( true - , x + (fname, ode_adapter f :: y0 :: t0 :: ts :: msgs :: wrap_fn f :: tl) + | ( x , f :: y0 :: t0 @@ -404,19 +418,22 @@ and gen_fun_app suffix ppf fname es mem_pattern = :: solver_f :: solver_b :: tl ) when Stan_math_signatures.variadic_ode_adjoint_fn = x -> ( fname - , f :: y0 :: t0 :: ts :: rel_tol :: abs_tol :: rel_tol_b :: abs_tol_b - :: rel_tol_q :: abs_tol_q :: max_num_steps :: num_checkpoints - :: interpolation_polynomial :: solver_f :: solver_b :: msgs :: tl - ) - | ( true - , "map_rect" - , {pattern= FunApp ((UserDefined (f, _) | StanLib (f, _, _)), _); _} + , ode_adapter f :: y0 :: t0 :: ts :: rel_tol :: abs_tol :: rel_tol_b + :: abs_tol_b :: rel_tol_q :: abs_tol_q :: max_num_steps + :: num_checkpoints :: interpolation_polynomial :: solver_f + :: solver_b :: msgs :: wrap_fn f :: tl ) + | x, f :: y0 :: t0 :: ts :: tl + when Stan_math_signatures.is_variadic_ode_fn x + && not (Stan_math_signatures.variadic_ode_adjoint_fn = x) -> + (fname, ode_adapter f :: y0 :: t0 :: ts :: msgs :: wrap_fn f :: tl) + | ( "map_rect" + , {pattern= Var f; meta= {type_= UFun (_, _, (FnPlain, false), _); _}} :: tl ) -> + let f = f ^ functor_suffix_select fname in let next_map_rect_id = Hashtbl.length map_rect_calls + 1 in Hashtbl.add_exn map_rect_calls ~key:next_map_rect_id ~data:f ; (strf "%s<%d, %s>" fname next_map_rect_id f, tl @ [msgs]) - | true, _, args -> (fname, args @ [msgs]) - | false, _, args -> (fname, args) + | _, args -> (fname, args) in let fname = stan_namespace_qualify fname |> demangle_unnormalized_name false suffix @@ -437,6 +454,7 @@ and pp_constrain_funapp constrain_or_un_str constraint_flavor ppf = function | es -> raise_s [%message "Bad constraint " (es : Expr.Typed.t list)] and pp_user_defined_fun ppf (f, suffix, es) = + let es = List.map ~f:wrap_fn es in let extra_args = suffix_args suffix @ ["pstream__"] in let sep = if List.is_empty es then "" else ", " in pf ppf "@[%s(@,%a%s)@]" @@ -444,6 +462,15 @@ and pp_user_defined_fun ppf (f, suffix, es) = (list ~sep:comma pp_expr) es (sep ^ String.concat ~sep:", " extra_args) +and pp_closure ppf (f, suffix, es) = + let es = List.map ~f:wrap_fn es in + let extra_args = suffix_args suffix @ ["pstream__"] in + let sep = if List.is_empty es then "" else ", " in + pf ppf "@[%s(%s@,%a)@]" + (demangle_unnormalized_closure suffix f) + (String.concat ~sep:", " extra_args ^ sep) + (list ~sep:comma pp_expr) es + and pp_compiler_internal_fn ad ut f ppf es = let pp_array_literal ut ppf es = pf ppf "std::vector<%a>{@,%a}" pp_unsizedtype_local (ad, ut) @@ -451,7 +478,40 @@ and pp_compiler_internal_fn ad ut f ppf es = es in match f with - | Internal_fun.FnMakeArray -> + | Internal_fun.FnMakeClosure -> ( + match (ut, es) with + | ( UnsizedType.UFun (args, _, (sfx, _), _) + , {Expr.Fixed.pattern= Lit (Str, implname); _} :: captured ) -> ( + let c = if List.is_empty captured then "" else "," in + match sfx with + | FnPlain -> + pf ppf + "@[from_lambda([](const auto&... s) { return \ + %s_impl__(s...); }%s@,%a)@]" + implname c (list ~sep:comma pp_expr) captured + | FnRng -> + let all = + List.range 0 (List.length captured + List.length args) + |> List.map ~f:(strf "s%d") + in + let c1 = if List.is_empty all then "" else "," in + pf ppf + "@[rng_from_lambda([](%a%s@ auto& rng, auto msgs) { \ + return %s_impl__(%a%s rng, msgs); }%s@ %a)@]" + (Fmt.list ~sep:comma (fun ppf -> pf ppf "const auto& %s")) + all c1 implname (list ~sep:comma string) all c1 c + (list ~sep:comma pp_expr) captured + | FnLpdf _ -> + pf ppf + "@[lpdf_from_lambda(%s_pfunctor__()%s@,%a)@]" + implname c (list ~sep:comma pp_expr) captured + | FnTarget -> + pf ppf "@[lp_from_lambda(%s_pfunctor__()%s@,%a)@]" + implname c (list ~sep:comma pp_expr) captured ) + | _ -> + raise_s + [%message "Invalid closure constructor " (es : Expr.Typed.t list)] ) + | FnMakeArray -> let ut = match ut with | UnsizedType.UArray ut -> ut @@ -494,8 +554,10 @@ and pp_compiler_internal_fn ad ut f ppf es = 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 AoS - | _ -> gen_fun_app FnPlain ppf (Internal_fun.to_string f) es AoS + | FnDeepCopy -> + gen_fun_app FnPlain ppf "stan::model::deep_copy" es Common.Helpers.AoS + | _ -> + gen_fun_app FnPlain ppf (Internal_fun.to_string f) es Common.Helpers.AoS and pp_promoted ad ut ppf e = match e with @@ -538,7 +600,14 @@ and pp_indexed_simple ppf (obj, idcs) = and pp_expr ppf Expr.Fixed.({pattern; meta} as e) = match pattern with - | Var s -> pf ppf "%s" s + | Var s -> ( + match meta.type_ with + | UFun (_, _, (_, false), _) -> pf ppf "%s%s()" s functor_suffix + | UFun (_, _, (FnLpdf propto, true), _) -> + let propto = if propto then "propto__" else "false" in + let s = Utils.normalized_name s in + pf ppf "%s.template with_propto<%s>()" s propto + | _ -> pf ppf "%s" s ) | Lit (Str, s) -> pf ppf "\"%s\"" (Cpp_str.escaped s) | Lit (Imaginary, s) -> pf ppf "to_complex(0, %s)" s | Lit ((Real | Int), s) -> pf ppf "%s" s @@ -559,6 +628,7 @@ and pp_expr ppf Expr.Fixed.({pattern; meta} as e) = (* stan_namespace_qualify? *) | FunApp (UserDefined (f, suffix), es) -> pp_user_defined_fun ppf (f, suffix, es) + | FunApp (Closure (f, suffix), es) -> pp_closure ppf (f, suffix, es) | EAnd (e1, e2) -> pp_logical_op ppf "&&" e1 e2 | EOr (e1, e2) -> pp_logical_op ppf "||" e1 e2 | TernaryIf (ec, et, ef) -> diff --git a/src/stan_math_backend/Stan_math_code_gen.ml b/src/stan_math_backend/Stan_math_code_gen.ml index 37abffa7b9..acc2dd0b82 100644 --- a/src/stan_math_backend/Stan_math_code_gen.ml +++ b/src/stan_math_backend/Stan_math_code_gen.ml @@ -55,10 +55,16 @@ let pp_located ppf _ = (** Detect if argument requires C++ template *) let arg_needs_template = function - | UnsizedType.DataOnly, _, t -> UnsizedType.is_eigen_type t + | UnsizedType.DataOnly, _, t -> + UnsizedType.(is_eigen_type t || is_fun_type t) | _, _, t when UnsizedType.contains_int t -> false | _ -> true +let capture_needs_template = function + | _, UnsizedType.DataOnly, _, t -> UnsizedType.is_fun_type t + | _, _, _, t when UnsizedType.contains_int t -> false + | _ -> true + (** Print template arguments for C++ functions that need templates @param args A pack of `Program.fun_arg_decl` containing functions to detect templates. @return A list of arguments with template parameter names added. @@ -69,12 +75,21 @@ let maybe_templated_arg_types (args : Program.fun_arg_decl) = | true -> Some (sprintf "T%d__" i) | false -> None ) +let maybe_templated_captures (args : Program.capture_decl) = + List.mapi args ~f:(fun i a -> + match capture_needs_template a with + | true -> Some (sprintf "F%d__" i) + | false -> None ) + let return_arg_types (args : Program.fun_arg_decl) = + let prefix, needs_template = ("T", arg_needs_template) in List.mapi args ~f:(fun i ((_, _, ut) as a) -> - if UnsizedType.is_eigen_type ut && arg_needs_template a then - Some (sprintf "stan::value_type_t" i) - else if arg_needs_template a then Some (sprintf "T%d__" i) - else None ) + if not (needs_template a) then None + else if UnsizedType.is_fun_type ut then + Some (sprintf "stan::return_type_t<%s%d__>" prefix i) + else if UnsizedType.is_eigen_type ut then + Some (sprintf "stan::value_type_t<%s%d__>" prefix i) + else Some (sprintf "%s%d__" prefix i) ) let%expect_test "arg types templated correctly" = [(AutoDiffable, "xreal", UReal); (DataOnly, "yint", UInt)] @@ -100,8 +115,7 @@ let pp_promoted_scalar ppf args = pf ppf "stan::promote_args_t<%a%a>" (list ~sep:comma string) hd go tl in - promote_args_chunked ppf - List.(chunks_of ~length:5 (filter_opt (return_arg_types args))) + promote_args_chunked ppf List.(chunks_of ~length:5 (filter_opt args)) (** Pretty-prints a function's return-type, taking into account templated argument promotion.*) @@ -147,7 +161,6 @@ let pp_arg ppf (custom_scalar_opt, (_, name, ut)) = | Some scalar -> scalar | None -> stantype_prim_str ut in - (* we add the _arg suffix for any Eigen types *) pf ppf "const %a& %s" pp_unsizedtype_custom_scalar_eigen_exprs (scalar, ut) name @@ -157,13 +170,20 @@ let pp_arg_eigen_suffix ppf (custom_scalar_opt, (_, name, ut)) = | Some scalar -> scalar | None -> stantype_prim_str ut in - (* we add the _arg suffix for any Eigen types *) let opt_arg_suffix = if UnsizedType.is_eigen_type ut then name ^ "_arg__" else name in pf ppf "const %a& %s" pp_unsizedtype_custom_scalar_eigen_exprs (scalar, ut) opt_arg_suffix +let pp_capture ppf (custom_scalar_opt, (_, _, name, ut)) = + let scalar = + match custom_scalar_opt with + | Some scalar -> scalar + | None -> stantype_prim_str ut + in + pf ppf "const %a& %s" pp_unsizedtype_custom_scalar (scalar, ut) name + (** [pp_located_error_b] automatically adds a Block wrapper *) let pp_located_error_b ppf body_stmts = pp_located_error ppf @@ -187,6 +207,13 @@ let get_templates_and_args exprs fdargs = ~f:(fun a -> strf "%a" pp_arg_eigen_suffix a) (List.zip_exn argtypetemplates fdargs) ) +let get_templates_and_captures fdcaptures = + let argtypetemplates = maybe_templated_captures fdcaptures in + ( List.filter_opt argtypetemplates + , List.map + ~f:(fun a -> strf "%a" pp_capture a) + (List.zip_exn argtypetemplates fdcaptures) ) + (** Print the C++ template parameter decleration before a function. @param ppf A pretty printer. *) @@ -198,32 +225,94 @@ let pp_template_decorator ppf = function let mk_extra_args templates args = List.map ~f:(fun (t, v) -> t ^ "& " ^ v) (List.zip_exn templates args) -(** Print the C++ function definition. - @param ppf A pretty printer - Refactor this please - one idea might be to have different functions for - printing user defined distributions vs rngs vs regular functions. -*) -let pp_fun_def ppf Program.({fdrt; fdname; fdsuffix; fdargs; fdbody; _}) - funs_used_in_reduce_sum funs_used_in_variadic_ode = +let pp_signature fdsuffix exprs is_reduce_sum_fn captures ppf + (fdrt, fdname, fdargs) = let extra, extra_templates = match fdsuffix with | Fun_kind.FnTarget -> (["lp__"; "lp_accum__"], ["T_lp__"; "T_lp_accum__"]) | FnRng -> (["base_rng__"], ["RNG"]) | FnLpdf _ | FnPlain -> ([], []) in + let argtypetemplates, args = get_templates_and_args exprs fdargs in + let templates = + ( match fdsuffix with + | (FnLpdf () | FnTarget) when not is_reduce_sum_fn -> ["bool propto__"] + | _ -> [] ) + @ List.(map ~f:typename (argtypetemplates @ extra_templates)) + in + pp_template_decorator ppf templates ; + let rt_templates = + match captures with + | Some c -> c @ return_arg_types fdargs + | None -> return_arg_types fdargs + in + pp_returntype ppf rt_templates fdrt ; + let args, variadic_args = + if is_reduce_sum_fn then List.split_n args 3 + else if captures = None then (args, []) + else ([], args) + in + let arg_strs = + args + @ mk_extra_args extra_templates extra + @ ["std::ostream* pstream__"] + @ variadic_args + in + pf ppf "%s(@[%a@]) " fdname (list ~sep:comma string) arg_strs + +let pp_rs_functor ppf (fdrt, fdsuffix, fdname, fdargs) = + match fdargs with + | (_, slice, _) :: (_, start, _) :: (_, end_, _) :: rest -> + (* Produces the reduce_sum functors that has the pstream argument + as the third and not last argument *) + let is_dist = + match fdsuffix with Fun_kind.FnLpdf () -> true | _ -> false + in + let pp_template_propto ppf is_dist = + if is_dist then pf ppf "template @ " + in + pf ppf "@,@,%astruct %s%s {@,%aconst @,{@,return %a;@,}@,};@," + pp_template_propto is_dist fdname reduce_sum_functor_suffix + (pp_signature FnPlain false true None) + (fdrt, "operator()", fdargs) + pp_call_str + ( (if is_dist then fdname ^ "" else fdname) + , slice :: (start ^ " + 1") :: (end_ ^ " + 1") + :: List.map ~f:(fun (_, name, _) -> name) rest + @ ["pstream__"] ) + | _ -> + raise_s + [%message "Ill-formed reduce_sum call! This is a bug in the compiler."] + +let pp_propto_functor ppf (fdrt, fdsuffix, fdname, fdargs) = + let extra_args = + match fdsuffix with + | Fun_kind.FnTarget -> ["lp__"; "lp_accum__"; "pstream__"] + | _ -> ["pstream__"] + in + pf ppf "struct %s_pfunctor__ {@,%aconst {@,return %a;@,}@,};@," fdname + (pp_signature fdsuffix false false None) + (fdrt, "operator()", fdargs) + pp_call_str + ( fdname ^ "_impl__" + , List.map ~f:(fun (_, name, _) -> name) fdargs @ extra_args ) + +let pp_function_body ppf (fdrt, fdname, fdsuffix, fdargs, fdbody) = let pp_body ppf (Stmt.Fixed.({pattern; _}) as fdbody) = - pf ppf "@[using local_scalar_t__ = %a;@]@," pp_promoted_scalar fdargs ; + pf ppf "@[using local_scalar_t__ = %a;@]@," pp_promoted_scalar + (return_arg_types fdargs) ; pf ppf "int current_statement__ = 0; @ " ; if List.exists ~f:(fun (_, _, t) -> UnsizedType.is_eigen_type t) fdargs then pp_eigen_arg_to_ref ppf fdargs ; ( match fdsuffix with - | FnLpdf _ | FnTarget -> () + | Fun_kind.FnLpdf _ | FnTarget -> () | FnPlain | FnRng -> + (* why is this here? the language does not allow accessing propto inside these functions *) pf ppf "%s@ " "static constexpr bool propto__ = true;" ; pf ppf "%s@ " "(void) propto__;" ) ; pf ppf "%s@ " "local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());" ; - pf ppf "%a" pp_unused "DUMMY_VAR__" ; + pp_unused ppf "DUMMY_VAR__" ; let blocked_fdbody = match pattern with | SList stmts -> {fdbody with pattern= Block stmts} @@ -233,74 +322,58 @@ let pp_fun_def ppf Program.({fdrt; fdname; fdsuffix; fdargs; fdbody; _}) pp_located_error ppf (pp_statement, blocked_fdbody) ; pf ppf "@ " in - let pp_sig ppf (name, exprs, variadic) = - let argtypetemplates, args = get_templates_and_args exprs fdargs in - let templates = - List.(map ~f:typename (argtypetemplates @ extra_templates)) - in - ( match (fdsuffix, variadic) with - | (FnLpdf _ | FnTarget), `None -> - pp_template_decorator ppf ("bool propto__" :: templates) - | _ -> pp_template_decorator ppf templates ) ; - pp_returntype ppf fdargs fdrt ; - let args, variadic_args = - match variadic with - | `ReduceSum -> List.split_n args 3 - | `VariadicODE -> List.split_n args 2 - | `None -> (args, []) - in - let arg_strs = - args - @ mk_extra_args extra_templates extra - @ ["std::ostream* pstream__"] - @ variadic_args - in - pf ppf "%s(@[%a@]) " name (list ~sep:comma string) arg_strs - in - pp_sig ppf (fdname, true, `None) ; - match fdbody with - | None -> pf ppf ";@ " - | Some fdbody -> - pp_block ppf (pp_body, fdbody) ; - let pp_functor ppf (str_args, args, variadic) = - let suffix = - match variadic with - | `None -> functor_suffix - | `ReduceSum -> reduce_sum_functor_suffix - | `VariadicODE -> variadic_ode_functor_suffix - in - let pp_template_propto ppf () = - match (fdsuffix, variadic) with - | FnLpdf _, `ReduceSum -> pf ppf "template @ " - | _ -> pf ppf "" + pp_signature fdsuffix true false None ppf (fdrt, fdname, fdargs) ; + pp_block ppf (pp_body, fdbody) + +let pp_forward_decl funs_used_in_reduce_sum ppf + Program.({fdrt; fdname; fdsuffix; fdcaptures; fdargs; fdbody; _}) = + let pp_sig = pp_signature fdsuffix false false None in + match fdcaptures with + | None -> + pf ppf "%a;" pp_sig (fdrt, fdname, fdargs) ; + if fdbody <> None then ( + if Set.mem funs_used_in_reduce_sum fdname then + pp_rs_functor ppf (fdrt, fdsuffix, fdname, fdargs) ; + let extra = + match fdsuffix with + | Fun_kind.FnTarget -> ["lp__"; "lp_accum__"] + | FnRng -> ["base_rng__"] + | FnLpdf _ | FnPlain -> [] in - pf ppf "@,@,%astruct %s%s {@,%a const @,{@,return %a;@,}@,};@," - pp_template_propto () fdname suffix pp_sig - ("operator()", false, variadic) + pf ppf "@,@,struct %s%s {@,%a const @,{@,return %a;@,}@,};@," fdname + functor_suffix pp_sig + (fdrt, "operator()", fdargs) pp_call_str ( ( match fdsuffix with - | FnLpdf _ | FnTarget -> fdname ^ "" - | _ -> fdname ) - , str_args - @ List.map ~f:(fun (_, name, _) -> name) args - @ extra @ ["pstream__"] ) - in - pp_functor ppf ([], fdargs, `None) ; - if String.Set.mem funs_used_in_reduce_sum fdname then - (* Produces the reduce_sum functors that has the pstream argument - as the third and not last argument *) - match fdargs with - | (_, slice, _) :: (_, start, _) :: (_, end_, _) :: rest -> - pp_functor ppf - ([slice; start ^ " + 1"; end_ ^ " + 1"], rest, `ReduceSum) - | _ -> - raise_s - [%message - "Ill-formed reduce_sum call! This is bug in the compiler."] - else if String.Set.mem funs_used_in_variadic_ode fdname then - (* Produces the variadic ode functors that has the pstream argument - as the third and not last argument *) - pp_functor ppf ([], fdargs, `VariadicODE) + | FnLpdf () | FnTarget -> fdname ^ "" + | FnRng | FnPlain -> fdname ) + , List.map ~f:(fun (_, name, _) -> name) fdargs + @ extra @ ["pstream__"] ) ) + | Some captures -> ( + let all_args = Program.captures_to_args captures @ fdargs in + pf ppf "%a ;" pp_sig (fdrt, fdname ^ "_impl__", all_args) ; + match fdsuffix with + | FnPlain | FnRng -> () + | FnTarget | FnLpdf _ -> + pp_propto_functor ppf (fdrt, fdsuffix, fdname, all_args) ) + +let get_impl = function + | {Program.fdbody= None; _} -> None + | {fdrt; fdname; fdcaptures= None; fdargs; fdsuffix; fdbody= Some fdbody; _} + -> + Some (fdrt, fdname, fdsuffix, fdargs, fdbody) + | { fdrt + ; fdname + ; fdcaptures= Some fdcaptures + ; fdargs + ; fdsuffix + ; fdbody= Some fdbody; _ } -> + Some + ( fdrt + , fdname ^ "_impl__" + , fdsuffix + , Program.captures_to_args fdcaptures @ fdargs + , fdbody ) (* Creates functions outside the model namespaces which only call the ones inside the namespaces *) @@ -405,6 +478,7 @@ let pp_ctor ppf p = let data_idents = List.map ~f:fst p.input_vars |> String.Set.of_list in let pp_stmt_topdecl_size_only ppf (Stmt.Fixed.({pattern; meta}) as s) = match pattern with + | Decl {decl_type= Unsized ut; _} when UnsizedType.is_fun_type ut -> () | Decl {decl_id; decl_type; _} when decl_id <> "pos__" -> ( match decl_type with | Sized st -> ( @@ -421,6 +495,7 @@ let pp_ctor ppf p = pp_block ppf ( (fun ppf {Program.prog_name; prepare_data; output_vars; _} -> pf ppf "int current_statement__ = 0;@ " ; + pf ppf "static constexpr bool propto__ = true;@ (void) propto__;@ " ; pf ppf "using local_scalar_t__ = double ;@ " ; pf ppf "boost::ecuyer1988 base_rng__ = @ " ; pf ppf " stan::services::util::create_rng(random_seed__, 0);@ " ; @@ -449,6 +524,7 @@ let pp_ctor ppf p = let rec top_level_decls Stmt.Fixed.({pattern; _}) = match pattern with + | Decl {decl_type= Unsized ut; _} when UnsizedType.is_fun_type ut -> [] | Decl d when d.decl_id <> "pos__" -> [(d.decl_id, Type.to_unsized d.decl_type)] | SList stmts -> List.concat_map ~f:top_level_decls stmts @@ -1002,10 +1078,8 @@ let is_fun_used_with_variadic_fn variadic_fn_test p = let pp_prog ppf (p : Program.Typed.t) = (* First, do some transformations on the MIR itself before we begin printing it.*) let p, s = Locations.prepare_prog p in - let pp_fun_def_with_variadic_fn_list ppf fblock = - pp_fun_def ppf fblock - (is_fun_used_with_variadic_fn Stan_math_signatures.is_reduce_sum_fn p) - (is_fun_used_with_variadic_fn Stan_math_signatures.is_variadic_ode_fn p) + let funs_used_in_reduce_sum = + is_fun_used_with_variadic_fn Stan_math_signatures.is_reduce_sum_fn p in let reduce_sum_struct_decls = String.Set.map @@ -1017,17 +1091,21 @@ let pp_prog ppf (p : Program.Typed.t) = (is_fun_used_with_variadic_fn Stan_math_signatures.is_reduce_sum_fn p) |> Set.elements |> String.concat ~sep:"\n" in - pf ppf "@[@ %s@ %s@ namespace %s {@ %s@ %a@ %s@ %a@ %a@ }@ @]" version + pf ppf "@[@ %s@ %s@ namespace %s {@ %s@ %a%s@ %a@ %a@ %a@ }@ @]" version includes (namespace p) usings Locations.pp_globals s reduce_sum_struct_decls - (list ~sep:cut pp_fun_def_with_variadic_fn_list) + (list (pp_forward_decl funs_used_in_reduce_sum)) p.functions_block + (list ~sep:cut pp_function_body) + (List.filter_map ~f:get_impl p.functions_block) (if !standalone_functions then fun _ _ -> () else pp_model) p ; if !standalone_functions then pf ppf "@[%a@ @]" (list ~sep:cut (pp_standalone_fun_def (namespace p))) - p.functions_block + (List.filter + ~f:(fun {fdcaptures; _} -> is_none fdcaptures) + p.functions_block) else ( pf ppf "@,using stan_model = %s_namespace::%s;@," p.prog_name p.prog_name ; pf ppf diff --git a/src/stan_math_backend/Statement_gen.ml b/src/stan_math_backend/Statement_gen.ml index dfc8036124..facdf0313f 100644 --- a/src/stan_math_backend/Statement_gen.ml +++ b/src/stan_math_backend/Statement_gen.ml @@ -285,6 +285,13 @@ let rec pp_statement (ppf : Format.formatter) Stmt.Fixed.({pattern; meta}) = ((vident, _, []), ({meta= Expr.Typed.Meta.({type_= UInt; _}); _} as rhs)) |Assignment ((vident, _, []), ({meta= {type_= UReal; _}; _} as rhs)) -> pf ppf "@[%s = %a;@]" vident pp_expr rhs + | Assignment + ( (vident, UFun _, []) + , ({meta= {type_= UFun (_, _, (FnLpdf _, true), _); _}; _} as rhs) ) -> + pf ppf "@[auto %s = %a;@]" vident pp_expr rhs + | Assignment ((vident, UFun _, []), ({meta= {type_= UFun _; _}; _} as rhs)) + -> + pf ppf "@[auto %s = %a;@]" vident pp_expr rhs | Assignment ((assignee, UInt, idcs), rhs) |Assignment ((assignee, UReal, idcs), rhs) when List.for_all ~f:is_single_index idcs -> @@ -352,6 +359,8 @@ let rec pp_statement (ppf : Format.formatter) Stmt.Fixed.({pattern; meta}) = pf ppf "%s(@[%a@]);" fname (list ~sep:comma pp_expr) args | NRFunApp (UserDefined (fname, suffix), args) -> pf ppf "%a;" pp_user_defined_fun (fname, suffix, args) + | NRFunApp (Closure (fname, suffix), args) -> + pf ppf "%a;" pp_closure (fname, suffix, args) | Break -> string ppf "break;" | Continue -> string ppf "continue;" | Return e -> pf ppf "@[return %a;@]" (option pp_expr) e @@ -375,6 +384,7 @@ let rec pp_statement (ppf : Format.formatter) Stmt.Fixed.({pattern; meta}) = | Profile (name, ls) -> pp_profile ppf (pp_stmt_list, name, ls) | Block ls -> pp_block ppf (pp_stmt_list, ls) | SList ls -> pp_stmt_list ppf ls + | Decl {decl_type= Unsized (UFun _); _} -> () | Decl {decl_adtype; decl_id; decl_type; initialize; _} -> pp_decl ppf (decl_id, decl_type, decl_adtype, initialize) diff --git a/src/stan_math_backend/Transform_Mir.ml b/src/stan_math_backend/Transform_Mir.ml index 697d162293..1454aa7655 100644 --- a/src/stan_math_backend/Transform_Mir.ml +++ b/src/stan_math_backend/Transform_Mir.ml @@ -593,16 +593,25 @@ let trans_prog (p : Program.Typed.t) = ; meta= Expr.Typed.Meta.empty } ) ; meta= Location_span.empty } ] ) in + let recreate_closures = + (* closures cannot be model class members like other transformed data + recreate them at the start of every block. *) + List.filter p.prepare_data ~f:(function + | Stmt.Fixed.({pattern= Decl {decl_type= Unsized ut; _}; _}) + |{pattern= Assignment ((_, ut, _), _); _} -> + UnsizedType.is_fun_type ut + | _ -> false ) + in let p = { p with - log_prob= log_prob @ maybe_add_opencl_events_clear + log_prob= recreate_closures @ log_prob @ maybe_add_opencl_events_clear ; prog_name= escape_name p.prog_name ; prepare_data= init_pos @ (p.prepare_data |> add_reads p.input_vars data_read) @ to_matrix_cl_stmts ; transform_inits= - init_pos + recreate_closures @ init_pos @ List.concat_map ~f:(data_unconstrain_transform Location_span.empty) (List.filter diff --git a/src/tfp_backend/Code_gen.ml b/src/tfp_backend/Code_gen.ml index cf1f9b0fc5..3a9fa7c4de 100644 --- a/src/tfp_backend/Code_gen.ml +++ b/src/tfp_backend/Code_gen.ml @@ -3,6 +3,7 @@ open Middle open Fmt let is_multi_index = function Index.MultiIndex _ -> true | _ -> false +let closures = ref String.Map.empty let pp_call ppf (name, pp_arg, args) = pf ppf "%s(@[%a@])" name (list ~sep:comma pp_arg) args @@ -36,7 +37,9 @@ let rec pp_expr ppf {Expr.Fixed.pattern; _} = | op, [unary] -> pf ppf "%s%a" op pp_paren unary | op, args -> raise_s [%message "Need to implement" op (args : Expr.Typed.t list)] ) - | FunApp ((UserDefined (fname, _) | StanLib (fname, _, _)), args) -> + | FunApp + ( (UserDefined (fname, _) | Closure (fname, _) | StanLib (fname, _, _)) + , args ) -> pp_call ppf (fname, pp_expr, args) | FunApp (CompilerInternal _, _) as e -> raise_s @@ -72,10 +75,19 @@ and pp_paren ppf expr = let rec pp_stmt ppf s = match s.Stmt.Fixed.pattern with + | Assignment + ( (lhs, _, []) + , { pattern= + FunApp + ( CompilerInternal FnMakeClosure + , {pattern= Lit (Str, impl); _} :: _ ); _ } ) -> + pp_fundef ppf {(Map.find_exn !closures impl) with Program.fdname= lhs} | Assignment ((lhs, _, indices), rhs) -> pf ppf "%s%a = %a" lhs pp_indices indices pp_expr rhs | TargetPE rhs -> pf ppf "target += tf__.reduce_sum(%a)" pp_expr rhs - | NRFunApp (StanLib (f, _, _), args) | NRFunApp (UserDefined (f, _), args) -> + | NRFunApp (StanLib (f, _, _), args) + |NRFunApp (UserDefined (f, _), args) + |NRFunApp (Closure (f, _), args) -> pp_call ppf (f, pp_expr, args) | Break -> pf ppf "break" | Continue -> pf ppf "continue" @@ -94,13 +106,22 @@ let rec pp_stmt ppf s = -> raise_s [%message "Not implemented" (s : Stmt.Located.t)] -let pp_method ppf name params intro ?(outro = []) ppbody = +and pp_method ppf name params intro ?(outro = []) ppbody = pf ppf "@[def %a:@," pp_call_str (name, params) ; (list ~sep:cut string) ppf (intro @ [""]) ; ppbody ppf ; if not (List.is_empty outro) then pf ppf "@ %a" (list ~sep:cut string) outro ; pf ppf "@, @]" +and pp_fundef ppf {Program.fdname; fdargs; fdbody; _} = + let no_body_default : Stmt.Located.t = + {pattern= Stmt.Fixed.Pattern.Skip; meta= Location_span.empty} + in + pp_method ppf fdname + (List.map ~f:(fun (_, name, _) -> name) fdargs) + [] + (fun ppf -> pp_stmt ppf (Option.value ~default:no_body_default fdbody)) + let rec pp_cast prefix ppf (name, st) = match st with | SizedType.SArray (t, _) -> pp_cast prefix ppf (name, t) @@ -261,15 +282,6 @@ let pp_methods ppf p = pf ppf "@ %a" pp_bijectors p ; pf ppf "@ %a" pp_param_names p -let pp_fundef ppf {Program.fdname; fdargs; fdbody; _} = - let no_body_default : Stmt.Located.t = - {pattern= Stmt.Fixed.Pattern.Skip; meta= Location_span.empty} - in - pp_method ppf fdname - (List.map ~f:(fun (_, name, _) -> name) fdargs) - [] - (fun ppf -> pp_stmt ppf (Option.value ~default:no_body_default fdbody)) - let imports = {| import numpy as np__ @@ -281,8 +293,17 @@ from tensorflow.python.ops.parallel_for import pfor as pfor__ |} let pp_prog ppf (p : Program.Typed.t) = + let functions = + List.filter + ~f:(fun data -> + if Option.is_some data.Program.fdcaptures then ( + closures := Map.add_exn !closures ~key:data.fdname ~data ; + false ) + else true ) + p.functions_block + in pf ppf "@[%s@,%a@,class %s(tfd__.Distribution):@,@[%a@]@]" imports - (list ~sep:cut pp_fundef) p.functions_block p.prog_name pp_methods p ; + (list ~sep:cut pp_fundef) functions p.prog_name pp_methods p ; pf ppf "@ model = %s" p.prog_name (* Major work to do: diff --git a/test/integration/bad/closures/dune b/test/integration/bad/closures/dune new file mode 100644 index 0000000000..856a7fccef --- /dev/null +++ b/test/integration/bad/closures/dune @@ -0,0 +1 @@ +(include ../dune) diff --git a/test/integration/bad/closures/forwarddecl.stan b/test/integration/bad/closures/forwarddecl.stan new file mode 100644 index 0000000000..f95e5af738 --- /dev/null +++ b/test/integration/bad/closures/forwarddecl.stan @@ -0,0 +1,8 @@ +model { + function + real foo(real x, real y); + function + real foo(real x, real y) { + return sqrt(squar(x)+square(y)); + } +} \ No newline at end of file diff --git a/test/integration/bad/closures/mutate1.stan b/test/integration/bad/closures/mutate1.stan new file mode 100644 index 0000000000..7b68ed8e7d --- /dev/null +++ b/test/integration/bad/closures/mutate1.stan @@ -0,0 +1,8 @@ +model { + real x = 0.0; + function + real foo(real y) { + x = 2.0; + return x + y; + } +} \ No newline at end of file diff --git a/test/integration/bad/closures/mutate2.stan b/test/integration/bad/closures/mutate2.stan new file mode 100644 index 0000000000..2de9f21382 --- /dev/null +++ b/test/integration/bad/closures/mutate2.stan @@ -0,0 +1,8 @@ +model { + real x = 0.0; + function + real foo(real y) { + return x + y; + } + x = 2.0; +} \ No newline at end of file diff --git a/test/integration/bad/closures/no_keyword1.stan b/test/integration/bad/closures/no_keyword1.stan new file mode 100644 index 0000000000..a2a9c74c7d --- /dev/null +++ b/test/integration/bad/closures/no_keyword1.stan @@ -0,0 +1,5 @@ +model { + real foo(real x) { + return x; + } +} \ No newline at end of file diff --git a/test/integration/bad/closures/no_keyword2.stan b/test/integration/bad/closures/no_keyword2.stan new file mode 100644 index 0000000000..8173084a95 --- /dev/null +++ b/test/integration/bad/closures/no_keyword2.stan @@ -0,0 +1,5 @@ +model { + vector foo(vector x) { + return x; + } +} \ No newline at end of file diff --git a/test/integration/bad/closures/no_keyword3.stan b/test/integration/bad/closures/no_keyword3.stan new file mode 100644 index 0000000000..3099ebee23 --- /dev/null +++ b/test/integration/bad/closures/no_keyword3.stan @@ -0,0 +1,5 @@ +model { + vector[] foo(vector x) { + return {x}; + } +} \ No newline at end of file diff --git a/test/integration/bad/closures/no_keyword4.stan b/test/integration/bad/closures/no_keyword4.stan new file mode 100644 index 0000000000..563c6af27b --- /dev/null +++ b/test/integration/bad/closures/no_keyword4.stan @@ -0,0 +1,5 @@ +model { + array[] real foo(real x) { + return {x}; + } +} \ No newline at end of file diff --git a/test/integration/bad/closures/no_keyword5.stan b/test/integration/bad/closures/no_keyword5.stan new file mode 100644 index 0000000000..504e23cbc2 --- /dev/null +++ b/test/integration/bad/closures/no_keyword5.stan @@ -0,0 +1,5 @@ +model { + void foo_lp(real x) { + target += x; + } +} \ No newline at end of file diff --git a/test/integration/bad/closures/stanc.expected b/test/integration/bad/closures/stanc.expected new file mode 100644 index 0000000000..ac8206a5a9 --- /dev/null +++ b/test/integration/bad/closures/stanc.expected @@ -0,0 +1,89 @@ + $ ../../../../../install/default/bin/stanc forwarddecl.stan +Semantic error in 'forwarddecl.stan', line 2, column 4 to line 3, column 29: + ------------------------------------------------- + 1: model { + 2: function + ^ + 3: real foo(real x, real y); + 4: function + ------------------------------------------------- + +Local function is declared without specifying a definition. + $ ../../../../../install/default/bin/stanc mutate1.stan +Semantic error in 'mutate1.stan', line 5, column 8 to column 16: + ------------------------------------------------- + 3: function + 4: real foo(real y) { + 5: x = 2.0; + ^ + 6: return x + y; + 7: } + ------------------------------------------------- + +Cannot assign to function argument, captured variable or loop identifier 'x'. + $ ../../../../../install/default/bin/stanc mutate2.stan +Semantic error in 'mutate2.stan', line 7, column 4 to column 12: + ------------------------------------------------- + 5: return x + y; + 6: } + 7: x = 2.0; + ^ + 8: } + ------------------------------------------------- + +Cannot assign to function argument, captured variable or loop identifier 'x'. + $ ../../../../../install/default/bin/stanc no_keyword1.stan +Syntax error in 'no_keyword1.stan', line 2, column 12 to column 13, parsing error: + ------------------------------------------------- + 1: model { + 2: real foo(real x) { + ^ + 3: return x; + 4: } + ------------------------------------------------- + +";" or plain assignment expected after variable declaration. (Local function definition requires 'function' keyword.) + $ ../../../../../install/default/bin/stanc no_keyword2.stan +Syntax error in 'no_keyword2.stan', line 2, column 11 to column 14, parsing error: + ------------------------------------------------- + 1: model { + 2: vector foo(vector x) { + ^ + 3: return x; + 4: } + ------------------------------------------------- + +"[" expression "]" expected after "vector" in local (or model block) variable declaration. (No transformations/constraints allowed.) + $ ../../../../../install/default/bin/stanc no_keyword3.stan +Syntax error in 'no_keyword3.stan', line 2, column 11 to column 12, parsing error: + ------------------------------------------------- + 1: model { + 2: vector[] foo(vector x) { + ^ + 3: return {x}; + 4: } + ------------------------------------------------- + +"[" expression "]" expected for vector sizes. + $ ../../../../../install/default/bin/stanc no_keyword4.stan +Syntax error in 'no_keyword4.stan', line 2, column 20 to column 21, parsing error: + ------------------------------------------------- + 1: model { + 2: array[] real foo(real x) { + ^ + 3: return {x}; + 4: } + ------------------------------------------------- + +Expected non-array type after array in return type. (Local function definition requires 'function' keyword.) + $ ../../../../../install/default/bin/stanc no_keyword5.stan +Syntax error in 'no_keyword5.stan', line 2, column 4 to column 8, parsing error: + ------------------------------------------------- + 1: model { + 2: void foo_lp(real x) { + ^ + 3: target += x; + 4: } + ------------------------------------------------- + +Variable declaration, statement or "}" expected. diff --git a/test/integration/bad/compound-assign/stanc.expected b/test/integration/bad/compound-assign/stanc.expected index 25efb4a290..df541e4b42 100644 --- a/test/integration/bad/compound-assign/stanc.expected +++ b/test/integration/bad/compound-assign/stanc.expected @@ -65,22 +65,7 @@ Semantic error in 'plus_equals_bad_var_lhs.stan', line 3, column 4 to column 14: 5: } ------------------------------------------------- -Ill-typed arguments supplied to assignment operator +=: lhs has type (real) => real and rhs has type real. Available signatures: -(int, int) => void -(real, int) => void -(real, real) => void -(vector, int) => void -(vector, real) => void -(vector, vector) => void -(complex, int) => void -(complex, real) => void -(complex, complex) => void -(row_vector, int) => void -(row_vector, real) => void -(row_vector, row_vector) => void -(matrix, int) => void -(matrix, real) => void -(matrix, matrix) => void +Cannot assign to function argument, captured variable or loop identifier 'foo'. $ ../../../../../install/default/bin/stanc plus_equals_bad_var_lhs2.stan Semantic error in 'plus_equals_bad_var_lhs2.stan', line 6, column 2 to column 9: ------------------------------------------------- diff --git a/test/integration/bad/for_loops/stanc.expected b/test/integration/bad/for_loops/stanc.expected index 73b49b9429..a5c85ed245 100644 --- a/test/integration/bad/for_loops/stanc.expected +++ b/test/integration/bad/for_loops/stanc.expected @@ -9,7 +9,7 @@ Semantic error in 'assign_to_loop_var1.stan', line 5, column 18 to column 24: 7: } ------------------------------------------------- -Cannot assign to function argument or loop identifier 'v'. +Cannot assign to function argument, captured variable or loop identifier 'v'. $ ../../../../../install/default/bin/stanc assign_to_loop_var2.stan Semantic error in 'assign_to_loop_var2.stan', line 5, column 18 to column 24: ------------------------------------------------- @@ -21,7 +21,7 @@ Semantic error in 'assign_to_loop_var2.stan', line 5, column 18 to column 24: 7: } ------------------------------------------------- -Cannot assign to function argument or loop identifier 'v'. +Cannot assign to function argument, captured variable or loop identifier 'v'. $ ../../../../../install/default/bin/stanc assign_to_loop_var3.stan Semantic error in 'assign_to_loop_var3.stan', line 6, column 6 to column 15: ------------------------------------------------- @@ -33,7 +33,7 @@ Semantic error in 'assign_to_loop_var3.stan', line 6, column 6 to column 15: 8: } ------------------------------------------------- -Cannot assign to function argument or loop identifier 'v'. +Cannot assign to function argument, captured variable or loop identifier 'v'. $ ../../../../../install/default/bin/stanc assign_to_loop_var4.stan Semantic error in 'assign_to_loop_var4.stan', line 5, column 6 to column 12: ------------------------------------------------- @@ -45,7 +45,7 @@ Semantic error in 'assign_to_loop_var4.stan', line 5, column 6 to column 12: 7: } ------------------------------------------------- -Cannot assign to function argument or loop identifier 'v'. +Cannot assign to function argument, captured variable or loop identifier 'v'. $ ../../../../../install/default/bin/stanc assign_to_loop_var5.stan Semantic error in 'assign_to_loop_var5.stan', line 5, column 6 to column 14: ------------------------------------------------- @@ -57,7 +57,7 @@ Semantic error in 'assign_to_loop_var5.stan', line 5, column 6 to column 14: 7: } ------------------------------------------------- -Cannot assign to function argument or loop identifier 'v'. +Cannot assign to function argument, captured variable or loop identifier 'v'. $ ../../../../../install/default/bin/stanc assign_to_loop_var6.stan Semantic error in 'assign_to_loop_var6.stan', line 4, column 4 to column 12: ------------------------------------------------- @@ -69,7 +69,7 @@ Semantic error in 'assign_to_loop_var6.stan', line 4, column 4 to column 12: 6: } ------------------------------------------------- -Cannot assign to function argument or loop identifier 'v'. +Cannot assign to function argument, captured variable or loop identifier 'v'. $ ../../../../../install/default/bin/stanc assign_to_loop_var7.stan Semantic error in 'assign_to_loop_var7.stan', line 4, column 4 to column 8: ------------------------------------------------- @@ -93,7 +93,7 @@ Semantic error in 'for_statements_bad_indices0.stan', line 5, column 20 to colum 7: return 0; ------------------------------------------------- -Cannot assign to function argument or loop identifier 'v'. +Cannot assign to function argument, captured variable or loop identifier 'v'. $ ../../../../../install/default/bin/stanc for_statements_bad_indices1.stan Semantic error in 'for_statements_bad_indices1.stan', line 5, column 20 to column 24: ------------------------------------------------- @@ -117,7 +117,7 @@ Semantic error in 'for_statements_bad_indices2.stan', line 5, column 20 to colum 7: return 0; ------------------------------------------------- -Cannot assign to function argument or loop identifier 'v'. +Cannot assign to function argument, captured variable or loop identifier 'v'. $ ../../../../../install/default/bin/stanc for_statements_bad_indices3.stan Semantic error in 'for_statements_bad_indices3.stan', line 5, column 16 to column 18: ------------------------------------------------- diff --git a/test/integration/bad/reduce_sum/stanc.expected b/test/integration/bad/reduce_sum/stanc.expected index 69f4559c05..ed0be014a5 100644 --- a/test/integration/bad/reduce_sum/stanc.expected +++ b/test/integration/bad/reduce_sum/stanc.expected @@ -327,8 +327,6 @@ where F1 = (array[] real, int, int, real, real) => real Available signatures: (, array[] real, int, real, real) => real The 5th argument must be real but got vector - $ ../../../../../install/default/bin/stanc bad_non_matching_arg_types_static.stan - $ ../../../../../install/default/bin/stanc bad_not_slice_type.stan Semantic error in 'bad_not_slice_type.stan', line 12, column 12 to column 42: ------------------------------------------------- diff --git a/test/integration/bad/stanc.expected b/test/integration/bad/stanc.expected index d189f96735..852b139594 100644 --- a/test/integration/bad/stanc.expected +++ b/test/integration/bad/stanc.expected @@ -968,11 +968,11 @@ Semantic error in 'fun-return-type2.stan', line 2, column 2 to column 72: Function bodies must contain a return statement of correct type in every branch. $ ../../../../install/default/bin/stanc functions-bad0.stan -Syntax error in 'functions-bad0.stan', line 2, column 11 to column 15, parsing error: +Syntax error in 'functions-bad0.stan', line 2, column 16 to column 17, parsing error: ------------------------------------------------- 1: functions { 2: real foo(void x) { - ^ + ^ 3: return 1.0; 4: } ------------------------------------------------- @@ -1026,7 +1026,7 @@ Semantic error in 'functions-bad13.stan', line 3, column 4 to column 10: 5: } ------------------------------------------------- -Cannot assign to function argument or loop identifier 'x'. +Cannot assign to function argument, captured variable or loop identifier 'x'. $ ../../../../install/default/bin/stanc functions-bad14.stan Semantic error in 'functions-bad14.stan', line 5, column 6 to column 9: ------------------------------------------------- @@ -1478,7 +1478,6 @@ Semantic error in 'op_divide_bad.stan', line 7, column 6 to column 11: Ill-typed arguments supplied to infix operator /. Available signatures: (row_vector, matrix) => row_vector (matrix, matrix) => matrix - (int, int) => int (real, real) => real (vector, real) => vector @@ -1500,7 +1499,6 @@ Semantic error in 'op_divide_right_bad.stan', line 7, column 6 to column 11: Ill-typed arguments supplied to infix operator /. Available signatures: (row_vector, matrix) => row_vector (matrix, matrix) => matrix - (int, int) => int (real, real) => real (vector, real) => vector diff --git a/test/integration/cli-args/filename_good.expected b/test/integration/cli-args/filename_good.expected index 4a07b62cf9..3a1d7149cc 100644 --- a/test/integration/cli-args/filename_good.expected +++ b/test/integration/cli-args/filename_good.expected @@ -46,6 +46,8 @@ class filename_good_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); diff --git a/test/integration/good/code-gen/cl.expected b/test/integration/good/code-gen/cl.expected index 071673bf78..e732c88ca2 100644 --- a/test/integration/good/code-gen/cl.expected +++ b/test/integration/good/code-gen/cl.expected @@ -288,6 +288,8 @@ class optimize_glm_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); diff --git a/test/integration/good/code-gen/closures/capture_types.stan b/test/integration/good/code-gen/closures/capture_types.stan new file mode 100644 index 0000000000..034c972431 --- /dev/null +++ b/test/integration/good/code-gen/closures/capture_types.stan @@ -0,0 +1,35 @@ +data { + int N; + real x; + real y[N]; + vector[N] v; +} +transformed data { + function + real capture_data(real z, row_vector r) { + real rs = sum(r); + real ys = sum(y); + real vs = sum(v); + return z + rs + x + ys + vs; + } +} +parameters { + real p; + real pa[N]; + vector[N] pv; +} +model { + function + real capture_data_and_params(real z, row_vector r) { + real rs = sum(r); + real ys = sum(y); + real vs = sum(v); + real pas = sum(pa); + real pvs = sum(pv); + return z + rs + x + ys + vs + p + pas + pvs; + } + target += capture_data(0.0,[1.0]); + target += capture_data(p,[1.0]); + target += capture_data_and_params(0.0,[1.0]); + target += capture_data_and_params(p,[1.0]); +} \ No newline at end of file diff --git a/test/integration/good/code-gen/closures/capture_types2.stan b/test/integration/good/code-gen/closures/capture_types2.stan new file mode 100644 index 0000000000..9d51256ebb --- /dev/null +++ b/test/integration/good/code-gen/closures/capture_types2.stan @@ -0,0 +1,30 @@ +transformed data { + function + real foo(real x) { + return x; + } + function + real capture_dataonly_closure(real y) { + return foo(y); + } +} +parameters { + real alpha; +} +transformed parameters { + function + real capture_closure(real y) { + return foo(y); + } + function + real closure_in_closure(real s) { + function + real gar(real b) { + return b; + } + return gar(s); + } + real s1 = capture_dataonly_closure(1.0); + real s2 = capture_closure(1.0); + real s3 = closure_in_closure(1.0); +} \ No newline at end of file diff --git a/test/integration/good/code-gen/closures/cpp.expected b/test/integration/good/code-gen/closures/cpp.expected new file mode 100644 index 0000000000..a97d98b081 --- /dev/null +++ b/test/integration/good/code-gen/closures/cpp.expected @@ -0,0 +1,4045 @@ + $ ../../../../../../install/default/bin/stanc --print-cpp capture_types.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace capture_types_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'capture_types.stan', line 8, column 4 to line 14, column 5)", + " (in 'capture_types.stan', line 17, column 4 to column 11)", + " (in 'capture_types.stan', line 18, column 4 to column 15)", + " (in 'capture_types.stan', line 19, column 4 to column 17)", + " (in 'capture_types.stan', line 22, column 4 to line 30, column 5)", + " (in 'capture_types.stan', line 31, column 4 to column 38)", + " (in 'capture_types.stan', line 32, column 4 to column 36)", + " (in 'capture_types.stan', line 33, column 4 to column 49)", + " (in 'capture_types.stan', line 34, column 4 to column 47)", + " (in 'capture_types.stan', line 2, column 4 to column 10)", + " (in 'capture_types.stan', line 3, column 4 to column 11)", + " (in 'capture_types.stan', line 4, column 11 to column 12)", + " (in 'capture_types.stan', line 4, column 4 to column 14)", + " (in 'capture_types.stan', line 5, column 11 to column 12)", + " (in 'capture_types.stan', line 5, column 4 to column 16)", + " (in 'capture_types.stan', line 18, column 12 to column 13)", + " (in 'capture_types.stan', line 19, column 11 to column 12)", + " (in 'capture_types.stan', line 10, column 8 to column 25)", + " (in 'capture_types.stan', line 11, column 8 to column 25)", + " (in 'capture_types.stan', line 12, column 8 to column 25)", + " (in 'capture_types.stan', line 13, column 8 to column 36)", + " (in 'capture_types.stan', line 9, column 44 to line 14, column 5)", + " (in 'capture_types.stan', line 24, column 8 to column 25)", + " (in 'capture_types.stan', line 25, column 8 to column 25)", + " (in 'capture_types.stan', line 26, column 8 to column 25)", + " (in 'capture_types.stan', line 27, column 8 to column 27)", + " (in 'capture_types.stan', line 28, column 8 to column 27)", + " (in 'capture_types.stan', line 29, column 8 to column 52)", + " (in 'capture_types.stan', line 23, column 55 to line 30, column 5)"}; + +template +stan::promote_args_t, T3__, +stan::value_type_t> +capture_data_L9C9_impl__(const T0__& v, const double& x, + const std::vector& y, const T3__& z, + const T4__& r, std::ostream* pstream__) ; +template +stan::promote_args_t, +stan::value_type_t, +T6__, stan::promote_args_t>> +capture_data_and_params_L23C9_impl__(const T0__& p, + const std::vector& pa, + const T2__& pv, const T3__& v, + const double& x, + const std::vector& y, + const T6__& z, const T7__& r, + std::ostream* pstream__) ; +template +stan::promote_args_t, T3__, +stan::value_type_t> +capture_data_L9C9_impl__(const T0__& v_arg__, const double& x, + const std::vector& y, const T3__& z, + const T4__& r_arg__, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T3__, + stan::value_type_t>; + int current_statement__ = 0; + const auto& v = to_ref(v_arg__); + const auto& r = to_ref(r_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ rs; + rs = DUMMY_VAR__; + + current_statement__ = 18; + rs = sum(r); + local_scalar_t__ ys; + ys = DUMMY_VAR__; + + current_statement__ = 19; + ys = sum(y); + local_scalar_t__ vs; + vs = DUMMY_VAR__; + + current_statement__ = 20; + vs = sum(v); + current_statement__ = 21; + return ((((z + rs) + x) + ys) + vs); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t, +stan::value_type_t, +T6__, stan::promote_args_t>> +capture_data_and_params_L23C9_impl__(const T0__& p, + const std::vector& pa, + const T2__& pv_arg__, + const T3__& v_arg__, const double& x, + const std::vector& y, + const T6__& z, const T7__& r_arg__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t, + T6__, stan::promote_args_t>>; + int current_statement__ = 0; + const auto& pv = to_ref(pv_arg__); + const auto& v = to_ref(v_arg__); + const auto& r = to_ref(r_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ rs; + rs = DUMMY_VAR__; + + current_statement__ = 23; + rs = sum(r); + local_scalar_t__ ys; + ys = DUMMY_VAR__; + + current_statement__ = 24; + ys = sum(y); + local_scalar_t__ vs; + vs = DUMMY_VAR__; + + current_statement__ = 25; + vs = sum(v); + local_scalar_t__ pas; + pas = DUMMY_VAR__; + + current_statement__ = 26; + pas = sum(pa); + local_scalar_t__ pvs; + pvs = DUMMY_VAR__; + + current_statement__ = 27; + pvs = sum(pv); + current_statement__ = 28; + return (((((((z + rs) + x) + ys) + vs) + p) + pas) + pvs); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class capture_types_model final : public model_base_crtp { + + private: + int N; + double x; + std::vector y; + Eigen::Matrix v__; + Eigen::Map> v{nullptr, 0}; + + public: + ~capture_types_model() { } + + inline std::string model_name() const final { return "capture_types_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + capture_types_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "capture_types_model_namespace::capture_types_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 10; + context__.validate_dims("data initialization","N","int", + std::vector{}); + N = std::numeric_limits::min(); + + current_statement__ = 10; + N = context__.vals_i("N")[(1 - 1)]; + current_statement__ = 11; + context__.validate_dims("data initialization","x","double", + std::vector{}); + x = std::numeric_limits::quiet_NaN(); + + current_statement__ = 11; + x = context__.vals_r("x")[(1 - 1)]; + current_statement__ = 12; + validate_non_negative_index("y", "N", N); + current_statement__ = 13; + context__.validate_dims("data initialization","y","double", + std::vector{static_cast(N)}); + y = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 13; + y = context__.vals_r("y"); + current_statement__ = 14; + validate_non_negative_index("v", "N", N); + current_statement__ = 15; + context__.validate_dims("data initialization","v","double", + std::vector{static_cast(N)}); + v__ = Eigen::Matrix(N); + new (&v) Eigen::Map>(v__.data(), N); + + { + std::vector v_flat__; + current_statement__ = 15; + v_flat__ = context__.vals_r("v"); + current_statement__ = 15; + pos__ = 1; + current_statement__ = 15; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 15; + assign(v, v_flat__[(pos__ - 1)], + "assigning variable v", index_uni(sym1__)); + current_statement__ = 15; + pos__ = (pos__ + 1); + } + } + + current_statement__ = 1; + auto capture_data = from_lambda([](const auto&... s) { return capture_data_L9C9_impl__(s...); }, + v, x, y); + current_statement__ = 16; + validate_non_negative_index("pa", "N", N); + current_statement__ = 17; + validate_non_negative_index("pv", "N", N); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 1 + N + N; + + } + + 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__ = "capture_types_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + + current_statement__ = 1; + auto capture_data = from_lambda([](const auto&... s) { return capture_data_L9C9_impl__(s...); }, + v, x, y); + local_scalar_t__ p; + p = DUMMY_VAR__; + + current_statement__ = 2; + p = in__.template read(); + std::vector pa; + pa = std::vector(N, DUMMY_VAR__); + + current_statement__ = 3; + pa = in__.template read>(N); + Eigen::Matrix pv; + pv = Eigen::Matrix(N); + stan::math::fill(pv, DUMMY_VAR__); + + current_statement__ = 4; + pv = in__.template read>(N); + { + + current_statement__ = 5; + auto capture_data_and_params = from_lambda([](const auto&... s) { return capture_data_and_params_L23C9_impl__(s...); }, + p, pa, pv, v, x, y); + current_statement__ = 6; + lp_accum__.add( + capture_data(pstream__, 0.0, (Eigen::Matrix(1) << + 1.0).finished())); + current_statement__ = 7; + lp_accum__.add( + capture_data(pstream__, p, (Eigen::Matrix(1) << + 1.0).finished())); + current_statement__ = 8; + lp_accum__.add( + capture_data_and_params(pstream__, 0.0, + (Eigen::Matrix(1) << 1.0).finished())); + current_statement__ = 9; + lp_accum__.add( + capture_data_and_params(pstream__, p, + (Eigen::Matrix(1) << 1.0).finished())); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "capture_types_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + double p; + p = std::numeric_limits::quiet_NaN(); + + current_statement__ = 2; + p = in__.template read(); + std::vector pa; + pa = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 3; + pa = in__.template read>(N); + Eigen::Matrix pv; + pv = Eigen::Matrix(N); + stan::math::fill(pv, std::numeric_limits::quiet_NaN()); + + current_statement__ = 4; + pv = in__.template read>(N); + out__.write(p); + out__.write(pa); + out__.write(pv); + 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__]); + } + } // 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 { + + current_statement__ = 1; + auto capture_data = from_lambda([](const auto&... s) { return capture_data_L9C9_impl__(s...); }, + v, x, y); + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + local_scalar_t__ p; + p = DUMMY_VAR__; + + p = in__.read(); + out__.write(p); + std::vector pa; + pa = std::vector(N, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + pa[(sym1__ - 1)] = in__.read(); + } + out__.write(pa); + Eigen::Matrix pv; + pv = Eigen::Matrix(N); + stan::math::fill(pv, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + assign(pv, in__.read(), + "assigning variable pv", index_uni(sym1__)); + } + out__.write(pv); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"p", "pa", "pv"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{}, + std::vector{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 { + + param_names__.emplace_back(std::string() + "p"); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "pa" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "pv" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_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"); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "pa" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "pv" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"p\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"pa\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"pv\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"p\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"pa\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"pv\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + ((1 + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + ((1 + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"p", "pa", "pv"}; + const std::array constrain_param_sizes__{1, N, N}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = capture_types_model_namespace::capture_types_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return capture_types_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../../install/default/bin/stanc --print-cpp capture_types2.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace capture_types2_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'capture_types2.stan', line 2, column 4 to line 5, column 5)", + " (in 'capture_types2.stan', line 6, column 4 to line 9, column 5)", + " (in 'capture_types2.stan', line 12, column 4 to column 15)", + " (in 'capture_types2.stan', line 15, column 4 to line 18, column 5)", + " (in 'capture_types2.stan', line 19, column 4 to line 26, column 5)", + " (in 'capture_types2.stan', line 27, column 4 to column 44)", + " (in 'capture_types2.stan', line 28, column 4 to column 35)", + " (in 'capture_types2.stan', line 29, column 4 to column 38)", + " (in 'capture_types2.stan', line 17, column 8 to column 22)", + " (in 'capture_types2.stan', line 16, column 33 to line 18, column 5)", + " (in 'capture_types2.stan', line 8, column 8 to column 22)", + " (in 'capture_types2.stan', line 7, column 42 to line 9, column 5)", + " (in 'capture_types2.stan', line 21, column 8 to line 24, column 9)", + " (in 'capture_types2.stan', line 25, column 8 to column 22)", + " (in 'capture_types2.stan', line 20, column 36 to line 26, column 5)", + " (in 'capture_types2.stan', line 4, column 8 to column 17)", + " (in 'capture_types2.stan', line 3, column 21 to line 5, column 5)", + " (in 'capture_types2.stan', line 23, column 12 to column 21)", + " (in 'capture_types2.stan', line 22, column 25 to line 24, column 9)"}; + +template +stan::promote_args_t, +T1__> +capture_closure_L16C9_impl__(const T0__& foo, const T1__& y, + std::ostream* pstream__) ; +template +stan::promote_args_t, +T1__> +capture_dataonly_closure_L7C9_impl__(const T0__& foo, const T1__& y, + std::ostream* pstream__) ; +template +stan::promote_args_t +closure_in_closure_L20C9_impl__(const T0__& s, std::ostream* pstream__) ; +template +stan::promote_args_t +foo_L3C9_impl__(const T0__& x, std::ostream* pstream__) ; +template +stan::promote_args_t +gar_L22C13_impl__(const T0__& b, std::ostream* pstream__) ; +template +stan::promote_args_t, +T1__> +capture_closure_L16C9_impl__(const T0__& foo, const T1__& y, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T1__>; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 9; + return foo(pstream__, y); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t, +T1__> +capture_dataonly_closure_L7C9_impl__(const T0__& foo, const T1__& y, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T1__>; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 11; + return foo(pstream__, y); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +closure_in_closure_L20C9_impl__(const T0__& s, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + + current_statement__ = 13; + auto gar = from_lambda([](const auto&... s) { return gar_L22C13_impl__(s...); } + ); + current_statement__ = 14; + return gar(pstream__, s); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +foo_L3C9_impl__(const T0__& x, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 16; + return x; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +gar_L22C13_impl__(const T0__& b, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 18; + return b; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class capture_types2_model final : public model_base_crtp { + + private: + + + + public: + ~capture_types2_model() { } + + inline std::string model_name() const final { return "capture_types2_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + capture_types2_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "capture_types2_model_namespace::capture_types2_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + + current_statement__ = 1; + auto foo = from_lambda([](const auto&... s) { return foo_L3C9_impl__(s...); } + ); + + current_statement__ = 2; + auto capture_dataonly_closure = from_lambda([](const auto&... s) { return capture_dataonly_closure_L7C9_impl__(s...); }, + foo); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 1; + + } + + 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__ = "capture_types2_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + + current_statement__ = 1; + auto foo = from_lambda([](const auto&... s) { return foo_L3C9_impl__(s...); } + ); + + current_statement__ = 2; + auto capture_dataonly_closure = from_lambda([](const auto&... s) { return capture_dataonly_closure_L7C9_impl__(s...); }, + foo); + local_scalar_t__ alpha; + alpha = DUMMY_VAR__; + + current_statement__ = 3; + alpha = in__.template read(); + + current_statement__ = 4; + auto capture_closure = from_lambda([](const auto&... s) { return capture_closure_L16C9_impl__(s...); }, + foo); + + current_statement__ = 5; + auto closure_in_closure = from_lambda([](const auto&... s) { return closure_in_closure_L20C9_impl__(s...); } + ); + local_scalar_t__ s1; + s1 = DUMMY_VAR__; + + current_statement__ = 6; + s1 = capture_dataonly_closure(pstream__, 1.0); + local_scalar_t__ s2; + s2 = DUMMY_VAR__; + + current_statement__ = 7; + s2 = capture_closure(pstream__, 1.0); + local_scalar_t__ s3; + s3 = DUMMY_VAR__; + + current_statement__ = 8; + s3 = closure_in_closure(pstream__, 1.0); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "capture_types2_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + double alpha; + alpha = std::numeric_limits::quiet_NaN(); + + current_statement__ = 3; + alpha = in__.template read(); + + + double s1; + s1 = std::numeric_limits::quiet_NaN(); + + double s2; + s2 = std::numeric_limits::quiet_NaN(); + + double s3; + s3 = std::numeric_limits::quiet_NaN(); + + out__.write(alpha); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + current_statement__ = 4; + auto capture_closure = from_lambda([](const auto&... s) { return capture_closure_L16C9_impl__(s...); }, + foo); + current_statement__ = 5; + auto closure_in_closure = from_lambda([](const auto&... s) { return closure_in_closure_L20C9_impl__(s...); } + ); + current_statement__ = 6; + s1 = capture_dataonly_closure(pstream__, 1.0); + current_statement__ = 7; + s2 = capture_closure(pstream__, 1.0); + current_statement__ = 8; + s3 = closure_in_closure(pstream__, 1.0); + if (emit_transformed_parameters__) { + out__.write(s1); + out__.write(s2); + out__.write(s3); + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // 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 { + + current_statement__ = 1; + auto foo = from_lambda([](const auto&... s) { return foo_L3C9_impl__(s...); } + ); + + current_statement__ = 2; + auto capture_dataonly_closure = from_lambda([](const auto&... s) { return capture_dataonly_closure_L7C9_impl__(s...); }, + foo); + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + local_scalar_t__ alpha; + alpha = DUMMY_VAR__; + + alpha = in__.read(); + out__.write(alpha); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"alpha", "s1", "s2", "s3"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{}, + std::vector{}, std::vector{}, std::vector{ + }}; + + } // 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() + "alpha"); + if (emit_transformed_parameters__) { + param_names__.emplace_back(std::string() + "s1"); + param_names__.emplace_back(std::string() + "s2"); + param_names__.emplace_back(std::string() + "s3"); + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + param_names__.emplace_back(std::string() + "alpha"); + if (emit_transformed_parameters__) { + param_names__.emplace_back(std::string() + "s1"); + param_names__.emplace_back(std::string() + "s2"); + param_names__.emplace_back(std::string() + "s3"); + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"alpha\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"s1\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"s2\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"s3\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"alpha\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"s1\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"s2\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"s3\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = 1; + const size_t num_transformed = + ((1 + 1) + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = 1; + const size_t num_transformed = + ((1 + 1) + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"alpha"}; + const std::array constrain_param_sizes__{1}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = capture_types2_model_namespace::capture_types2_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return capture_types2_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../../install/default/bin/stanc --print-cpp higher_order.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace higher_order_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'higher_order.stan', line 15, column 4 to line 18, column 5)", + " (in 'higher_order.stan', line 22, column 4 to column 11)", + " (in 'higher_order.stan', line 25, column 4 to line 28, column 5)", + " (in 'higher_order.stan', line 29, column 4 to column 45)", + " (in 'higher_order.stan', line 14, column 4 to column 42)", + " (in 'higher_order.stan', line 19, column 4 to column 50)", + " (in 'higher_order.stan', line 3, column 8 to line 6, column 9)", + " (in 'higher_order.stan', line 7, column 8 to column 23)", + " (in 'higher_order.stan', line 2, column 49 to line 8, column 5)", + " (in 'higher_order.stan', line 10, column 8 to column 17)", + " (in 'higher_order.stan', line 9, column 22 to line 11, column 5)", + " (in 'higher_order.stan', line 27, column 8 to column 19)", + " (in 'higher_order.stan', line 26, column 25 to line 28, column 5)", + " (in 'higher_order.stan', line 17, column 8 to column 19)", + " (in 'higher_order.stan', line 16, column 30 to line 18, column 5)", + " (in 'higher_order.stan', line 5, column 12 to column 28)", + " (in 'higher_order.stan', line 4, column 24 to line 6, column 9)"}; + +template +stan::promote_args_t, +T1__> +higher_order_func(const T0__& g, const T1__& x, std::ostream* pstream__) ; + +struct higher_order_func_functor__ { +template +stan::promote_args_t, +T1__> +operator()(const T0__& g, const T1__& x, std::ostream* pstream__) const +{ +return higher_order_func(g, x, pstream__); +} +}; + +template +stan::promote_args_t +func(const T0__& x, std::ostream* pstream__) ; + +struct func_functor__ { +template +stan::promote_args_t +operator()(const T0__& x, std::ostream* pstream__) const +{ +return func(x, pstream__); +} +}; + +template +stan::promote_args_t +closure_L26C9_impl__(const T0__& p, const T1__& y, std::ostream* pstream__) ; +template +stan::promote_args_t +data_closure_L16C9_impl__(const double& x, const T1__& y, + std::ostream* pstream__) ; +template +stan::promote_args_t, T1__, +T2__> +g2_L4C13_impl__(const T0__& g, const T1__& x, const T2__& y, + std::ostream* pstream__) ; +template +stan::promote_args_t, +T1__> +higher_order_func(const T0__& g, const T1__& x, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T1__>; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + + current_statement__ = 7; + auto g2 = from_lambda([](const auto&... s) { return g2_L4C13_impl__(s...); }, + g, x); + current_statement__ = 8; + return g2(pstream__, 1.0); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +func(const T0__& x, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 10; + return x; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +closure_L26C9_impl__(const T0__& p, const T1__& y, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 12; + return (p * y); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +data_closure_L16C9_impl__(const double& x, const T1__& y, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 14; + return (x * y); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t, T1__, +T2__> +g2_L4C13_impl__(const T0__& g, const T1__& x, const T2__& y, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T1__, + T2__>; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 16; + return (g(pstream__, y) * x); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class higher_order_model final : public model_base_crtp { + + private: + double x; + double z; + + + public: + ~higher_order_model() { } + + inline std::string model_name() const final { return "higher_order_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + higher_order_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "higher_order_model_namespace::higher_order_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 5; + x = std::numeric_limits::quiet_NaN(); + + current_statement__ = 5; + x = higher_order_func(from_lambda(func_functor__()), 2.0, pstream__); + + current_statement__ = 1; + auto data_closure = from_lambda([](const auto&... s) { return data_closure_L16C9_impl__(s...); }, + x); + current_statement__ = 6; + z = std::numeric_limits::quiet_NaN(); + + current_statement__ = 6; + z = higher_order_func(data_closure, 1.0, pstream__); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 1; + + } + + 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__ = "higher_order_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + + current_statement__ = 1; + auto data_closure = from_lambda([](const auto&... s) { return data_closure_L16C9_impl__(s...); }, + x); + local_scalar_t__ p; + p = DUMMY_VAR__; + + current_statement__ = 2; + p = in__.template read(); + + current_statement__ = 3; + auto closure = from_lambda([](const auto&... s) { return closure_L26C9_impl__(s...); }, + p); + local_scalar_t__ w; + w = DUMMY_VAR__; + + current_statement__ = 4; + w = higher_order_func(closure, 1.0, pstream__); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "higher_order_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + double p; + p = std::numeric_limits::quiet_NaN(); + + current_statement__ = 2; + p = in__.template read(); + + double w; + w = std::numeric_limits::quiet_NaN(); + + out__.write(p); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + current_statement__ = 3; + auto closure = from_lambda([](const auto&... s) { return closure_L26C9_impl__(s...); }, + p); + current_statement__ = 4; + w = higher_order_func(closure, 1.0, pstream__); + if (emit_transformed_parameters__) { + out__.write(w); + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // 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 { + + current_statement__ = 1; + auto data_closure = from_lambda([](const auto&... s) { return data_closure_L16C9_impl__(s...); }, + x); + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + local_scalar_t__ p; + p = DUMMY_VAR__; + + p = in__.read(); + out__.write(p); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"p", "w"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{}, + std::vector{}}; + + } // 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"); + if (emit_transformed_parameters__) { + param_names__.emplace_back(std::string() + "w"); + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_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"); + if (emit_transformed_parameters__) { + param_names__.emplace_back(std::string() + "w"); + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"p\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"w\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"p\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"w\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"p"}; + const std::array constrain_param_sizes__{1}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = higher_order_model_namespace::higher_order_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return higher_order_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../../install/default/bin/stanc --print-cpp higher_order_suffixes.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace higher_order_suffixes_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'higher_order_suffixes.stan', line 16, column 4 to line 19, column 5)", + " (in 'higher_order_suffixes.stan', line 20, column 4 to line 23, column 5)", + " (in 'higher_order_suffixes.stan', line 24, column 4 to line 27, column 5)", + " (in 'higher_order_suffixes.stan', line 31, column 4 to line 34, column 5)", + " (in 'higher_order_suffixes.stan', line 35, column 4 to line 38, column 5)", + " (in 'higher_order_suffixes.stan', line 39, column 4 to line 42, column 5)", + " (in 'higher_order_suffixes.stan', line 43, column 4 to line 46, column 5)", + " (in 'higher_order_suffixes.stan', line 47, column 4 to line 50, column 5)", + " (in 'higher_order_suffixes.stan', line 51, column 4 to line 54, column 5)", + " (in 'higher_order_suffixes.stan', line 55, column 4 to line 58, column 5)", + " (in 'higher_order_suffixes.stan', line 62, column 4 to column 27)", + " (in 'higher_order_suffixes.stan', line 63, column 4 to column 21)", + " (in 'higher_order_suffixes.stan', line 66, column 4 to column 36)", + " (in 'higher_order_suffixes.stan', line 28, column 4 to column 26)", + " (in 'higher_order_suffixes.stan', line 29, column 4 to column 24)", + " (in 'higher_order_suffixes.stan', line 59, column 4 to column 30)", + " (in 'higher_order_suffixes.stan', line 3, column 8 to column 38)", + " (in 'higher_order_suffixes.stan', line 4, column 8 to column 17)", + " (in 'higher_order_suffixes.stan', line 2, column 25 to line 5, column 5)", + " (in 'higher_order_suffixes.stan', line 7, column 8 to column 34)", + " (in 'higher_order_suffixes.stan', line 8, column 8 to column 17)", + " (in 'higher_order_suffixes.stan', line 6, column 24 to line 9, column 5)", + " (in 'higher_order_suffixes.stan', line 11, column 8 to column 26)", + " (in 'higher_order_suffixes.stan', line 12, column 8 to column 17)", + " (in 'higher_order_suffixes.stan', line 10, column 23 to line 13, column 5)", + " (in 'higher_order_suffixes.stan', line 45, column 8 to column 17)", + " (in 'higher_order_suffixes.stan', line 44, column 20 to line 46, column 5)", + " (in 'higher_order_suffixes.stan', line 49, column 8 to column 17)", + " (in 'higher_order_suffixes.stan', line 48, column 25 to line 50, column 5)", + " (in 'higher_order_suffixes.stan', line 53, column 8 to column 17)", + " (in 'higher_order_suffixes.stan', line 52, column 24 to line 54, column 5)", + " (in 'higher_order_suffixes.stan', line 57, column 8 to column 17)", + " (in 'higher_order_suffixes.stan', line 56, column 23 to line 58, column 5)", + " (in 'higher_order_suffixes.stan', line 41, column 8 to column 25)", + " (in 'higher_order_suffixes.stan', line 40, column 35 to line 42, column 5)", + " (in 'higher_order_suffixes.stan', line 37, column 8 to column 28)", + " (in 'higher_order_suffixes.stan', line 36, column 48 to line 38, column 5)", + " (in 'higher_order_suffixes.stan', line 33, column 8 to column 27)", + " (in 'higher_order_suffixes.stan', line 32, column 38 to line 34, column 5)", + " (in 'higher_order_suffixes.stan', line 18, column 8 to column 28)", + " (in 'higher_order_suffixes.stan', line 17, column 32 to line 19, column 5)", + " (in 'higher_order_suffixes.stan', line 26, column 8 to column 26)", + " (in 'higher_order_suffixes.stan', line 25, column 41 to line 27, column 5)", + " (in 'higher_order_suffixes.stan', line 22, column 8 to column 26)", + " (in 'higher_order_suffixes.stan', line 21, column 35 to line 23, column 5)"}; + +template +stan::promote_args_t +ff_lpdf(const T0__& x, std::ostream* pstream__) ; + +struct ff_lpdf_functor__ { +template +stan::promote_args_t +operator()(const T0__& x, std::ostream* pstream__) const +{ +return ff_lpdf(x, pstream__); +} +}; + +template +stan::promote_args_t +ff_rng(const T0__& x, RNG& base_rng__, std::ostream* pstream__) ; + +struct ff_rng_functor__ { +template +stan::promote_args_t +operator()(const T0__& x, RNG& base_rng__, std::ostream* pstream__) const +{ +return ff_rng(x, base_rng__, pstream__); +} +}; + +template +stan::promote_args_t +ff_lp(const T0__& x, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) ; + +struct ff_lp_functor__ { +template +stan::promote_args_t +operator()(const T0__& x, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) const +{ +return ff_lp(x, lp__, lp_accum__, pstream__); +} +}; + +template +stan::promote_args_t +f2_L44C9_impl__(const T0__& x, std::ostream* pstream__) ; +template +stan::promote_args_t +f3_lpdf_L48C9_impl__(const T0__& x, std::ostream* pstream__) ;struct f3_lpdf_L48C9_pfunctor__ { +template +stan::promote_args_t +operator()(const T0__& x, std::ostream* pstream__) const { +return f3_lpdf_L48C9_impl__(x, pstream__); +} +}; + +template +stan::promote_args_t +f4_rng_L52C9_impl__(const T0__& x, RNG& base_rng__, std::ostream* pstream__) ; +template +stan::promote_args_t +f5_lp_L56C9_impl__(const T0__& x, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) ;struct f5_lp_L56C9_pfunctor__ { +template +stan::promote_args_t +operator()(const T0__& x, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) const { +return f5_lp_L56C9_impl__(x, lp__, lp_accum__, pstream__); +} +}; + +template +stan::promote_args_t> +foo_lp_L40C9_impl__(const T0__& bar_lp, T_lp__& lp__, + T_lp_accum__& lp_accum__, std::ostream* pstream__) ;struct foo_lp_L40C9_pfunctor__ { +template +stan::promote_args_t> +operator()(const T0__& bar_lp, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) const { +return foo_lp_L40C9_impl__(bar_lp, lp__, lp_accum__, pstream__); +} +}; + +template +stan::promote_args_t> +foo_lpdf_L36C9_impl__(const T0__& zz, const T1__& bar_lpdf, + std::ostream* pstream__) ;struct foo_lpdf_L36C9_pfunctor__ { +template +stan::promote_args_t> +operator()(const T0__& zz, const T1__& bar_lpdf, std::ostream* pstream__) const { +return foo_lpdf_L36C9_impl__(zz, bar_lpdf, pstream__); +} +}; + +template +stan::promote_args_t> +foo_rng_L32C9_impl__(const T0__& bar_lpdf, RNG& base_rng__, + std::ostream* pstream__) ; +template +stan::promote_args_t> +hof_L17C9_impl__(const T0__& s_lpdf, std::ostream* pstream__) ; +template +void +hof_lp_L25C9_impl__(const T0__& s_lp, const T1__& a, T_lp__& lp__, + T_lp_accum__& lp_accum__, std::ostream* pstream__) ;struct hof_lp_L25C9_pfunctor__ { +template +void +operator()(const T0__& s_lp, const T1__& a, T_lp__& lp__, + T_lp_accum__& lp_accum__, std::ostream* pstream__) const { +return hof_lp_L25C9_impl__(s_lp, a, lp__, lp_accum__, pstream__); +} +}; + +template +stan::promote_args_t> +hof_rng_L21C9_impl__(const T0__& s_rng, RNG& base_rng__, + std::ostream* pstream__) ; +template +stan::promote_args_t +ff_lpdf(const T0__& x, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ s; + s = DUMMY_VAR__; + + current_statement__ = 17; + s = std_normal_lpdf(0); + current_statement__ = 18; + return x; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +ff_rng(const T0__& x, RNG& base_rng__, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ s; + s = DUMMY_VAR__; + + current_statement__ = 20; + s = std_normal_rng(base_rng__); + current_statement__ = 21; + return x; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +ff_lp(const T0__& x, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ s; + s = DUMMY_VAR__; + + current_statement__ = 23; + s = get_lp(lp__, lp_accum__); + current_statement__ = 24; + return x; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f2_L44C9_impl__(const T0__& x, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 26; + return x; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f3_lpdf_L48C9_impl__(const T0__& x, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 28; + return x; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f4_rng_L52C9_impl__(const T0__& x, RNG& base_rng__, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 30; + return x; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f5_lp_L56C9_impl__(const T0__& x, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 32; + return x; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t> +foo_lp_L40C9_impl__(const T0__& bar_lp, T_lp__& lp__, + T_lp_accum__& lp_accum__, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 34; + return bar_lp.template operator()(lp__, lp_accum__, pstream__, + 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t> +foo_lpdf_L36C9_impl__(const T0__& zz, const T1__& bar_lpdf, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 36; + return bar_lpdf.template operator()(pstream__, 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t> +foo_rng_L32C9_impl__(const T0__& bar_lpdf, RNG& base_rng__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 38; + return bar_lpdf.template operator()(pstream__, 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t> +hof_L17C9_impl__(const T0__& s_lpdf, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 40; + return s_lpdf.template operator()(pstream__, 1.0); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +void +hof_lp_L25C9_impl__(const T0__& s_lp, const T1__& a, T_lp__& lp__, + T_lp_accum__& lp_accum__, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T1__>; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 42; + lp_accum__.add( + s_lp.template operator()(lp__, lp_accum__, pstream__, a)); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t> +hof_rng_L21C9_impl__(const T0__& s_rng, RNG& base_rng__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 44; + return s_rng(base_rng__, pstream__, 1.0); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class higher_order_suffixes_model final : public model_base_crtp { + + private: + double a; + double z; + + + public: + ~higher_order_suffixes_model() { } + + inline std::string model_name() const final { return "higher_order_suffixes_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + higher_order_suffixes_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "higher_order_suffixes_model_namespace::higher_order_suffixes_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + + current_statement__ = 1; + auto hof = from_lambda([](const auto&... s) { return hof_L17C9_impl__(s...); } + ); + + current_statement__ = 2; + auto hof_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return hof_rng_L21C9_impl__(s0, rng, msgs); } + ); + + current_statement__ = 3; + auto hof_lp = lp_from_lambda(hof_lp_L25C9_pfunctor__()); + current_statement__ = 14; + a = std::numeric_limits::quiet_NaN(); + + current_statement__ = 14; + a = hof(pstream__, lpdf_from_lambda(ff_lpdf_functor__())); + current_statement__ = 15; + a = hof_rng(base_rng__, pstream__, rng_from_lambda(ff_rng_functor__())); + + current_statement__ = 4; + auto foo_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return foo_rng_L32C9_impl__(s0, rng, msgs); } + ); + + current_statement__ = 5; + auto foo_lpdf = lpdf_from_lambda(foo_lpdf_L36C9_pfunctor__()); + + current_statement__ = 6; + auto foo_lp = lp_from_lambda(foo_lp_L40C9_pfunctor__()); + + current_statement__ = 7; + auto f2 = from_lambda([](const auto&... s) { return f2_L44C9_impl__(s...); } + ); + + current_statement__ = 8; + auto f3_lpdf = lpdf_from_lambda(f3_lpdf_L48C9_pfunctor__()); + + current_statement__ = 9; + auto f4_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return f4_rng_L52C9_impl__(s0, rng, msgs); } + ); + + current_statement__ = 10; + auto f5_lp = lp_from_lambda(f5_lp_L56C9_pfunctor__()); + current_statement__ = 16; + z = std::numeric_limits::quiet_NaN(); + + current_statement__ = 16; + z = foo_rng(base_rng__, pstream__, + f3_lpdf.template with_propto()); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 0U; + + } + + 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__ = "higher_order_suffixes_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + + current_statement__ = 1; + auto hof = from_lambda([](const auto&... s) { return hof_L17C9_impl__(s...); } + ); + + current_statement__ = 2; + auto hof_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return hof_rng_L21C9_impl__(s0, rng, msgs); } + ); + + current_statement__ = 3; + auto hof_lp = lp_from_lambda(hof_lp_L25C9_pfunctor__()); + + current_statement__ = 4; + auto foo_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return foo_rng_L32C9_impl__(s0, rng, msgs); } + ); + + current_statement__ = 5; + auto foo_lpdf = lpdf_from_lambda(foo_lpdf_L36C9_pfunctor__()); + + current_statement__ = 6; + auto foo_lp = lp_from_lambda(foo_lp_L40C9_pfunctor__()); + + current_statement__ = 7; + auto f2 = from_lambda([](const auto&... s) { return f2_L44C9_impl__(s...); } + ); + + current_statement__ = 8; + auto f3_lpdf = lpdf_from_lambda(f3_lpdf_L48C9_pfunctor__()); + + current_statement__ = 9; + auto f4_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return f4_rng_L52C9_impl__(s0, rng, msgs); } + ); + + current_statement__ = 10; + auto f5_lp = lp_from_lambda(f5_lp_L56C9_pfunctor__()); + local_scalar_t__ s; + s = DUMMY_VAR__; + + current_statement__ = 11; + s = foo_lp.template operator()(lp__, lp_accum__, pstream__, + f5_lp); + current_statement__ = 12; + hof_lp.template operator()(lp__, lp_accum__, pstream__, + lp_from_lambda(ff_lp_functor__()), s); + { + current_statement__ = 13; + lp_accum__.add( + foo_lpdf.template operator()(pstream__, 1, + f3_lpdf.template with_propto())); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "higher_order_suffixes_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + double s; + s = std::numeric_limits::quiet_NaN(); + + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + current_statement__ = 11; + s = foo_lp.template operator()(lp__, lp_accum__, pstream__, + f5_lp); + current_statement__ = 12; + hof_lp.template operator()(lp__, lp_accum__, pstream__, + lp_from_lambda(ff_lp_functor__()), s); + if (emit_transformed_parameters__) { + out__.write(s); + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // 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 { + + current_statement__ = 1; + auto hof = from_lambda([](const auto&... s) { return hof_L17C9_impl__(s...); } + ); + + current_statement__ = 2; + auto hof_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return hof_rng_L21C9_impl__(s0, rng, msgs); } + ); + + current_statement__ = 3; + auto hof_lp = lp_from_lambda(hof_lp_L25C9_pfunctor__()); + + current_statement__ = 4; + auto foo_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return foo_rng_L32C9_impl__(s0, rng, msgs); } + ); + + current_statement__ = 5; + auto foo_lpdf = lpdf_from_lambda(foo_lpdf_L36C9_pfunctor__()); + + current_statement__ = 6; + auto foo_lp = lp_from_lambda(foo_lp_L40C9_pfunctor__()); + + current_statement__ = 7; + auto f2 = from_lambda([](const auto&... s) { return f2_L44C9_impl__(s...); } + ); + + current_statement__ = 8; + auto f3_lpdf = lpdf_from_lambda(f3_lpdf_L48C9_pfunctor__()); + + current_statement__ = 9; + auto f4_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return f4_rng_L52C9_impl__(s0, rng, msgs); } + ); + + current_statement__ = 10; + auto f5_lp = lp_from_lambda(f5_lp_L56C9_pfunctor__()); + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"s"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{}}; + + } // get_dims() + + inline void constrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + + if (emit_transformed_parameters__) { + param_names__.emplace_back(std::string() + "s"); + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + + if (emit_transformed_parameters__) { + param_names__.emplace_back(std::string() + "s"); + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"s\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"s\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = 0; + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = 0; + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{}; + const std::array constrain_param_sizes__{}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} + +using stan_model = higher_order_suffixes_model_namespace::higher_order_suffixes_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return higher_order_suffixes_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../../install/default/bin/stanc --print-cpp ode_rk45.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace ode_rk45_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'ode_rk45.stan', line 14, column 4 to column 19)", + " (in 'ode_rk45.stan', line 15, column 4 to column 19)", + " (in 'ode_rk45.stan', line 18, column 4 to column 44)", + " (in 'ode_rk45.stan', line 11, column 4 to column 15)", + " (in 'ode_rk45.stan', line 14, column 16 to column 17)", + " (in 'ode_rk45.stan', line 3, column 8 to line 6, column 9)", + " (in 'ode_rk45.stan', line 7, column 8 to column 47)", + " (in 'ode_rk45.stan', line 2, column 59 to line 8, column 5)", + " (in 'ode_rk45.stan', line 5, column 12 to column 30)", + " (in 'ode_rk45.stan', line 4, column 42 to line 6, column 9)"}; + +template +std::vector, +T2__>, -1, 1>> +integrate(const std::vector>& k, const T1__& init, + const std::vector& ts, std::ostream* pstream__) ; + +struct integrate_functor__ { +template +std::vector, +T2__>, -1, 1>> +operator()(const std::vector>& k, + const T1__& init, const std::vector& ts, + std::ostream* pstream__) const +{ +return integrate(k, init, ts, pstream__); +} +}; + +template +Eigen::Matrix>, -1, 1> +harmonic_L4C15_impl__(const std::vector>& k, + const T1__& t, const T2__& y, std::ostream* pstream__) ; +template +std::vector, +T2__>, -1, 1>> +integrate(const std::vector>& k, + const T1__& init_arg__, const std::vector& ts, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T2__>; + int current_statement__ = 0; + const auto& init = to_ref(init_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + + current_statement__ = 6; + auto harmonic = from_lambda([](const auto&... s) { return harmonic_L4C15_impl__(s...); }, + k); + current_statement__ = 7; + return ode_rk45(stan::math::ode_closure_adapter(), init, 0, ts, + pstream__, harmonic); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +Eigen::Matrix>, -1, 1> +harmonic_L4C15_impl__(const std::vector>& k, + const T1__& t, const T2__& y_arg__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + const auto& y = to_ref(y_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 9; + return elt_multiply(minus(rvalue(k, "k", index_uni(1))), y); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class ode_rk45_model final : public model_base_crtp { + + private: + std::vector ts; + + + public: + ~ode_rk45_model() { } + + inline std::string model_name() const final { return "ode_rk45_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + ode_rk45_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "ode_rk45_model_namespace::ode_rk45_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 4; + context__.validate_dims("data initialization","ts","double", + std::vector{static_cast(5)}); + ts = std::vector(5, std::numeric_limits::quiet_NaN()); + + current_statement__ = 4; + ts = context__.vals_r("ts"); + current_statement__ = 5; + validate_non_negative_index("k", "1", 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = (1 * 2) + 2; + + } + + 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__ = "ode_rk45_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + std::vector> k; + k = std::vector>(1, Eigen::Matrix(2)); + stan::math::fill(k, DUMMY_VAR__); + + current_statement__ = 1; + k = in__.template read>>( + 1, 2); + Eigen::Matrix init; + init = Eigen::Matrix(2); + stan::math::fill(init, DUMMY_VAR__); + + current_statement__ = 2; + init = in__.template read>(2); + std::vector> y; + y = std::vector>(5, Eigen::Matrix(2)); + stan::math::fill(y, DUMMY_VAR__); + + current_statement__ = 3; + assign(y, integrate(k, init, ts, pstream__), "assigning variable y"); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "ode_rk45_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + std::vector> k; + k = std::vector>(1, Eigen::Matrix(2)); + stan::math::fill(k, std::numeric_limits::quiet_NaN()); + + current_statement__ = 1; + k = in__.template read>>( + 1, 2); + Eigen::Matrix init; + init = Eigen::Matrix(2); + stan::math::fill(init, std::numeric_limits::quiet_NaN()); + + current_statement__ = 2; + init = in__.template read>(2); + std::vector> y; + y = std::vector>(5, Eigen::Matrix(2)); + stan::math::fill(y, std::numeric_limits::quiet_NaN()); + + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 1; ++sym2__) { + out__.write(k[(sym2__ - 1)][(sym1__ - 1)]); + } + } + out__.write(init); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + current_statement__ = 3; + assign(y, integrate(k, init, ts, pstream__), "assigning variable y"); + if (emit_transformed_parameters__) { + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + out__.write(y[(sym2__ - 1)][(sym1__ - 1)]); + } + } + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // 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> k; + k = std::vector>(1, Eigen::Matrix(2)); + stan::math::fill(k, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 1; ++sym2__) { + assign(k, in__.read(), + "assigning variable k", index_uni(sym2__), index_uni(sym1__)); + } + } + out__.write(k); + Eigen::Matrix init; + init = Eigen::Matrix(2); + stan::math::fill(init, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + assign(init, in__.read(), + "assigning variable init", index_uni(sym1__)); + } + out__.write(init); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"k", "init", "y"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{ + static_cast(1) + , + static_cast(2) + }, + std::vector{static_cast(2)}, + std::vector{static_cast(5), 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 { + + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 1; ++sym2__) { + { + param_names__.emplace_back(std::string() + "k" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "init" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + { + param_names__.emplace_back(std::string() + "y" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 1; ++sym2__) { + { + param_names__.emplace_back(std::string() + "k" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "init" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + { + param_names__.emplace_back(std::string() + "y" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"k\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "}},\"block\":\"parameters\"},{\"name\":\"init\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"y\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "}},\"block\":\"transformed_parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"k\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "}},\"block\":\"parameters\"},{\"name\":\"init\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"y\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "}},\"block\":\"transformed_parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + ((1 * 2) + 2); + const size_t num_transformed = (5 * 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + ((1 * 2) + 2); + const size_t num_transformed = (5 * 2); + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"k", "init"}; + const std::array constrain_param_sizes__{(1 * 2), 2}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = ode_rk45_model_namespace::ode_rk45_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return ode_rk45_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../../install/default/bin/stanc --print-cpp reduce_sum.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace reduce_sum_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'reduce_sum.stan', line 5, column 4 to column 12)", + " (in 'reduce_sum.stan', line 6, column 4 to column 14)", + " (in 'reduce_sum.stan', line 9, column 4 to line 12, column 5)", + " (in 'reduce_sum.stan', line 13, column 4 to line 16, column 5)", + " (in 'reduce_sum.stan', line 17, column 4 to column 52)", + " (in 'reduce_sum.stan', line 18, column 4 to column 50)", + " (in 'reduce_sum.stan', line 19, column 4 to column 51)", + " (in 'reduce_sum.stan', line 2, column 4 to column 10)", + " (in 'reduce_sum.stan', line 6, column 11 to column 12)", + " (in 'reduce_sum.stan', line 15, column 8 to column 41)", + " (in 'reduce_sum.stan', line 14, column 61 to line 16, column 5)", + " (in 'reduce_sum.stan', line 11, column 8 to column 39)", + " (in 'reduce_sum.stan', line 10, column 63 to line 12, column 5)"}; +struct partial_sum_closure_rsfunctor__; +template +struct closure_dist_lpdf_rsfunctor__; +template +stan::promote_args_t +closure_dist_lpdf_L14C9_impl__(const T0__& mu, + const std::vector& slice, + const int& start, const int& end, + std::ostream* pstream__) ;struct closure_dist_lpdf_L14C9_pfunctor__ { +template +stan::promote_args_t +operator()(const T0__& mu, const std::vector& slice, const int& start, + const int& end, std::ostream* pstream__) const { +return closure_dist_lpdf_L14C9_impl__(mu, slice, start, end, + pstream__); +} +}; + +template +stan::promote_args_t +partial_sum_closure_L10C9_impl__(const T0__& mu, + const std::vector& slice, + const int& start, const int& end, + std::ostream* pstream__) ; +template +stan::promote_args_t +closure_dist_lpdf_L14C9_impl__(const T0__& mu, + const std::vector& slice, + const int& start, const int& end, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 10; + return normal_lpdf(slice, mu, 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +partial_sum_closure_L10C9_impl__(const T0__& mu, + const std::vector& slice, + const int& start, const int& end, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 12; + return normal_lpdf(slice, mu, 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class reduce_sum_model final : public model_base_crtp { + + private: + int N; + + + public: + ~reduce_sum_model() { } + + inline std::string model_name() const final { return "reduce_sum_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + reduce_sum_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "reduce_sum_model_namespace::reduce_sum_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 8; + context__.validate_dims("data initialization","N","int", + std::vector{}); + N = std::numeric_limits::min(); + + current_statement__ = 8; + N = context__.vals_i("N")[(1 - 1)]; + current_statement__ = 9; + validate_non_negative_index("x", "N", N); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 1 + N; + + } + + 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__ = "reduce_sum_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + local_scalar_t__ mu; + mu = DUMMY_VAR__; + + current_statement__ = 1; + mu = in__.template read(); + std::vector x; + x = std::vector(N, DUMMY_VAR__); + + current_statement__ = 2; + x = in__.template read>(N); + { + + current_statement__ = 3; + auto partial_sum_closure = from_lambda([](const auto&... s) { return partial_sum_closure_L10C9_impl__(s...); }, + mu); + + current_statement__ = 4; + auto closure_dist_lpdf = lpdf_from_lambda(closure_dist_lpdf_L14C9_pfunctor__(), + mu); + current_statement__ = 5; + lp_accum__.add( + reduce_sum(x, 1, pstream__, + partial_sum_closure)); + current_statement__ = 6; + lp_accum__.add( + reduce_sum(x, 1, pstream__, + closure_dist_lpdf.template with_propto())); + current_statement__ = 7; + lp_accum__.add( + reduce_sum(x, 1, pstream__, + closure_dist_lpdf.template with_propto())); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "reduce_sum_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + double mu; + mu = std::numeric_limits::quiet_NaN(); + + current_statement__ = 1; + mu = in__.template read(); + std::vector x; + x = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 2; + x = in__.template read>(N); + out__.write(mu); + out__.write(x); + 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__]); + } + } // 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__ mu; + mu = DUMMY_VAR__; + + mu = in__.read(); + out__.write(mu); + std::vector x; + x = std::vector(N, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + x[(sym1__ - 1)] = in__.read(); + } + out__.write(x); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"mu", "x"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{}, + 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 { + + param_names__.emplace_back(std::string() + "mu"); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "x" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + param_names__.emplace_back(std::string() + "mu"); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "x" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"mu\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"x\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"mu\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"x\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + (1 + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + (1 + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"mu", "x"}; + const std::array constrain_param_sizes__{1, N}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = reduce_sum_model_namespace::reduce_sum_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return reduce_sum_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../../install/default/bin/stanc --print-cpp rng_and_lpdf.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace rng_and_lpdf_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'rng_and_lpdf.stan', line 2, column 4 to column 11)", + " (in 'rng_and_lpdf.stan', line 3, column 4 to column 11)", + " (in 'rng_and_lpdf.stan', line 6, column 4 to line 9, column 5)", + " (in 'rng_and_lpdf.stan', line 10, column 4 to line 13, column 5)", + " (in 'rng_and_lpdf.stan', line 20, column 4 to column 33)", + " (in 'rng_and_lpdf.stan', line 16, column 4 to column 37)", + " (in 'rng_and_lpdf.stan', line 17, column 4 to column 38)", + " (in 'rng_and_lpdf.stan', line 12, column 8 to column 35)", + " (in 'rng_and_lpdf.stan', line 11, column 43 to line 13, column 5)", + " (in 'rng_and_lpdf.stan', line 8, column 8 to column 31)", + " (in 'rng_and_lpdf.stan', line 7, column 34 to line 9, column 5)"}; + +template +stan::promote_args_t +closure_dist_lpdf_L11C9_impl__(const T0__& y, const T1__& x, + std::ostream* pstream__) ;struct closure_dist_lpdf_L11C9_pfunctor__ { +template +stan::promote_args_t +operator()(const T0__& y, const T1__& x, std::ostream* pstream__) const { +return closure_dist_lpdf_L11C9_impl__(y, x, pstream__); +} +}; + +template +stan::promote_args_t +closure_dist_rng_L7C9_impl__(const T0__& x, RNG& base_rng__, + std::ostream* pstream__) ; +template +stan::promote_args_t +closure_dist_lpdf_L11C9_impl__(const T0__& y, const T1__& x, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 8; + return normal_lpdf(y, x, 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +closure_dist_rng_L7C9_impl__(const T0__& x, RNG& base_rng__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 10; + return normal_rng(x, 1, base_rng__); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class rng_and_lpdf_model final : public model_base_crtp { + + private: + + + + public: + ~rng_and_lpdf_model() { } + + inline std::string model_name() const final { return "rng_and_lpdf_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + rng_and_lpdf_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "rng_and_lpdf_model_namespace::rng_and_lpdf_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 1 + 1; + + } + + 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__ = "rng_and_lpdf_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + local_scalar_t__ s; + s = DUMMY_VAR__; + + current_statement__ = 1; + s = in__.template read(); + local_scalar_t__ k; + k = DUMMY_VAR__; + + current_statement__ = 2; + k = in__.template read(); + + current_statement__ = 3; + auto closure_dist_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return closure_dist_rng_L7C9_impl__(s0, rng, msgs); } + ); + + current_statement__ = 4; + auto closure_dist_lpdf = lpdf_from_lambda(closure_dist_lpdf_L11C9_pfunctor__() + ); + { + current_statement__ = 6; + lp_accum__.add( + closure_dist_lpdf.template operator()(pstream__, s, k)); + current_statement__ = 7; + lp_accum__.add( + closure_dist_lpdf.template operator()(pstream__, s, k)); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "rng_and_lpdf_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + double s; + s = std::numeric_limits::quiet_NaN(); + + current_statement__ = 1; + s = in__.template read(); + double k; + k = std::numeric_limits::quiet_NaN(); + + current_statement__ = 2; + k = in__.template read(); + + + out__.write(s); + out__.write(k); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + current_statement__ = 3; + auto closure_dist_rng = rng_from_lambda([](const auto& s0, + auto& rng, auto msgs) { return closure_dist_rng_L7C9_impl__(s0, rng, msgs); } + ); + current_statement__ = 4; + auto closure_dist_lpdf = lpdf_from_lambda(closure_dist_lpdf_L11C9_pfunctor__() + ); + if (logical_negation(emit_generated_quantities__)) { + return ; + } + double m; + m = std::numeric_limits::quiet_NaN(); + + current_statement__ = 5; + m = closure_dist_rng(base_rng__, pstream__, k); + out__.write(m); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // 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__ s; + s = DUMMY_VAR__; + + s = in__.read(); + out__.write(s); + local_scalar_t__ k; + k = DUMMY_VAR__; + + k = in__.read(); + out__.write(k); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"s", "k", "m"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{}, + std::vector{}, std::vector{}}; + + } // 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() + "s"); + param_names__.emplace_back(std::string() + "k"); + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + param_names__.emplace_back(std::string() + "m"); + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + param_names__.emplace_back(std::string() + "s"); + param_names__.emplace_back(std::string() + "k"); + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + param_names__.emplace_back(std::string() + "m"); + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"s\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"k\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"m\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"s\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"k\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"m\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + (1 + 1); + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + (1 + 1); + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"s", "k"}; + const std::array constrain_param_sizes__{1, 1}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = rng_and_lpdf_model_namespace::rng_and_lpdf_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return rng_and_lpdf_model_namespace::profiles__; +} + +#endif + + + diff --git a/test/integration/good/code-gen/closures/dune b/test/integration/good/code-gen/closures/dune new file mode 100644 index 0000000000..da77853ac5 --- /dev/null +++ b/test/integration/good/code-gen/closures/dune @@ -0,0 +1,10 @@ +(rule + (targets cpp.output) + (deps (package stanc) (:stanfiles (glob_files *.stan))) + (action + (with-stdout-to %{targets} + (run %{bin:run_bin_on_args} "%{bin:stanc} --print-cpp" %{stanfiles})))) + +(alias + (name runtest) + (action (diff cpp.expected cpp.output))) \ No newline at end of file diff --git a/test/integration/good/code-gen/closures/higher_order.stan b/test/integration/good/code-gen/closures/higher_order.stan new file mode 100644 index 0000000000..f88b8b82ac --- /dev/null +++ b/test/integration/good/code-gen/closures/higher_order.stan @@ -0,0 +1,30 @@ +functions { + real higher_order_func(real(real) g, real x) { + function + real g2(real y) { + return g(y) * x; + } + return g2(1.0); + } + real func(real x) { + return x; + } +} +transformed data { + real x = higher_order_func(func, 2.0); + function + real data_closure(real y) { + return x*y; + } + real z = higher_order_func(data_closure, 1.0); +} +parameters { + real p; +} +transformed parameters { + function + real closure(real y) { + return p*y; + } + real w = higher_order_func(closure, 1.0); +} \ No newline at end of file diff --git a/test/integration/good/code-gen/closures/higher_order_suffixes.stan b/test/integration/good/code-gen/closures/higher_order_suffixes.stan new file mode 100644 index 0000000000..ad7bc49cdd --- /dev/null +++ b/test/integration/good/code-gen/closures/higher_order_suffixes.stan @@ -0,0 +1,67 @@ +functions { + real ff_lpdf(real x) { + real s = std_normal_lupdf(0|); + return x; + } + real ff_rng(real x) { + real s = std_normal_rng(); + return x; + } + real ff_lp(real x) { + real s = target(); + return x; + } +} +transformed data { + function + real hof(real(real) s_lpdf) { + return s_lpdf(1.0|); + } + function + real hof_rng(real(real) s_rng) { + return s_rng(1.0); + } + function + void hof_lp(real(real) s_lp, real a) { + target += s_lp(a); + } + real a = hof(ff_lpdf); + a = hof_rng(ff_rng); + + function + real foo_rng(real(real) bar_lpdf) { + return bar_lpdf(1); + } + function + real foo_lpdf(real zz, real(real) bar_lpdf) { + return bar_lupdf(1); + } + function + real foo_lp(real(real) bar_lp) { + return bar_lp(1); + } + function + real f2(real x) { + return x; + } + function + real f3_lpdf(real x) { + return x; + } + function + real f4_rng(real x) { + return x; + } + function + real f5_lp(real x) { + return x; + } + real z = foo_rng(f3_lpdf); +} +transformed parameters { + real s = foo_lp(f5_lp); + hof_lp(ff_lp, s); +} +model { + target += foo_lupdf(1|f3_lupdf); +} \ No newline at end of file diff --git a/test/integration/good/code-gen/closures/ode_rk45.stan b/test/integration/good/code-gen/closures/ode_rk45.stan new file mode 100644 index 0000000000..0d132779f7 --- /dev/null +++ b/test/integration/good/code-gen/closures/ode_rk45.stan @@ -0,0 +1,19 @@ +functions { + vector[] integrate(vector[] k, vector init, real[] ts) { + function + vector harmonic(real t, vector y) { + return -k[1] .* y; + } + return ode_rk45(harmonic, init, 0, ts); + } +} +data { + real ts[5]; +} +parameters { + vector[2] k[1]; + vector[2] init; +} +transformed parameters { + vector[2] y[5] = integrate(k, init, ts); +} \ No newline at end of file diff --git a/test/integration/good/code-gen/closures/reduce_sum.stan b/test/integration/good/code-gen/closures/reduce_sum.stan new file mode 100644 index 0000000000..c74205d5d0 --- /dev/null +++ b/test/integration/good/code-gen/closures/reduce_sum.stan @@ -0,0 +1,20 @@ +data { + int N; +} +parameters { + real mu; + real x[N]; +} +model { + function + real partial_sum_closure(real[] slice, int start, int end) { + return normal_lpdf(slice|mu,1); + } + function + real closure_dist_lpdf(real[] slice, int start, int end) { + return normal_lupdf(slice|mu, 1); + } + target += reduce_sum(partial_sum_closure, x, 1); + target += reduce_sum(closure_dist_lpdf, x, 1); + target += reduce_sum(closure_dist_lupdf, x, 1); +} \ No newline at end of file diff --git a/test/integration/good/code-gen/closures/rng_and_lpdf.stan b/test/integration/good/code-gen/closures/rng_and_lpdf.stan new file mode 100644 index 0000000000..df2d13e2b4 --- /dev/null +++ b/test/integration/good/code-gen/closures/rng_and_lpdf.stan @@ -0,0 +1,21 @@ +parameters { + real s; + real k; +} +transformed parameters { + function + real closure_dist_rng(real x) { + return normal_rng(x,1); + } + function + real closure_dist_lpdf(real y, real x) { + return normal_lupdf(y|x,1); + } +} +model { + target += closure_dist_lpdf(s|k); + target += closure_dist_lupdf(s|k); +} +generated quantities { + real m = closure_dist_rng(k); +} \ No newline at end of file diff --git a/test/integration/good/code-gen/cpp.expected b/test/integration/good/code-gen/cpp.expected index c62d90b8f2..f5d2232c67 100644 --- a/test/integration/good/code-gen/cpp.expected +++ b/test/integration/good/code-gen/cpp.expected @@ -60,6 +60,8 @@ class _8_schools_ncp_model final : public model_base_crtp<_8_schools_ncp_model> unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -527,6 +529,8 @@ class _8start_with_number_model final : public model_base_crtp<_8start_with_numb unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -1272,6 +1276,148 @@ static constexpr std::array locations_array__ = " (in 'complex_scalar.stan', line 33, column 8 to column 17)", " (in 'complex_scalar.stan', line 32, column 34 to line 34, column 5)"}; +std::complex +foo(std::ostream* pstream__) ; + +struct foo_functor__ { +std::complex +operator()(std::ostream* pstream__) const +{ +return foo(pstream__); +} +}; + +template +stan::promote_args_t +foo1(const std::complex& z, std::ostream* pstream__) ; + +struct foo1_functor__ { +template +stan::promote_args_t +operator()(const std::complex& z, std::ostream* pstream__) const +{ +return foo1(z, pstream__); +} +}; + +template +std::complex> +foo2(const T0__& r, std::ostream* pstream__) ; + +struct foo2_functor__ { +template +std::complex> +operator()(const T0__& r, std::ostream* pstream__) const +{ +return foo2(r, pstream__); +} +}; + +template +std::complex> +foo3(const std::complex& z, std::ostream* pstream__) ; + +struct foo3_functor__ { +template +std::complex> +operator()(const std::complex& z, std::ostream* pstream__) const +{ +return foo3(z, pstream__); +} +}; + +std::vector> +foo4(std::ostream* pstream__) ; + +struct foo4_functor__ { +std::vector> +operator()(std::ostream* pstream__) const +{ +return foo4(pstream__); +} +}; + +template +stan::promote_args_t +foo5(const std::vector>& z, std::ostream* pstream__) ; + +struct foo5_functor__ { +template +stan::promote_args_t +operator()(const std::vector>& z, std::ostream* pstream__) const +{ +return foo5(z, pstream__); +} +}; + +template +std::vector>> +foo6(const T0__& r, std::ostream* pstream__) ; + +struct foo6_functor__ { +template +std::vector>> +operator()(const T0__& r, std::ostream* pstream__) const +{ +return foo6(r, pstream__); +} +}; + +template +std::vector>> +foo7(const std::vector>& z, std::ostream* pstream__) ; + +struct foo7_functor__ { +template +std::vector>> +operator()(const std::vector>& z, std::ostream* pstream__) const +{ +return foo7(z, pstream__); +} +}; + +template +stan::promote_args_t +foo8(const std::vector>>& z, + std::ostream* pstream__) ; + +struct foo8_functor__ { +template +stan::promote_args_t +operator()(const std::vector>>& z, + std::ostream* pstream__) const +{ +return foo8(z, pstream__); +} +}; + +template +std::vector>>> +foo9(const T0__& r, std::ostream* pstream__) ; + +struct foo9_functor__ { +template +std::vector>>> +operator()(const T0__& r, std::ostream* pstream__) const +{ +return foo9(r, pstream__); +} +}; + +template +std::vector>>> +foo10(const std::vector>>& z, + std::ostream* pstream__) ; + +struct foo10_functor__ { +template +std::vector>>> +operator()(const std::vector>>& z, + std::ostream* pstream__) const +{ +return foo10(z, pstream__); +} +}; std::complex foo(std::ostream* pstream__) { @@ -1289,15 +1435,6 @@ foo(std::ostream* pstream__) { } } - -struct foo_functor__ { -std::complex -operator()(std::ostream* pstream__) const -{ -return foo(pstream__); -} -}; - template stan::promote_args_t foo1(const std::complex& z, std::ostream* pstream__) { @@ -1315,16 +1452,6 @@ foo1(const std::complex& z, std::ostream* pstream__) { } } - -struct foo1_functor__ { -template -stan::promote_args_t -operator()(const std::complex& z, std::ostream* pstream__) const -{ -return foo1(z, pstream__); -} -}; - template std::complex> foo2(const T0__& r, std::ostream* pstream__) { @@ -1342,16 +1469,6 @@ foo2(const T0__& r, std::ostream* pstream__) { } } - -struct foo2_functor__ { -template -std::complex> -operator()(const T0__& r, std::ostream* pstream__) const -{ -return foo2(r, pstream__); -} -}; - template std::complex> foo3(const std::complex& z, std::ostream* pstream__) { @@ -1369,16 +1486,6 @@ foo3(const std::complex& z, std::ostream* pstream__) { } } - -struct foo3_functor__ { -template -std::complex> -operator()(const std::complex& z, std::ostream* pstream__) const -{ -return foo3(z, pstream__); -} -}; - std::vector> foo4(std::ostream* pstream__) { using local_scalar_t__ = double; @@ -1395,15 +1502,6 @@ foo4(std::ostream* pstream__) { } } - -struct foo4_functor__ { -std::vector> -operator()(std::ostream* pstream__) const -{ -return foo4(pstream__); -} -}; - template stan::promote_args_t foo5(const std::vector>& z, std::ostream* pstream__) { @@ -1421,16 +1519,6 @@ foo5(const std::vector>& z, std::ostream* pstream__) { } } - -struct foo5_functor__ { -template -stan::promote_args_t -operator()(const std::vector>& z, std::ostream* pstream__) const -{ -return foo5(z, pstream__); -} -}; - template std::vector>> foo6(const T0__& r, std::ostream* pstream__) { @@ -1449,16 +1537,6 @@ foo6(const T0__& r, std::ostream* pstream__) { } } - -struct foo6_functor__ { -template -std::vector>> -operator()(const T0__& r, std::ostream* pstream__) const -{ -return foo6(r, pstream__); -} -}; - template std::vector>> foo7(const std::vector>& z, std::ostream* pstream__) { @@ -1476,16 +1554,6 @@ foo7(const std::vector>& z, std::ostream* pstream__) { } } - -struct foo7_functor__ { -template -std::vector>> -operator()(const std::vector>& z, std::ostream* pstream__) const -{ -return foo7(z, pstream__); -} -}; - template stan::promote_args_t foo8(const std::vector>>& z, @@ -1504,17 +1572,6 @@ foo8(const std::vector>>& z, } } - -struct foo8_functor__ { -template -stan::promote_args_t -operator()(const std::vector>>& z, - std::ostream* pstream__) const -{ -return foo8(z, pstream__); -} -}; - template std::vector>>> foo9(const T0__& r, std::ostream* pstream__) { @@ -1536,16 +1593,6 @@ foo9(const T0__& r, std::ostream* pstream__) { } } - -struct foo9_functor__ { -template -std::vector>>> -operator()(const T0__& r, std::ostream* pstream__) const -{ -return foo9(r, pstream__); -} -}; - template std::vector>>> foo10(const std::vector>>& z, @@ -1564,17 +1611,6 @@ foo10(const std::vector>>& z, } } - -struct foo10_functor__ { -template -std::vector>>> -operator()(const std::vector>>& z, - std::ostream* pstream__) const -{ -return foo10(z, pstream__); -} -}; - class complex_scalar_model final : public model_base_crtp { private: @@ -1604,6 +1640,8 @@ class complex_scalar_model final : public model_base_crtp unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -3545,6 +3583,8 @@ class conditional_expression_types_model final : public model_base_crtp locations_array__ = " (in 'mother.stan', line 312, column 4 to column 16)", " (in 'mother.stan', line 309, column 78 to line 313, column 3)"}; - int foo(const int& n, std::ostream* pstream__) ; - int -foo(const int& n, std::ostream* pstream__) { - using local_scalar_t__ = double; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 593; - if (logical_eq(n, 0)) { - current_statement__ = 592; - return 1; - } - current_statement__ = 594; - return (n * foo((n - 1), pstream__)); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo(const int& n, std::ostream* pstream__) ; struct foo_functor__ { int @@ -5737,38 +5760,12 @@ T2__>> sho(const T0__& t, const std::vector& y, const std::vector& theta, const std::vector& x, const std::vector& x_int, std::ostream* pstream__) ; - template std::vector> sho(const T0__& t, const std::vector& y, const std::vector& theta, const std::vector& x, - const std::vector& x_int, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - std::vector dydt; - dydt = std::vector(2, DUMMY_VAR__); - - current_statement__ = 597; - assign(dydt, rvalue(y, "y", index_uni(2)), - "assigning variable dydt", index_uni(1)); - current_statement__ = 598; - assign(dydt, - (-rvalue(y, "y", index_uni(1)) - - (rvalue(theta, "theta", index_uni(1)) * rvalue(y, "y", index_uni(2)))), - "assigning variable dydt", index_uni(2)); - current_statement__ = 599; - return dydt; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + const std::vector& x_int, std::ostream* pstream__) ; struct sho_functor__ { template @@ -5783,21 +5780,7 @@ return sho(t, y, theta, x, x_int, pstream__); }; double -foo_bar0(std::ostream* pstream__) { - using local_scalar_t__ = double; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 601; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_bar0(std::ostream* pstream__) ; struct foo_bar0_functor__ { double @@ -5809,21 +5792,7 @@ return foo_bar0(pstream__); template stan::promote_args_t -foo_bar1(const T0__& x, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 603; - return 1.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_bar1(const T0__& x, std::ostream* pstream__) ; struct foo_bar1_functor__ { template @@ -5837,21 +5806,7 @@ return foo_bar1(x, pstream__); template stan::promote_args_t -foo_bar2(const T0__& x, const T1__& y, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 605; - return 2.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_bar2(const T0__& x, const T1__& y, std::ostream* pstream__) ; struct foo_bar2_functor__ { template @@ -5865,19 +5820,7 @@ return foo_bar2(x, y, pstream__); template stan::promote_args_t -foo_lpmf(const int& y, const T1__& lambda, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 607; - return 1.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_lpmf(const int& y, const T1__& lambda, std::ostream* pstream__) ; struct foo_lpmf_functor__ { template @@ -5890,21 +5833,7 @@ return foo_lpmf(y, lambda, pstream__); template stan::promote_args_t -foo_lcdf(const int& y, const T1__& lambda, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 609; - return 1.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_lcdf(const int& y, const T1__& lambda, std::ostream* pstream__) ; struct foo_lcdf_functor__ { template @@ -5917,21 +5846,7 @@ return foo_lcdf(y, lambda, pstream__); template stan::promote_args_t -foo_lccdf(const int& y, const T1__& lambda, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 611; - return 1.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_lccdf(const int& y, const T1__& lambda, std::ostream* pstream__) ; struct foo_lccdf_functor__ { template @@ -5946,21 +5861,7 @@ template stan::promote_args_t foo_rng(const T0__& mu, const T1__& sigma, RNG& base_rng__, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 613; - return normal_rng(mu, sigma, base_rng__); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct foo_rng_functor__ { template @@ -5977,21 +5878,7 @@ template void unit_normal_lp(const T0__& u, T_lp__& lp__, T_lp_accum__& lp_accum__, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 615; - lp_accum__.add(normal_log(u, 0, 1)); - current_statement__ = 616; - lp_accum__.add(uniform_lpdf(u, -100, 100)); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct unit_normal_lp_functor__ { template (u, lp__, lp_accum__, pstream__); }; int -foo_1(const int& a, std::ostream* pstream__) { - using local_scalar_t__ = double; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 619; - while (1) { - break; - } - current_statement__ = 621; - while (0) { - continue; - } - current_statement__ = 623; - for (int i = 1; i <= 10; ++i) { break;} - current_statement__ = 625; - for (int i = 1; i <= 10; ++i) { continue;} - current_statement__ = 630; - while (1) { - int b; - b = std::numeric_limits::min(); - - current_statement__ = 627; - b = 5; - break; - } - current_statement__ = 637; - while (1) { - current_statement__ = 635; - if (0) { - break; - } else { - current_statement__ = 633; - if (1) { - break; - } else { - break; - } - } - } - current_statement__ = 640; - while (1) { - current_statement__ = 639; - while (0) { - break; - } - } - current_statement__ = 644; - while (1) { - current_statement__ = 642; - for (int i = 1; i <= 10; ++i) { break;} - } - current_statement__ = 659; - while (1) { - std::vector> vs; - vs = std::vector>(2, std::vector(3, std::numeric_limits::min())); - - - int z; - z = std::numeric_limits::min(); - - current_statement__ = 647; - for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { - { - std::vector v; - current_statement__ = 647; - assign(v, vs[(sym1__ - 1)], "assigning variable v"); - current_statement__ = 648; - z = 0; - break; - } - } - current_statement__ = 650; - for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { - { - std::vector v; - current_statement__ = 650; - assign(v, vs[(sym1__ - 1)], "assigning variable v"); - current_statement__ = 651; - z = 0; - continue; - } - } - current_statement__ = 653; - for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { - { - std::vector v; - current_statement__ = 653; - assign(v, vs[(sym1__ - 1)], "assigning variable v"); - current_statement__ = 654; - for (int sym1__ = 1; sym1__ <= stan::math::size(v); ++sym1__) { - { - int vv; - current_statement__ = 654; - vv = v[(sym1__ - 1)]; - current_statement__ = 655; - z = 0; - break; - } - } - current_statement__ = 657; - z = 1; - } - } - } - current_statement__ = 669; - while (1) { - local_scalar_t__ z; - z = DUMMY_VAR__; - - Eigen::Matrix vs; - vs = Eigen::Matrix(2, 3); - stan::math::fill(vs, DUMMY_VAR__); - - current_statement__ = 662; - for (int sym1__ = 1; sym1__ <= rows(vs); ++sym1__) { - current_statement__ = 662; - for (int sym2__ = 1; - sym2__ <= stan::math::size(rvalue(vs, "vs", index_uni(sym1__))); - ++sym2__) { - { - local_scalar_t__ v; - current_statement__ = 662; - v = rvalue(vs, "vs", index_uni(sym1__), index_uni(sym2__)); - current_statement__ = 663; - z = 0; - break; - } - } - } - current_statement__ = 665; - for (int sym1__ = 1; sym1__ <= rows(vs); ++sym1__) { - current_statement__ = 665; - for (int sym2__ = 1; - sym2__ <= stan::math::size(rvalue(vs, "vs", index_uni(sym1__))); - ++sym2__) { - { - local_scalar_t__ v; - current_statement__ = 665; - v = rvalue(vs, "vs", index_uni(sym1__), index_uni(sym2__)); - current_statement__ = 666; - z = 3.1; - continue; - } - } - } - } - current_statement__ = 679; - while (1) { - local_scalar_t__ z; - z = DUMMY_VAR__; - - Eigen::Matrix vs; - vs = Eigen::Matrix(2); - stan::math::fill(vs, DUMMY_VAR__); - - current_statement__ = 672; - for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { - { - local_scalar_t__ v; - current_statement__ = 672; - v = vs[(sym1__ - 1)]; - current_statement__ = 673; - z = 0; - break; - } - } - current_statement__ = 675; - for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { - { - local_scalar_t__ v; - current_statement__ = 675; - v = vs[(sym1__ - 1)]; - current_statement__ = 676; - z = 3.2; - continue; - } - } - } - current_statement__ = 689; - while (1) { - local_scalar_t__ z; - z = DUMMY_VAR__; - - Eigen::Matrix vs; - vs = Eigen::Matrix(2); - stan::math::fill(vs, DUMMY_VAR__); - - current_statement__ = 682; - for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { - { - local_scalar_t__ v; - current_statement__ = 682; - v = vs[(sym1__ - 1)]; - current_statement__ = 683; - z = 0; - break; - } - } - current_statement__ = 685; - for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { - { - local_scalar_t__ v; - current_statement__ = 685; - v = vs[(sym1__ - 1)]; - current_statement__ = 686; - z = 3.3; - continue; - } - } - } - current_statement__ = 697; - while (1) { - int b; - b = std::numeric_limits::min(); - - current_statement__ = 691; - b = 5; - { - int c; - c = std::numeric_limits::min(); - - current_statement__ = 693; - c = 6; - break; - } - } - current_statement__ = 698; - return 0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_1(const int& a, std::ostream* pstream__) ; struct foo_1_functor__ { int @@ -6252,37 +5903,7 @@ return foo_1(a, pstream__); }; int -foo_2(const int& a, std::ostream* pstream__) { - using local_scalar_t__ = double; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - std::vector vs; - vs = std::vector(2, std::numeric_limits::min()); - - int y; - y = std::numeric_limits::min(); - - current_statement__ = 702; - for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { - { - int v; - current_statement__ = 702; - v = vs[(sym1__ - 1)]; - current_statement__ = 703; - y = v; - } - } - current_statement__ = 704; - return 0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_2(const int& a, std::ostream* pstream__) ; struct foo_2_functor__ { int @@ -6294,21 +5915,7 @@ return foo_2(a, pstream__); template std::vector> -foo_3(const T0__& t, const int& n, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 706; - return rep_array(t, n); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_3(const T0__& t, const int& n, std::ostream* pstream__) ; struct foo_3_functor__ { template @@ -6323,19 +5930,7 @@ template stan::promote_args_t foo_lp(const T0__& x, T_lp__& lp__, T_lp_accum__& lp_accum__, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 708; - return (x + get_lp(lp__, lp_accum__)); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct foo_lp_functor__ { template (x, lp__, lp_accum__, pstream__); template void -foo_4(const T0__& x, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 710; - std::stringstream errmsg_stream__; - errmsg_stream__ << "user-specified rejection"; - errmsg_stream__ << x; - throw std::domain_error(errmsg_stream__.str()); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_4(const T0__& x, std::ostream* pstream__) ; struct foo_4_functor__ { template @@ -6382,55 +5960,7 @@ template stan::promote_args_t relative_diff(const T0__& x, const T1__& y, const T2__& max_, - const T3__& min_, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - local_scalar_t__ abs_diff; - abs_diff = DUMMY_VAR__; - - local_scalar_t__ avg_scale; - avg_scale = DUMMY_VAR__; - - current_statement__ = 714; - abs_diff = stan::math::fabs((x - y)); - current_statement__ = 715; - avg_scale = ((stan::math::fabs(x) + stan::math::fabs(y)) / 2); - current_statement__ = 717; - if (logical_gt((abs_diff / avg_scale), max_)) { - current_statement__ = 716; - std::stringstream errmsg_stream__; - errmsg_stream__ << "user-specified rejection, difference above "; - errmsg_stream__ << max_; - errmsg_stream__ << " x:"; - errmsg_stream__ << x; - errmsg_stream__ << " y:"; - errmsg_stream__ << y; - throw std::domain_error(errmsg_stream__.str()); - } - current_statement__ = 719; - if (logical_lt((abs_diff / avg_scale), min_)) { - current_statement__ = 718; - std::stringstream errmsg_stream__; - errmsg_stream__ << "user-specified rejection, difference below "; - errmsg_stream__ << min_; - errmsg_stream__ << " x:"; - errmsg_stream__ << x; - errmsg_stream__ << " y:"; - errmsg_stream__ << y; - throw std::domain_error(errmsg_stream__.str()); - } - current_statement__ = 720; - return (abs_diff / avg_scale); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + const T3__& min_, std::ostream* pstream__) ; struct relative_diff_functor__ { template @@ -6446,26 +5976,9 @@ return relative_diff(x, y, max_, min_, pstream__); template Eigen::Matrix, stan::value_type_t>, -1, 1> -foo_5(const T0__& shared_params_arg__, const T1__& job_params_arg__, +foo_5(const T0__& shared_params, const T1__& job_params, const std::vector& data_r, const std::vector& data_i, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - stan::value_type_t>; - int current_statement__ = 0; - const auto& shared_params = to_ref(shared_params_arg__); - const auto& job_params = to_ref(job_params_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 722; - return (Eigen::Matrix(3) << 1, 2, 3).finished(); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct foo_5_functor__ { template @@ -6484,25 +5997,7 @@ typename T4__> stan::promote_args_t foo_five_args(const T0__& x1, const T1__& x2, const T2__& x3, const T3__& x4, - const T4__& x5, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 724; - return x1; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + const T4__& x5, std::ostream* pstream__) ; struct foo_five_args_functor__ { template > foo_five_args_lp(const T0__& x1, const T1__& x2, const T2__& x3, const T3__& x4, const T4__& x5, const T5__& x6, T_lp__& lp__, T_lp_accum__& lp_accum__, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t>; - int current_statement__ = 0; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 726; - return x1; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct foo_five_args_lp_functor__ { template (x1, x2, x3, x4, x5, x6, lp__, lp_accum__, template Eigen::Matrix>, -1, -1> -covsqrt2corsqrt(const T0__& mat_arg__, const int& invert, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t>; - int current_statement__ = 0; - const auto& mat = to_ref(mat_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 728; - validate_non_negative_index("o", "rows(mat)", rows(mat)); - current_statement__ = 729; - validate_non_negative_index("o", "cols(mat)", cols(mat)); - Eigen::Matrix o; - o = Eigen::Matrix(rows(mat), cols(mat)); - stan::math::fill(o, DUMMY_VAR__); - - current_statement__ = 731; - assign(o, mat, "assigning variable o"); - current_statement__ = 732; - assign(o, stan::model::deep_copy(rvalue(o, "o", index_uni(2))), - "assigning variable o", index_uni(1)); - current_statement__ = 733; - assign(o, stan::model::deep_copy(rvalue(o, "o", index_min_max(1, 2))), - "assigning variable o", index_min_max(3, 4)); - current_statement__ = 734; - return o; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +covsqrt2corsqrt(const T0__& mat, const int& invert, std::ostream* pstream__) ; struct covsqrt2corsqrt_functor__ { template @@ -6608,38 +6055,11 @@ void f0(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 736; - if (pstream__) { - stan_print(pstream__, "hi"); - stan_print(pstream__, "\n"); - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f0_functor__ { template & a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 738; - return a1; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f1_functor__ { template f2(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 740; - return a2; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f2_functor__ { template > f3(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 742; - return a3; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f3_functor__ { template > f4(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 744; - return a4; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f4_functor__ { template >> f5(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 746; - return a5; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f5_functor__ { template >>> f6(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 748; - return a6; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f6_functor__ { template >, -1, 1> f7(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 750; - return a7; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f7_functor__ { template >, -1, 1>> f8(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 752; - return a8; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f8_functor__ { template >, -1, 1>>> f9(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 754; - return a9; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f9_functor__ { template >, -1, -1> f10(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 756; - return a10; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f10_functor__ { template >, -1, -1>> f11(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 758; - return a11; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f11_functor__ { template >, -1, -1>>> f12(const int& a1, const std::vector& a2, const std::vector>& a3, const T3__& a4, const std::vector& a5, const std::vector>& a6, - const T6__& a7_arg__, const std::vector>& a8, + const T6__& a7, const std::vector>& a8, const std::vector>>& a9, - const T9__& a10_arg__, - const std::vector>& a11, + const T9__& a10, const std::vector>& a11, const std::vector>>& a12, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T7__, stan::promote_args_t, - T10__, - T11__>>; - int current_statement__ = 0; - const auto& a7 = to_ref(a7_arg__); - const auto& a10 = to_ref(a10_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 760; - return a12; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + std::ostream* pstream__) ; struct f12_functor__ { template ::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int a; - a = std::numeric_limits::min(); - - local_scalar_t__ b; - b = DUMMY_VAR__; - - std::vector> c; - c = std::vector>(20, std::vector(30, DUMMY_VAR__)); - - - std::vector>> ar_mat; - ar_mat = std::vector>>(60, std::vector>(70, Eigen::Matrix(40, 50))); - stan::math::fill(ar_mat, DUMMY_VAR__); - - current_statement__ = 766; - assign(ar_mat, b, - "assigning variable ar_mat", index_uni(1), index_uni(1), index_uni(1), - index_uni(1)); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +foo_6(std::ostream* pstream__) ; struct foo_6_functor__ { void @@ -7398,25 +6500,7 @@ return foo_6(pstream__); }; Eigen::Matrix -matfoo(std::ostream* pstream__) { - using local_scalar_t__ = double; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 768; - return stan::math::to_matrix(std::vector>{ - (Eigen::Matrix(10) << 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10).finished(), (Eigen::Matrix(10) << 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10).finished(), (Eigen::Matrix(10) << 1, 2, 3, - 4, 5, 6, 7, 8, 9, 10).finished()}); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +matfoo(std::ostream* pstream__) ; struct matfoo_functor__ { Eigen::Matrix @@ -7427,22 +6511,7 @@ return matfoo(pstream__); }; Eigen::Matrix -vecfoo(std::ostream* pstream__) { - using local_scalar_t__ = double; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 770; - return (Eigen::Matrix(10) << 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10).finished(); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +vecfoo(std::ostream* pstream__) ; struct vecfoo_functor__ { Eigen::Matrix @@ -7454,27 +6523,7 @@ return vecfoo(pstream__); template Eigen::Matrix, -1, 1> -vecmufoo(const T0__& mu, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - Eigen::Matrix l; - l = Eigen::Matrix(10); - stan::math::fill(l, DUMMY_VAR__); - - current_statement__ = 772; - assign(l, multiply(mu, vecfoo(pstream__)), "assigning variable l"); - current_statement__ = 773; - return l; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +vecmufoo(const T0__& mu, std::ostream* pstream__) ; struct vecmufoo_functor__ { template @@ -7487,29 +6536,7 @@ return vecmufoo(mu, pstream__); template Eigen::Matrix, -1, 1> -vecmubar(const T0__& mu, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - Eigen::Matrix l; - l = Eigen::Matrix(10); - stan::math::fill(l, DUMMY_VAR__); - - current_statement__ = 775; - assign(l, - multiply(mu, (Eigen::Matrix(10) << 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10).finished()), "assigning variable l"); - current_statement__ = 776; - return rvalue(l, "l", index_multi(std::vector{1, 2, 3, 4, 5})); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +vecmubar(const T0__& mu, std::ostream* pstream__) ; struct vecmubar_functor__ { template @@ -7523,39 +6550,8 @@ return vecmubar(mu, pstream__); template Eigen::Matrix, stan::value_type_t, T2__>, -1, 1> -algebra_system(const T0__& x_arg__, const T1__& y_arg__, - const std::vector& dat, const std::vector& dat_int, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - stan::value_type_t, - T2__>; - int current_statement__ = 0; - const auto& x = to_ref(x_arg__); - const auto& y = to_ref(y_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - Eigen::Matrix f_x; - f_x = Eigen::Matrix(2); - stan::math::fill(f_x, DUMMY_VAR__); - - current_statement__ = 779; - assign(f_x, - (rvalue(x, "x", index_uni(1)) - rvalue(y, "y", index_uni(1))), - "assigning variable f_x", index_uni(1)); - current_statement__ = 780; - assign(f_x, - (rvalue(x, "x", index_uni(2)) - rvalue(y, "y", index_uni(2))), - "assigning variable f_x", index_uni(2)); - current_statement__ = 781; - return f_x; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +algebra_system(const T0__& x, const T1__& y, const std::vector& dat, + const std::vector& dat_int, std::ostream* pstream__) ; struct algebra_system_functor__ { template @@ -7571,32 +6567,8 @@ return algebra_system(x, y, dat, dat_int, pstream__); template Eigen::Matrix, stan::value_type_t>, -1, 1> -binomialf(const T0__& phi_arg__, const T1__& theta_arg__, - const std::vector& x_r, const std::vector& x_i, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - stan::value_type_t>; - int current_statement__ = 0; - const auto& phi = to_ref(phi_arg__); - const auto& theta = to_ref(theta_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - Eigen::Matrix lpmf; - lpmf = Eigen::Matrix(1); - stan::math::fill(lpmf, DUMMY_VAR__); - - current_statement__ = 784; - assign(lpmf, 0.0, "assigning variable lpmf", index_uni(1)); - current_statement__ = 785; - return lpmf; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +binomialf(const T0__& phi, const T1__& theta, const std::vector& x_r, + const std::vector& x_i, std::ostream* pstream__) ; struct binomialf_functor__ { template @@ -7610,14474 +6582,5403 @@ return binomialf(phi, theta, x_r, x_i, pstream__); } }; -class mother_model final : public model_base_crtp { - - private: - int N; - int M; - int K; - std::vector d_int_1d_ar; - std::vector>> d_int_3d_ar; - double J; - std::vector d_real_1d_ar; - std::vector>> d_real_3d_ar; - Eigen::Matrix d_vec__; - std::vector> d_1d_vec; - std::vector>>> d_3d_vec; - Eigen::Matrix d_row_vec__; - std::vector> d_1d_row_vec; - std::vector>>> d_3d_row_vec; - std::vector>> d_ar_mat; - Eigen::Matrix d_simplex__; - std::vector> d_1d_simplex; - std::vector>>> d_3d_simplex; - Eigen::Matrix d_cfcov_54__; - Eigen::Matrix d_cfcov_33__; - std::vector> d_cfcov_33_ar; - int d_int; - std::vector d_int_array; - std::vector> d_int_array_2d; - std::vector>> d_int_array_3d; - double d_real; - std::vector d_real_array; - std::vector> d_real_array_2d; - std::vector>> d_real_array_3d; - Eigen::Matrix d_matrix__; - std::vector> d_matrix_array; - std::vector>> d_matrix_array_2d; - std::vector>>> d_matrix_array_3d; - Eigen::Matrix d_vector__; - std::vector> d_vector_array; - std::vector>> d_vector_array_2d; - std::vector>>> d_vector_array_3d; - Eigen::Matrix d_row_vector__; - std::vector> d_row_vector_array; - std::vector>> d_row_vector_array_2d; - std::vector>>> d_row_vector_array_3d; - int td_int; - std::vector td_1d; - std::vector td_1dk; - int td_a; - double td_b; - double td_c; - std::vector>> td_ar_mat; - Eigen::Matrix td_simplex__; - std::vector> td_1d_simplex; - std::vector>>> td_3d_simplex; - Eigen::Matrix td_cfcov_54__; - Eigen::Matrix td_cfcov_33__; - Eigen::Matrix x__; - Eigen::Matrix y__; - std::vector dat; - std::vector dat_int; - std::vector> x_r; - std::vector> x_i; - std::vector> arr_mul_ind; - std::vector x_mul_ind; - double transformed_data_real; - std::vector transformed_data_real_array; - std::vector> transformed_data_real_array_2d; - std::vector>> transformed_data_real_array_3d; - Eigen::Matrix transformed_data_matrix__; - std::vector> transformed_data_matrix_array; - std::vector>> transformed_data_matrix_array_2d; - std::vector>>> transformed_data_matrix_array_3d; - Eigen::Matrix transformed_data_vector__; - std::vector> transformed_data_vector_array; - std::vector>> transformed_data_vector_array_2d; - std::vector>>> transformed_data_vector_array_3d; - Eigen::Matrix transformed_data_row_vector__; - std::vector> transformed_data_row_vector_array; - std::vector>> transformed_data_row_vector_array_2d; - std::vector>>> transformed_data_row_vector_array_3d; - Eigen::Map> d_vec{nullptr, 0}; - Eigen::Map> d_row_vec{nullptr, 0}; - Eigen::Map> d_simplex{nullptr, 0}; - Eigen::Map> d_cfcov_54{nullptr, 0, 0}; - Eigen::Map> d_cfcov_33{nullptr, 0, 0}; - Eigen::Map> d_matrix{nullptr, 0, 0}; - Eigen::Map> d_vector{nullptr, 0}; - Eigen::Map> d_row_vector{nullptr, 0}; - Eigen::Map> td_simplex{nullptr, 0}; - Eigen::Map> td_cfcov_54{nullptr, 0, 0}; - Eigen::Map> td_cfcov_33{nullptr, 0, 0}; - Eigen::Map> x{nullptr, 0}; - Eigen::Map> y{nullptr, 0}; - Eigen::Map> transformed_data_matrix{nullptr, 0, 0}; - Eigen::Map> transformed_data_vector{nullptr, 0}; - Eigen::Map> transformed_data_row_vector{nullptr, 0}; - - public: - ~mother_model() { } - - inline std::string model_name() const final { return "mother_model"; } - - inline std::vector model_compile_info() const noexcept { - return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; +int +foo(const int& n, std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 593; + if (logical_eq(n, 0)) { + current_statement__ = 592; + return 1; + } + current_statement__ = 594; + return (n * foo((n - 1), pstream__)); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); } - - mother_model(stan::io::var_context& context__, - unsigned int random_seed__ = 0, - std::ostream* pstream__ = nullptr) : model_base_crtp(0) { - int current_statement__ = 0; - using local_scalar_t__ = double ; - boost::ecuyer1988 base_rng__ = - stan::services::util::create_rng(random_seed__, 0); - (void) base_rng__; // suppress unused var warning - static constexpr const char* function__ = "mother_model_namespace::mother_model"; - (void) function__; // suppress unused var warning - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - current_statement__ = 190; - context__.validate_dims("data initialization","N","int", - std::vector{}); - N = std::numeric_limits::min(); +} +template +std::vector> +sho(const T0__& t, const std::vector& y, + const std::vector& theta, const std::vector& x, + const std::vector& x_int, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + std::vector dydt; + dydt = std::vector(2, DUMMY_VAR__); + + current_statement__ = 597; + assign(dydt, rvalue(y, "y", index_uni(2)), + "assigning variable dydt", index_uni(1)); + current_statement__ = 598; + assign(dydt, + (-rvalue(y, "y", index_uni(1)) - + (rvalue(theta, "theta", index_uni(1)) * rvalue(y, "y", index_uni(2)))), + "assigning variable dydt", index_uni(2)); + current_statement__ = 599; + return dydt; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +double +foo_bar0(std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 601; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +foo_bar1(const T0__& x, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 603; + return 1.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +foo_bar2(const T0__& x, const T1__& y, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 605; + return 2.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +foo_lpmf(const int& y, const T1__& lambda, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 607; + return 1.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +foo_lcdf(const int& y, const T1__& lambda, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 609; + return 1.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +foo_lccdf(const int& y, const T1__& lambda, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 611; + return 1.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +foo_rng(const T0__& mu, const T1__& sigma, RNG& base_rng__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 613; + return normal_rng(mu, sigma, base_rng__); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +void +unit_normal_lp(const T0__& u, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 615; + lp_accum__.add(normal_log(u, 0, 1)); + current_statement__ = 616; + lp_accum__.add(uniform_lpdf(u, -100, 100)); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +int +foo_1(const int& a, std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 619; + while (1) { + break; + } + current_statement__ = 621; + while (0) { + continue; + } + current_statement__ = 623; + for (int i = 1; i <= 10; ++i) { break;} + current_statement__ = 625; + for (int i = 1; i <= 10; ++i) { continue;} + current_statement__ = 630; + while (1) { + int b; + b = std::numeric_limits::min(); - current_statement__ = 190; - N = context__.vals_i("N")[(1 - 1)]; - current_statement__ = 190; - check_greater_or_equal(function__, "N", N, 0); - current_statement__ = 191; - context__.validate_dims("data initialization","M","int", - std::vector{}); - M = std::numeric_limits::min(); + current_statement__ = 627; + b = 5; + break; + } + current_statement__ = 637; + while (1) { + current_statement__ = 635; + if (0) { + break; + } else { + current_statement__ = 633; + if (1) { + break; + } else { + break; + } + } + } + current_statement__ = 640; + while (1) { + current_statement__ = 639; + while (0) { + break; + } + } + current_statement__ = 644; + while (1) { + current_statement__ = 642; + for (int i = 1; i <= 10; ++i) { break;} + } + current_statement__ = 659; + while (1) { + std::vector> vs; + vs = std::vector>(2, std::vector(3, std::numeric_limits::min())); - current_statement__ = 191; - M = context__.vals_i("M")[(1 - 1)]; - current_statement__ = 191; - check_greater_or_equal(function__, "M", M, 0); - current_statement__ = 192; - context__.validate_dims("data initialization","K","int", - std::vector{}); - K = std::numeric_limits::min(); - - current_statement__ = 192; - K = context__.vals_i("K")[(1 - 1)]; - current_statement__ = 192; - check_greater_or_equal(function__, "K", K, 0); - current_statement__ = 192; - check_less_or_equal(function__, "K", K, (N * M)); - current_statement__ = 193; - validate_non_negative_index("d_int_1d_ar", "N", N); - current_statement__ = 194; - context__.validate_dims("data initialization","d_int_1d_ar","int", - std::vector{static_cast(N)}); - d_int_1d_ar = std::vector(N, std::numeric_limits::min()); - - current_statement__ = 194; - d_int_1d_ar = context__.vals_i("d_int_1d_ar"); - current_statement__ = 194; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 194; - check_less_or_equal(function__, "d_int_1d_ar[sym1__]", - d_int_1d_ar[(sym1__ - 1)], N); - } - current_statement__ = 195; - validate_non_negative_index("d_int_3d_ar", "N", N); - current_statement__ = 196; - validate_non_negative_index("d_int_3d_ar", "M", M); - current_statement__ = 197; - validate_non_negative_index("d_int_3d_ar", "K", K); - current_statement__ = 198; - context__.validate_dims("data initialization","d_int_3d_ar","int", - std::vector{static_cast(N), - static_cast(M), static_cast(K)}); - d_int_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::min()))); + int z; + z = std::numeric_limits::min(); - { - std::vector d_int_3d_ar_flat__; - current_statement__ = 198; - d_int_3d_ar_flat__ = context__.vals_i("d_int_3d_ar"); - current_statement__ = 198; - pos__ = 1; - current_statement__ = 198; - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - current_statement__ = 198; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 198; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 198; - assign(d_int_3d_ar, d_int_3d_ar_flat__[(pos__ - 1)], - "assigning variable d_int_3d_ar", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 198; - pos__ = (pos__ + 1); - } - } + current_statement__ = 647; + for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { + { + std::vector v; + current_statement__ = 647; + assign(v, vs[(sym1__ - 1)], "assigning variable v"); + current_statement__ = 648; + z = 0; + break; } } - current_statement__ = 198; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 198; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 198; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 198; - check_less_or_equal(function__, - "d_int_3d_ar[sym1__, sym2__, sym3__]", - d_int_3d_ar[(sym1__ - 1)][(sym2__ - 1)][ - (sym3__ - 1)], N); - } + current_statement__ = 650; + for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { + { + std::vector v; + current_statement__ = 650; + assign(v, vs[(sym1__ - 1)], "assigning variable v"); + current_statement__ = 651; + z = 0; + continue; } } - current_statement__ = 199; - context__.validate_dims("data initialization","J","double", - std::vector{}); - J = std::numeric_limits::quiet_NaN(); - - current_statement__ = 199; - J = context__.vals_r("J")[(1 - 1)]; - current_statement__ = 199; - check_greater_or_equal(function__, "J", J, -2.0); - current_statement__ = 199; - check_less_or_equal(function__, "J", J, 2.0); - current_statement__ = 200; - validate_non_negative_index("d_real_1d_ar", "N", N); - current_statement__ = 201; - context__.validate_dims("data initialization","d_real_1d_ar","double", - std::vector{static_cast(N)}); - d_real_1d_ar = std::vector(N, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 201; - d_real_1d_ar = context__.vals_r("d_real_1d_ar"); - current_statement__ = 202; - validate_non_negative_index("d_real_3d_ar", "N", N); - current_statement__ = 203; - validate_non_negative_index("d_real_3d_ar", "M", M); - current_statement__ = 204; - validate_non_negative_index("d_real_3d_ar", "K", K); - current_statement__ = 205; - context__.validate_dims("data initialization","d_real_3d_ar","double", - std::vector{static_cast(N), - static_cast(M), static_cast(K)}); - d_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); - - - { - std::vector d_real_3d_ar_flat__; - current_statement__ = 205; - d_real_3d_ar_flat__ = context__.vals_r("d_real_3d_ar"); - current_statement__ = 205; - pos__ = 1; - current_statement__ = 205; - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - current_statement__ = 205; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 205; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 205; - assign(d_real_3d_ar, d_real_3d_ar_flat__[(pos__ - 1)], - "assigning variable d_real_3d_ar", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 205; - pos__ = (pos__ + 1); + current_statement__ = 653; + for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { + { + std::vector v; + current_statement__ = 653; + assign(v, vs[(sym1__ - 1)], "assigning variable v"); + current_statement__ = 654; + for (int sym1__ = 1; sym1__ <= stan::math::size(v); ++sym1__) { + { + int vv; + current_statement__ = 654; + vv = v[(sym1__ - 1)]; + current_statement__ = 655; + z = 0; + break; } } + current_statement__ = 657; + z = 1; } } - current_statement__ = 206; - validate_non_negative_index("d_vec", "N", N); - current_statement__ = 207; - context__.validate_dims("data initialization","d_vec","double", - std::vector{static_cast(N)}); - d_vec__ = Eigen::Matrix(N); - new (&d_vec) Eigen::Map>(d_vec__.data(), N); + } + current_statement__ = 669; + while (1) { + local_scalar_t__ z; + z = DUMMY_VAR__; + Eigen::Matrix vs; + vs = Eigen::Matrix(2, 3); + stan::math::fill(vs, DUMMY_VAR__); - { - std::vector d_vec_flat__; - current_statement__ = 207; - d_vec_flat__ = context__.vals_r("d_vec"); - current_statement__ = 207; - pos__ = 1; - current_statement__ = 207; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 207; - assign(d_vec, d_vec_flat__[(pos__ - 1)], - "assigning variable d_vec", index_uni(sym1__)); - current_statement__ = 207; - pos__ = (pos__ + 1); + current_statement__ = 662; + for (int sym1__ = 1; sym1__ <= rows(vs); ++sym1__) { + current_statement__ = 662; + for (int sym2__ = 1; + sym2__ <= stan::math::size(rvalue(vs, "vs", index_uni(sym1__))); + ++sym2__) { + { + local_scalar_t__ v; + current_statement__ = 662; + v = rvalue(vs, "vs", index_uni(sym1__), index_uni(sym2__)); + current_statement__ = 663; + z = 0; + break; + } } } - current_statement__ = 208; - validate_non_negative_index("d_1d_vec", "N", N); - current_statement__ = 209; - validate_non_negative_index("d_1d_vec", "N", N); - current_statement__ = 210; - context__.validate_dims("data initialization","d_1d_vec","double", - std::vector{static_cast(N), - static_cast(N)}); - d_1d_vec = std::vector>(N, Eigen::Matrix(N)); - - - { - std::vector d_1d_vec_flat__; - current_statement__ = 210; - d_1d_vec_flat__ = context__.vals_r("d_1d_vec"); - current_statement__ = 210; - pos__ = 1; - current_statement__ = 210; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 210; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 210; - assign(d_1d_vec, d_1d_vec_flat__[(pos__ - 1)], - "assigning variable d_1d_vec", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 210; - pos__ = (pos__ + 1); + current_statement__ = 665; + for (int sym1__ = 1; sym1__ <= rows(vs); ++sym1__) { + current_statement__ = 665; + for (int sym2__ = 1; + sym2__ <= stan::math::size(rvalue(vs, "vs", index_uni(sym1__))); + ++sym2__) { + { + local_scalar_t__ v; + current_statement__ = 665; + v = rvalue(vs, "vs", index_uni(sym1__), index_uni(sym2__)); + current_statement__ = 666; + z = 3.1; + continue; } } } - current_statement__ = 211; - validate_non_negative_index("d_3d_vec", "N", N); - current_statement__ = 212; - validate_non_negative_index("d_3d_vec", "M", M); - current_statement__ = 213; - validate_non_negative_index("d_3d_vec", "K", K); - current_statement__ = 214; - validate_non_negative_index("d_3d_vec", "N", N); - current_statement__ = 215; - context__.validate_dims("data initialization","d_3d_vec","double", - std::vector{static_cast(N), - static_cast(M), static_cast(K), - static_cast(N)}); - d_3d_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + } + current_statement__ = 679; + while (1) { + local_scalar_t__ z; + z = DUMMY_VAR__; + Eigen::Matrix vs; + vs = Eigen::Matrix(2); + stan::math::fill(vs, DUMMY_VAR__); - { - std::vector d_3d_vec_flat__; - current_statement__ = 215; - d_3d_vec_flat__ = context__.vals_r("d_3d_vec"); - current_statement__ = 215; - pos__ = 1; - current_statement__ = 215; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 215; - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - current_statement__ = 215; - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - current_statement__ = 215; - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - current_statement__ = 215; - assign(d_3d_vec, d_3d_vec_flat__[(pos__ - 1)], - "assigning variable d_3d_vec", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 215; - pos__ = (pos__ + 1); - } - } - } + current_statement__ = 672; + for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { + { + local_scalar_t__ v; + current_statement__ = 672; + v = vs[(sym1__ - 1)]; + current_statement__ = 673; + z = 0; + break; } } - current_statement__ = 216; - validate_non_negative_index("d_row_vec", "N", N); - current_statement__ = 217; - context__.validate_dims("data initialization","d_row_vec","double", - std::vector{static_cast(N)}); - d_row_vec__ = Eigen::Matrix(N); - new (&d_row_vec) Eigen::Map>(d_row_vec__.data(), N); - - - { - std::vector d_row_vec_flat__; - current_statement__ = 217; - d_row_vec_flat__ = context__.vals_r("d_row_vec"); - current_statement__ = 217; - pos__ = 1; - current_statement__ = 217; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 217; - assign(d_row_vec, d_row_vec_flat__[(pos__ - 1)], - "assigning variable d_row_vec", index_uni(sym1__)); - current_statement__ = 217; - pos__ = (pos__ + 1); + current_statement__ = 675; + for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { + { + local_scalar_t__ v; + current_statement__ = 675; + v = vs[(sym1__ - 1)]; + current_statement__ = 676; + z = 3.2; + continue; } } - current_statement__ = 218; - validate_non_negative_index("d_1d_row_vec", "N", N); - current_statement__ = 219; - validate_non_negative_index("d_1d_row_vec", "N", N); - current_statement__ = 220; - context__.validate_dims("data initialization","d_1d_row_vec","double", - std::vector{static_cast(N), - static_cast(N)}); - d_1d_row_vec = std::vector>(N, Eigen::Matrix(N)); + } + current_statement__ = 689; + while (1) { + local_scalar_t__ z; + z = DUMMY_VAR__; + Eigen::Matrix vs; + vs = Eigen::Matrix(2); + stan::math::fill(vs, DUMMY_VAR__); - { - std::vector d_1d_row_vec_flat__; - current_statement__ = 220; - d_1d_row_vec_flat__ = context__.vals_r("d_1d_row_vec"); - current_statement__ = 220; - pos__ = 1; - current_statement__ = 220; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 220; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 220; - assign(d_1d_row_vec, d_1d_row_vec_flat__[(pos__ - 1)], - "assigning variable d_1d_row_vec", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 220; - pos__ = (pos__ + 1); - } + current_statement__ = 682; + for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { + { + local_scalar_t__ v; + current_statement__ = 682; + v = vs[(sym1__ - 1)]; + current_statement__ = 683; + z = 0; + break; } } - current_statement__ = 221; - validate_non_negative_index("d_3d_row_vec", "N", N); - current_statement__ = 222; - validate_non_negative_index("d_3d_row_vec", "M", M); - current_statement__ = 223; - validate_non_negative_index("d_3d_row_vec", "K", K); - current_statement__ = 224; - validate_non_negative_index("d_3d_row_vec", "N", N); - current_statement__ = 225; - context__.validate_dims("data initialization","d_3d_row_vec","double", - std::vector{static_cast(N), - static_cast(M), static_cast(K), - static_cast(N)}); - d_3d_row_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - - - { - std::vector d_3d_row_vec_flat__; - current_statement__ = 225; - d_3d_row_vec_flat__ = context__.vals_r("d_3d_row_vec"); - current_statement__ = 225; - pos__ = 1; - current_statement__ = 225; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 225; - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - current_statement__ = 225; - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - current_statement__ = 225; - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - current_statement__ = 225; - assign(d_3d_row_vec, d_3d_row_vec_flat__[(pos__ - 1)], - "assigning variable d_3d_row_vec", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 225; - pos__ = (pos__ + 1); - } - } - } + current_statement__ = 685; + for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { + { + local_scalar_t__ v; + current_statement__ = 685; + v = vs[(sym1__ - 1)]; + current_statement__ = 686; + z = 3.3; + continue; } } - current_statement__ = 226; - context__.validate_dims("data initialization","d_ar_mat","double", - std::vector{static_cast(4), - static_cast(5), static_cast(2), - static_cast(3)}); - d_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); - + } + current_statement__ = 697; + while (1) { + int b; + b = std::numeric_limits::min(); + current_statement__ = 691; + b = 5; { - std::vector d_ar_mat_flat__; - current_statement__ = 226; - d_ar_mat_flat__ = context__.vals_r("d_ar_mat"); - current_statement__ = 226; - pos__ = 1; - current_statement__ = 226; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 226; - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - current_statement__ = 226; - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - current_statement__ = 226; - for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { - current_statement__ = 226; - assign(d_ar_mat, d_ar_mat_flat__[(pos__ - 1)], - "assigning variable d_ar_mat", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 226; - pos__ = (pos__ + 1); - } - } - } - } + int c; + c = std::numeric_limits::min(); + + current_statement__ = 693; + c = 6; + break; } - current_statement__ = 226; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 226; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 226; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 226; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 226; - check_greater_or_equal(function__, - "d_ar_mat[sym1__, sym2__, sym3__, sym4__]", - rvalue(d_ar_mat, "d_ar_mat", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__), index_uni(sym4__)), - 0); - } - } - } + } + current_statement__ = 698; + return 0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +int +foo_2(const int& a, std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + std::vector vs; + vs = std::vector(2, std::numeric_limits::min()); + + int y; + y = std::numeric_limits::min(); + + current_statement__ = 702; + for (int sym1__ = 1; sym1__ <= stan::math::size(vs); ++sym1__) { + { + int v; + current_statement__ = 702; + v = vs[(sym1__ - 1)]; + current_statement__ = 703; + y = v; } - current_statement__ = 226; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 226; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 226; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 226; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 226; - check_less_or_equal(function__, - "d_ar_mat[sym1__, sym2__, sym3__, sym4__]", - rvalue(d_ar_mat, "d_ar_mat", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__), index_uni(sym4__)), - 1); - } - } - } - } - current_statement__ = 227; - validate_non_negative_index("d_simplex", "N", N); - current_statement__ = 228; - context__.validate_dims("data initialization","d_simplex","double", - std::vector{static_cast(N)}); - d_simplex__ = Eigen::Matrix(N); - new (&d_simplex) Eigen::Map>(d_simplex__.data(), N); - - - { - std::vector d_simplex_flat__; - current_statement__ = 228; - d_simplex_flat__ = context__.vals_r("d_simplex"); - current_statement__ = 228; - pos__ = 1; - current_statement__ = 228; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 228; - assign(d_simplex, d_simplex_flat__[(pos__ - 1)], - "assigning variable d_simplex", index_uni(sym1__)); - current_statement__ = 228; - pos__ = (pos__ + 1); - } - } - current_statement__ = 228; - check_simplex(function__, "d_simplex", d_simplex); - current_statement__ = 229; - validate_non_negative_index("d_1d_simplex", "N", N); - current_statement__ = 230; - validate_non_negative_index("d_1d_simplex", "N", N); - current_statement__ = 231; - context__.validate_dims("data initialization","d_1d_simplex","double", - std::vector{static_cast(N), - static_cast(N)}); - d_1d_simplex = std::vector>(N, Eigen::Matrix(N)); - - - { - std::vector d_1d_simplex_flat__; - current_statement__ = 231; - d_1d_simplex_flat__ = context__.vals_r("d_1d_simplex"); - current_statement__ = 231; - pos__ = 1; - current_statement__ = 231; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 231; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 231; - assign(d_1d_simplex, d_1d_simplex_flat__[(pos__ - 1)], - "assigning variable d_1d_simplex", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 231; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 231; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 231; - check_simplex(function__, "d_1d_simplex[sym1__]", - d_1d_simplex[(sym1__ - 1)]); - } - current_statement__ = 232; - validate_non_negative_index("d_3d_simplex", "N", N); - current_statement__ = 233; - validate_non_negative_index("d_3d_simplex", "M", M); - current_statement__ = 234; - validate_non_negative_index("d_3d_simplex", "K", K); - current_statement__ = 235; - validate_non_negative_index("d_3d_simplex", "N", N); - current_statement__ = 236; - context__.validate_dims("data initialization","d_3d_simplex","double", - std::vector{static_cast(N), - static_cast(M), static_cast(K), - static_cast(N)}); - d_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - - - { - std::vector d_3d_simplex_flat__; - current_statement__ = 236; - d_3d_simplex_flat__ = context__.vals_r("d_3d_simplex"); - current_statement__ = 236; - pos__ = 1; - current_statement__ = 236; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 236; - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - current_statement__ = 236; - for (int sym3__ = 1; sym3__ <= M; ++sym3__) { - current_statement__ = 236; - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - current_statement__ = 236; - assign(d_3d_simplex, d_3d_simplex_flat__[(pos__ - 1)], - "assigning variable d_3d_simplex", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 236; - pos__ = (pos__ + 1); - } - } - } - } - } - current_statement__ = 236; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 236; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 236; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 236; - check_simplex(function__, "d_3d_simplex[sym1__, sym2__, sym3__]", - d_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - - 1)]); - } - } - } - current_statement__ = 237; - context__.validate_dims("data initialization","d_cfcov_54","double", - std::vector{static_cast(5), - static_cast(4)}); - d_cfcov_54__ = Eigen::Matrix(5, 4); - new (&d_cfcov_54) Eigen::Map>(d_cfcov_54__.data(), 5, 4); - - - { - std::vector d_cfcov_54_flat__; - current_statement__ = 237; - d_cfcov_54_flat__ = context__.vals_r("d_cfcov_54"); - current_statement__ = 237; - pos__ = 1; - current_statement__ = 237; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 237; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 237; - assign(d_cfcov_54, d_cfcov_54_flat__[(pos__ - 1)], - "assigning variable d_cfcov_54", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 237; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 237; - check_cholesky_factor(function__, "d_cfcov_54", d_cfcov_54); - current_statement__ = 238; - context__.validate_dims("data initialization","d_cfcov_33","double", - std::vector{static_cast(3), - static_cast(3)}); - d_cfcov_33__ = Eigen::Matrix(3, 3); - new (&d_cfcov_33) Eigen::Map>(d_cfcov_33__.data(), 3, 3); - - - { - std::vector d_cfcov_33_flat__; - current_statement__ = 238; - d_cfcov_33_flat__ = context__.vals_r("d_cfcov_33"); - current_statement__ = 238; - pos__ = 1; - current_statement__ = 238; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 238; - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - current_statement__ = 238; - assign(d_cfcov_33, d_cfcov_33_flat__[(pos__ - 1)], - "assigning variable d_cfcov_33", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 238; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 238; - check_cholesky_factor(function__, "d_cfcov_33", d_cfcov_33); - current_statement__ = 239; - validate_non_negative_index("d_cfcov_33_ar", "K", K); - current_statement__ = 240; - context__.validate_dims("data initialization","d_cfcov_33_ar","double", - std::vector{static_cast(K), - static_cast(3), static_cast(3)}); - d_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); - - - { - std::vector d_cfcov_33_ar_flat__; - current_statement__ = 240; - d_cfcov_33_ar_flat__ = context__.vals_r("d_cfcov_33_ar"); - current_statement__ = 240; - pos__ = 1; - current_statement__ = 240; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 240; - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - current_statement__ = 240; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 240; - assign(d_cfcov_33_ar, d_cfcov_33_ar_flat__[(pos__ - 1)], - "assigning variable d_cfcov_33_ar", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 240; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 240; - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - current_statement__ = 240; - check_cholesky_factor(function__, "d_cfcov_33_ar[sym1__]", - d_cfcov_33_ar[(sym1__ - 1)]); - } - current_statement__ = 241; - context__.validate_dims("data initialization","d_int","int", - std::vector{}); - d_int = std::numeric_limits::min(); - - current_statement__ = 241; - d_int = context__.vals_i("d_int")[(1 - 1)]; - current_statement__ = 242; - validate_non_negative_index("d_int_array", "d_int", d_int); - current_statement__ = 243; - context__.validate_dims("data initialization","d_int_array","int", - std::vector{static_cast(d_int)}); - d_int_array = std::vector(d_int, std::numeric_limits::min()); - - current_statement__ = 243; - d_int_array = context__.vals_i("d_int_array"); - current_statement__ = 244; - validate_non_negative_index("d_int_array_2d", "d_int", d_int); - current_statement__ = 245; - context__.validate_dims("data initialization","d_int_array_2d","int", - std::vector{static_cast(d_int), - static_cast(2)}); - d_int_array_2d = std::vector>(d_int, std::vector(2, std::numeric_limits::min())); - - - { - std::vector d_int_array_2d_flat__; - current_statement__ = 245; - d_int_array_2d_flat__ = context__.vals_i("d_int_array_2d"); - current_statement__ = 245; - pos__ = 1; - current_statement__ = 245; - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - current_statement__ = 245; - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - current_statement__ = 245; - assign(d_int_array_2d, d_int_array_2d_flat__[(pos__ - 1)], - "assigning variable d_int_array_2d", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 245; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 246; - validate_non_negative_index("d_int_array_3d", "d_int", d_int); - current_statement__ = 247; - context__.validate_dims("data initialization","d_int_array_3d","int", - std::vector{static_cast(d_int), - static_cast(2), static_cast(3)}); - d_int_array_3d = std::vector>>(d_int, std::vector>(2, std::vector(3, std::numeric_limits::min()))); - - - { - std::vector d_int_array_3d_flat__; - current_statement__ = 247; - d_int_array_3d_flat__ = context__.vals_i("d_int_array_3d"); - current_statement__ = 247; - pos__ = 1; - current_statement__ = 247; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 247; - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - current_statement__ = 247; - for (int sym3__ = 1; sym3__ <= d_int; ++sym3__) { - current_statement__ = 247; - assign(d_int_array_3d, d_int_array_3d_flat__[(pos__ - 1)], - "assigning variable d_int_array_3d", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 247; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 248; - context__.validate_dims("data initialization","d_real","double", - std::vector{}); - d_real = std::numeric_limits::quiet_NaN(); - - current_statement__ = 248; - d_real = context__.vals_r("d_real")[(1 - 1)]; - current_statement__ = 249; - validate_non_negative_index("d_real_array", "d_int", d_int); - current_statement__ = 250; - context__.validate_dims("data initialization","d_real_array","double", - std::vector{static_cast(d_int)}); - d_real_array = std::vector(d_int, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 250; - d_real_array = context__.vals_r("d_real_array"); - current_statement__ = 251; - validate_non_negative_index("d_real_array_2d", "d_int", d_int); - current_statement__ = 252; - context__.validate_dims("data initialization","d_real_array_2d", - "double", - std::vector{static_cast(d_int), - static_cast(2)}); - d_real_array_2d = std::vector>(d_int, std::vector(2, std::numeric_limits::quiet_NaN())); - - - { - std::vector d_real_array_2d_flat__; - current_statement__ = 252; - d_real_array_2d_flat__ = context__.vals_r("d_real_array_2d"); - current_statement__ = 252; - pos__ = 1; - current_statement__ = 252; - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - current_statement__ = 252; - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - current_statement__ = 252; - assign(d_real_array_2d, d_real_array_2d_flat__[(pos__ - 1)], - "assigning variable d_real_array_2d", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 252; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 253; - validate_non_negative_index("d_real_array_3d", "d_int", d_int); - current_statement__ = 254; - context__.validate_dims("data initialization","d_real_array_3d", - "double", - std::vector{static_cast(d_int), - static_cast(2), static_cast(3)}); - d_real_array_3d = std::vector>>(d_int, std::vector>(2, std::vector(3, std::numeric_limits::quiet_NaN()))); - - - { - std::vector d_real_array_3d_flat__; - current_statement__ = 254; - d_real_array_3d_flat__ = context__.vals_r("d_real_array_3d"); - current_statement__ = 254; - pos__ = 1; - current_statement__ = 254; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 254; - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - current_statement__ = 254; - for (int sym3__ = 1; sym3__ <= d_int; ++sym3__) { - current_statement__ = 254; - assign(d_real_array_3d, d_real_array_3d_flat__[(pos__ - 1)], - "assigning variable d_real_array_3d", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 254; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 255; - validate_non_negative_index("d_matrix", "d_int", d_int); - current_statement__ = 256; - validate_non_negative_index("d_matrix", "d_int", d_int); - current_statement__ = 257; - context__.validate_dims("data initialization","d_matrix","double", - std::vector{static_cast(d_int), - static_cast(d_int)}); - d_matrix__ = Eigen::Matrix(d_int, d_int); - new (&d_matrix) Eigen::Map>(d_matrix__.data(), d_int, d_int); - - - { - std::vector d_matrix_flat__; - current_statement__ = 257; - d_matrix_flat__ = context__.vals_r("d_matrix"); - current_statement__ = 257; - pos__ = 1; - current_statement__ = 257; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 257; - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - current_statement__ = 257; - assign(d_matrix, d_matrix_flat__[(pos__ - 1)], - "assigning variable d_matrix", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 257; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 258; - validate_non_negative_index("d_matrix_array", "d_int", d_int); - current_statement__ = 259; - validate_non_negative_index("d_matrix_array", "d_int", d_int); - current_statement__ = 260; - validate_non_negative_index("d_matrix_array", "d_int", d_int); - current_statement__ = 261; - context__.validate_dims("data initialization","d_matrix_array", - "double", - std::vector{static_cast(d_int), - static_cast(d_int), static_cast(d_int)}); - d_matrix_array = std::vector>(d_int, Eigen::Matrix(d_int, d_int)); - - - { - std::vector d_matrix_array_flat__; - current_statement__ = 261; - d_matrix_array_flat__ = context__.vals_r("d_matrix_array"); - current_statement__ = 261; - pos__ = 1; - current_statement__ = 261; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 261; - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - current_statement__ = 261; - for (int sym3__ = 1; sym3__ <= d_int; ++sym3__) { - current_statement__ = 261; - assign(d_matrix_array, d_matrix_array_flat__[(pos__ - 1)], - "assigning variable d_matrix_array", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 261; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 262; - validate_non_negative_index("d_matrix_array_2d", "d_int", d_int); - current_statement__ = 263; - validate_non_negative_index("d_matrix_array_2d", "d_int", d_int); - current_statement__ = 264; - validate_non_negative_index("d_matrix_array_2d", "d_int", d_int); - current_statement__ = 265; - context__.validate_dims("data initialization","d_matrix_array_2d", - "double", - std::vector{static_cast(d_int), - static_cast(2), static_cast(d_int), - static_cast(d_int)}); - d_matrix_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int, d_int))); - - - { - std::vector d_matrix_array_2d_flat__; - current_statement__ = 265; - d_matrix_array_2d_flat__ = context__.vals_r("d_matrix_array_2d"); - current_statement__ = 265; - pos__ = 1; - current_statement__ = 265; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 265; - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - current_statement__ = 265; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 265; - for (int sym4__ = 1; sym4__ <= d_int; ++sym4__) { - current_statement__ = 265; - assign(d_matrix_array_2d, - d_matrix_array_2d_flat__[(pos__ - 1)], - "assigning variable d_matrix_array_2d", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 265; - pos__ = (pos__ + 1); - } - } - } - } - } - current_statement__ = 266; - validate_non_negative_index("d_matrix_array_3d", "d_int", d_int); - current_statement__ = 267; - validate_non_negative_index("d_matrix_array_3d", "d_int", d_int); - current_statement__ = 268; - validate_non_negative_index("d_matrix_array_3d", "d_int", d_int); - current_statement__ = 269; - context__.validate_dims("data initialization","d_matrix_array_3d", - "double", - std::vector{static_cast(d_int), - static_cast(2), static_cast(3), - static_cast(d_int), static_cast(d_int)}); - d_matrix_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int, d_int)))); - - - { - std::vector d_matrix_array_3d_flat__; - current_statement__ = 269; - d_matrix_array_3d_flat__ = context__.vals_r("d_matrix_array_3d"); - current_statement__ = 269; - pos__ = 1; - current_statement__ = 269; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 269; - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - current_statement__ = 269; - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - current_statement__ = 269; - for (int sym4__ = 1; sym4__ <= 2; ++sym4__) { - current_statement__ = 269; - for (int sym5__ = 1; sym5__ <= d_int; ++sym5__) { - current_statement__ = 269; - assign(d_matrix_array_3d, - d_matrix_array_3d_flat__[(pos__ - 1)], - "assigning variable d_matrix_array_3d", index_uni(sym5__), - index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 269; - pos__ = (pos__ + 1); - } - } - } - } - } - } - current_statement__ = 270; - validate_non_negative_index("d_vector", "d_int", d_int); - current_statement__ = 271; - context__.validate_dims("data initialization","d_vector","double", - std::vector{static_cast(d_int)}); - d_vector__ = Eigen::Matrix(d_int); - new (&d_vector) Eigen::Map>(d_vector__.data(), d_int); - - - { - std::vector d_vector_flat__; - current_statement__ = 271; - d_vector_flat__ = context__.vals_r("d_vector"); - current_statement__ = 271; - pos__ = 1; - current_statement__ = 271; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 271; - assign(d_vector, d_vector_flat__[(pos__ - 1)], - "assigning variable d_vector", index_uni(sym1__)); - current_statement__ = 271; - pos__ = (pos__ + 1); - } - } - current_statement__ = 272; - validate_non_negative_index("d_vector_array", "d_int", d_int); - current_statement__ = 273; - validate_non_negative_index("d_vector_array", "d_int", d_int); - current_statement__ = 274; - context__.validate_dims("data initialization","d_vector_array", - "double", - std::vector{static_cast(d_int), - static_cast(d_int)}); - d_vector_array = std::vector>(d_int, Eigen::Matrix(d_int)); - - - { - std::vector d_vector_array_flat__; - current_statement__ = 274; - d_vector_array_flat__ = context__.vals_r("d_vector_array"); - current_statement__ = 274; - pos__ = 1; - current_statement__ = 274; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 274; - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - current_statement__ = 274; - assign(d_vector_array, d_vector_array_flat__[(pos__ - 1)], - "assigning variable d_vector_array", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 274; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 275; - validate_non_negative_index("d_vector_array_2d", "d_int", d_int); - current_statement__ = 276; - validate_non_negative_index("d_vector_array_2d", "d_int", d_int); - current_statement__ = 277; - context__.validate_dims("data initialization","d_vector_array_2d", - "double", - std::vector{static_cast(d_int), - static_cast(2), static_cast(d_int)}); - d_vector_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int))); - - - { - std::vector d_vector_array_2d_flat__; - current_statement__ = 277; - d_vector_array_2d_flat__ = context__.vals_r("d_vector_array_2d"); - current_statement__ = 277; - pos__ = 1; - current_statement__ = 277; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 277; - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - current_statement__ = 277; - for (int sym3__ = 1; sym3__ <= d_int; ++sym3__) { - current_statement__ = 277; - assign(d_vector_array_2d, - d_vector_array_2d_flat__[(pos__ - 1)], - "assigning variable d_vector_array_2d", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 277; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 278; - validate_non_negative_index("d_vector_array_3d", "d_int", d_int); - current_statement__ = 279; - validate_non_negative_index("d_vector_array_3d", "d_int", d_int); - current_statement__ = 280; - context__.validate_dims("data initialization","d_vector_array_3d", - "double", - std::vector{static_cast(d_int), - static_cast(2), static_cast(3), - static_cast(d_int)}); - d_vector_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int)))); - - - { - std::vector d_vector_array_3d_flat__; - current_statement__ = 280; - d_vector_array_3d_flat__ = context__.vals_r("d_vector_array_3d"); - current_statement__ = 280; - pos__ = 1; - current_statement__ = 280; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 280; - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - current_statement__ = 280; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 280; - for (int sym4__ = 1; sym4__ <= d_int; ++sym4__) { - current_statement__ = 280; - assign(d_vector_array_3d, - d_vector_array_3d_flat__[(pos__ - 1)], - "assigning variable d_vector_array_3d", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 280; - pos__ = (pos__ + 1); - } - } - } - } - } - current_statement__ = 281; - validate_non_negative_index("d_row_vector", "d_int", d_int); - current_statement__ = 282; - context__.validate_dims("data initialization","d_row_vector","double", - std::vector{static_cast(d_int)}); - d_row_vector__ = Eigen::Matrix(d_int); - new (&d_row_vector) Eigen::Map>(d_row_vector__.data(), d_int); - - - { - std::vector d_row_vector_flat__; - current_statement__ = 282; - d_row_vector_flat__ = context__.vals_r("d_row_vector"); - current_statement__ = 282; - pos__ = 1; - current_statement__ = 282; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 282; - assign(d_row_vector, d_row_vector_flat__[(pos__ - 1)], - "assigning variable d_row_vector", index_uni(sym1__)); - current_statement__ = 282; - pos__ = (pos__ + 1); - } - } - current_statement__ = 283; - validate_non_negative_index("d_row_vector_array", "d_int", d_int); - current_statement__ = 284; - validate_non_negative_index("d_row_vector_array", "d_int", d_int); - current_statement__ = 285; - context__.validate_dims("data initialization","d_row_vector_array", - "double", - std::vector{static_cast(d_int), - static_cast(d_int)}); - d_row_vector_array = std::vector>(d_int, Eigen::Matrix(d_int)); - - - { - std::vector d_row_vector_array_flat__; - current_statement__ = 285; - d_row_vector_array_flat__ = context__.vals_r("d_row_vector_array"); - current_statement__ = 285; - pos__ = 1; - current_statement__ = 285; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 285; - for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { - current_statement__ = 285; - assign(d_row_vector_array, - d_row_vector_array_flat__[(pos__ - 1)], - "assigning variable d_row_vector_array", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 285; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 286; - validate_non_negative_index("d_row_vector_array_2d", "d_int", d_int); - current_statement__ = 287; - validate_non_negative_index("d_row_vector_array_2d", "d_int", d_int); - current_statement__ = 288; - context__.validate_dims("data initialization","d_row_vector_array_2d", - "double", - std::vector{static_cast(d_int), - static_cast(2), static_cast(d_int)}); - d_row_vector_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int))); - - - { - std::vector d_row_vector_array_2d_flat__; - current_statement__ = 288; - d_row_vector_array_2d_flat__ = context__.vals_r("d_row_vector_array_2d"); - current_statement__ = 288; - pos__ = 1; - current_statement__ = 288; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 288; - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - current_statement__ = 288; - for (int sym3__ = 1; sym3__ <= d_int; ++sym3__) { - current_statement__ = 288; - assign(d_row_vector_array_2d, - d_row_vector_array_2d_flat__[(pos__ - 1)], - "assigning variable d_row_vector_array_2d", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 288; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 289; - validate_non_negative_index("d_row_vector_array_3d", "d_int", d_int); - current_statement__ = 290; - validate_non_negative_index("d_row_vector_array_3d", "d_int", d_int); - current_statement__ = 291; - context__.validate_dims("data initialization","d_row_vector_array_3d", - "double", - std::vector{static_cast(d_int), - static_cast(2), static_cast(3), - static_cast(d_int)}); - d_row_vector_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int)))); - - - { - std::vector d_row_vector_array_3d_flat__; - current_statement__ = 291; - d_row_vector_array_3d_flat__ = context__.vals_r("d_row_vector_array_3d"); - current_statement__ = 291; - pos__ = 1; - current_statement__ = 291; - for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { - current_statement__ = 291; - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - current_statement__ = 291; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 291; - for (int sym4__ = 1; sym4__ <= d_int; ++sym4__) { - current_statement__ = 291; - assign(d_row_vector_array_3d, - d_row_vector_array_3d_flat__[(pos__ - 1)], - "assigning variable d_row_vector_array_3d", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 291; - pos__ = (pos__ + 1); - } - } - } - } - } - current_statement__ = 292; - td_int = std::numeric_limits::min(); - - current_statement__ = 293; - validate_non_negative_index("td_1d", "N", N); - current_statement__ = 294; - td_1d = std::vector(N, std::numeric_limits::min()); - - current_statement__ = 295; - validate_non_negative_index("td_1dk", "M", M); - current_statement__ = 296; - td_1dk = std::vector(M, std::numeric_limits::min()); - - current_statement__ = 296; - assign(td_1dk, rep_array(1, M), "assigning variable td_1dk"); - current_statement__ = 297; - td_a = std::numeric_limits::min(); - - current_statement__ = 297; - td_a = N; - current_statement__ = 298; - td_b = std::numeric_limits::quiet_NaN(); - - current_statement__ = 298; - td_b = (N * J); - current_statement__ = 299; - td_c = std::numeric_limits::quiet_NaN(); - - current_statement__ = 299; - td_c = foo_bar1(td_b, pstream__); - current_statement__ = 300; - td_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); - stan::math::fill(td_ar_mat, std::numeric_limits::quiet_NaN()); - - current_statement__ = 301; - validate_non_negative_index("td_simplex", "N", N); - current_statement__ = 302; - td_simplex__ = Eigen::Matrix(N); - new (&td_simplex) Eigen::Map>(td_simplex__.data(), N); - stan::math::fill(td_simplex, std::numeric_limits::quiet_NaN()); - - current_statement__ = 303; - validate_non_negative_index("td_1d_simplex", "N", N); - current_statement__ = 304; - validate_non_negative_index("td_1d_simplex", "N", N); - current_statement__ = 305; - td_1d_simplex = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(td_1d_simplex, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 306; - validate_non_negative_index("td_3d_simplex", "N", N); - current_statement__ = 307; - validate_non_negative_index("td_3d_simplex", "M", M); - current_statement__ = 308; - validate_non_negative_index("td_3d_simplex", "K", K); - current_statement__ = 309; - validate_non_negative_index("td_3d_simplex", "N", N); - current_statement__ = 310; - td_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(td_3d_simplex, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 311; - td_cfcov_54__ = Eigen::Matrix(5, 5); - new (&td_cfcov_54) Eigen::Map>(td_cfcov_54__.data(), 5, 5); - stan::math::fill(td_cfcov_54, std::numeric_limits::quiet_NaN()); - - current_statement__ = 312; - td_cfcov_33__ = Eigen::Matrix(3, 3); - new (&td_cfcov_33) Eigen::Map>(td_cfcov_33__.data(), 3, 3); - stan::math::fill(td_cfcov_33, std::numeric_limits::quiet_NaN()); - - current_statement__ = 313; - x__ = Eigen::Matrix(2); - new (&x) Eigen::Map>(x__.data(), 2); - stan::math::fill(x, std::numeric_limits::quiet_NaN()); - - current_statement__ = 314; - y__ = Eigen::Matrix(2); - new (&y) Eigen::Map>(y__.data(), 2); - stan::math::fill(y, std::numeric_limits::quiet_NaN()); - - current_statement__ = 315; - dat = std::vector(0, std::numeric_limits::quiet_NaN()); - - current_statement__ = 316; - dat_int = std::vector(0, std::numeric_limits::min()); - - current_statement__ = 317; - x_r = std::vector>(0, std::vector(0, std::numeric_limits::quiet_NaN())); - - - current_statement__ = 318; - x_i = std::vector>(0, std::vector(0, std::numeric_limits::min())); - - - current_statement__ = 319; - td_int = (primitive_value(1) || primitive_value(2)); - current_statement__ = 320; - td_int = (primitive_value(1) && primitive_value(2)); - current_statement__ = 329; - for (int i = 1; i <= 2; ++i) { - current_statement__ = 327; - for (int j = 1; j <= 3; ++j) { - current_statement__ = 325; - for (int m = 1; m <= 4; ++m) { - current_statement__ = 323; - for (int n = 1; n <= 5; ++n) { - current_statement__ = 321; - assign(td_ar_mat, 0.4, - "assigning variable td_ar_mat", index_uni(m), index_uni(n), - index_uni(i), index_uni(j)); - } - } - } - } - current_statement__ = 340; - for (int i = 1; i <= N; ++i) { - current_statement__ = 330; - assign(td_simplex, (1.0 / N), - "assigning variable td_simplex", index_uni(i)); - current_statement__ = 338; - for (int n = 1; n <= N; ++n) { - current_statement__ = 331; - assign(td_1d_simplex, (1.0 / N), - "assigning variable td_1d_simplex", index_uni(n), index_uni(i)); - current_statement__ = 336; - for (int m = 1; m <= M; ++m) { - current_statement__ = 334; - for (int k = 1; k <= K; ++k) { - current_statement__ = 332; - assign(td_3d_simplex, (1.0 / N), - "assigning variable td_3d_simplex", index_uni(n), - index_uni(m), - index_uni(k), - index_uni(i)); - } - } - } - } - current_statement__ = 346; - for (int i = 1; i <= 4; ++i) { - current_statement__ = 344; - for (int j = 1; j <= 5; ++j) { - Eigen::Matrix l_mat; - l_mat = Eigen::Matrix(2, 3); - stan::math::fill(l_mat, std::numeric_limits::quiet_NaN()); - - current_statement__ = 341; - assign(l_mat, - rvalue(d_ar_mat, "d_ar_mat", index_uni(i), index_uni(j)), - "assigning variable l_mat"); - current_statement__ = 342; - if (pstream__) { - stan_print(pstream__, "ar dim1: "); - stan_print(pstream__, i); - stan_print(pstream__, " ar dim2: "); - stan_print(pstream__, j); - stan_print(pstream__, " matrix: "); - stan_print(pstream__, l_mat); - stan_print(pstream__, "\n"); - } - } - } - current_statement__ = 347; - assign(td_cfcov_54, diag_matrix(rep_vector(1, rows(td_cfcov_54))), - "assigning variable td_cfcov_54"); - current_statement__ = 348; - assign(td_cfcov_33, diag_matrix(rep_vector(1, rows(td_cfcov_33))), - "assigning variable td_cfcov_33"); - { - double z; - z = std::numeric_limits::quiet_NaN(); - - Eigen::Matrix blocked_tdata_vs; - blocked_tdata_vs = Eigen::Matrix(2); - stan::math::fill(blocked_tdata_vs, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 351; - for (int sym1__ = 1; sym1__ <= stan::math::size(blocked_tdata_vs); - ++sym1__) { - { - double v; - current_statement__ = 351; - v = blocked_tdata_vs[(sym1__ - 1)]; - current_statement__ = 352; - z = 0; - } - } - std::vector indices; - indices = std::vector(4, std::numeric_limits::min()); - - current_statement__ = 353; - assign(indices, std::vector{1, 2, 3, 4}, - "assigning variable indices"); - { - std::vector sym1__; - current_statement__ = 354; - assign(sym1__, rvalue(indices, "indices", index_min_max(1, 3)), - "assigning variable sym1__"); - current_statement__ = 354; - for (int sym2__ = 1; sym2__ <= stan::math::size(sym1__); ++sym2__) { - { - int i; - current_statement__ = 354; - i = sym1__[(sym2__ - 1)]; - current_statement__ = 355; - z = i; - } - } - } - } - current_statement__ = 357; - assign(td_1dk, - rvalue(td_1d, "td_1d", index_multi(stan::model::deep_copy(td_1dk))), - "assigning variable td_1dk"); - current_statement__ = 358; - assign(td_simplex, - rvalue(td_1d_simplex, "td_1d_simplex", index_uni(1), index_omni()), - "assigning variable td_simplex"); - current_statement__ = 359; - assign(td_simplex, - rvalue(td_1d_simplex, "td_1d_simplex", index_uni(1), index_omni()), - "assigning variable td_simplex"); - current_statement__ = 360; - assign(td_simplex, - rvalue(td_1d_simplex, "td_1d_simplex", - index_uni(1), index_min_max(1, N)), "assigning variable td_simplex"); - current_statement__ = 361; - arr_mul_ind = std::vector>(2, std::vector(2, std::numeric_limits::min())); - - - current_statement__ = 362; - assign(arr_mul_ind, std::vector{1, 1}, - "assigning variable arr_mul_ind", index_uni(1), index_min_max(1, 2)); - current_statement__ = 363; - x_mul_ind = std::vector(2, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 363; - assign(x_mul_ind, std::vector{1, 2}, - "assigning variable x_mul_ind"); - current_statement__ = 364; - transformed_data_real = std::numeric_limits::quiet_NaN(); - - current_statement__ = 365; - validate_non_negative_index("transformed_data_real_array", "d_int", - d_int); - current_statement__ = 366; - transformed_data_real_array = std::vector(d_int, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 367; - validate_non_negative_index("transformed_data_real_array_2d", "d_int", - d_int); - current_statement__ = 368; - transformed_data_real_array_2d = std::vector>(d_int, std::vector(2, std::numeric_limits::quiet_NaN())); - - - current_statement__ = 369; - validate_non_negative_index("transformed_data_real_array_3d", "d_int", - d_int); - current_statement__ = 370; - transformed_data_real_array_3d = std::vector>>(d_int, std::vector>(2, std::vector(3, std::numeric_limits::quiet_NaN()))); - - - current_statement__ = 371; - validate_non_negative_index("transformed_data_matrix", "d_int", d_int); - current_statement__ = 372; - validate_non_negative_index("transformed_data_matrix", "d_int", d_int); - current_statement__ = 373; - transformed_data_matrix__ = Eigen::Matrix(d_int, d_int); - new (&transformed_data_matrix) Eigen::Map>(transformed_data_matrix__.data(), d_int, d_int); - stan::math::fill(transformed_data_matrix, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 374; - validate_non_negative_index("transformed_data_matrix_array", "d_int", - d_int); - current_statement__ = 375; - validate_non_negative_index("transformed_data_matrix_array", "d_int", - d_int); - current_statement__ = 376; - validate_non_negative_index("transformed_data_matrix_array", "d_int", - d_int); - current_statement__ = 377; - transformed_data_matrix_array = std::vector>(d_int, Eigen::Matrix(d_int, d_int)); - stan::math::fill(transformed_data_matrix_array, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 378; - validate_non_negative_index("transformed_data_matrix_array_2d", - "d_int", d_int); - current_statement__ = 379; - validate_non_negative_index("transformed_data_matrix_array_2d", - "d_int", d_int); - current_statement__ = 380; - validate_non_negative_index("transformed_data_matrix_array_2d", - "d_int", d_int); - current_statement__ = 381; - transformed_data_matrix_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int, d_int))); - stan::math::fill(transformed_data_matrix_array_2d, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 382; - validate_non_negative_index("transformed_data_matrix_array_3d", - "d_int", d_int); - current_statement__ = 383; - validate_non_negative_index("transformed_data_matrix_array_3d", - "d_int", d_int); - current_statement__ = 384; - validate_non_negative_index("transformed_data_matrix_array_3d", - "d_int", d_int); - current_statement__ = 385; - transformed_data_matrix_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int, d_int)))); - stan::math::fill(transformed_data_matrix_array_3d, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 386; - validate_non_negative_index("transformed_data_vector", "d_int", d_int); - current_statement__ = 387; - transformed_data_vector__ = Eigen::Matrix(d_int); - new (&transformed_data_vector) Eigen::Map>(transformed_data_vector__.data(), d_int); - stan::math::fill(transformed_data_vector, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 388; - validate_non_negative_index("transformed_data_vector_array", "d_int", - d_int); - current_statement__ = 389; - validate_non_negative_index("transformed_data_vector_array", "d_int", - d_int); - current_statement__ = 390; - transformed_data_vector_array = std::vector>(d_int, Eigen::Matrix(d_int)); - stan::math::fill(transformed_data_vector_array, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 391; - validate_non_negative_index("transformed_data_vector_array_2d", - "d_int", d_int); - current_statement__ = 392; - validate_non_negative_index("transformed_data_vector_array_2d", - "d_int", d_int); - current_statement__ = 393; - transformed_data_vector_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int))); - stan::math::fill(transformed_data_vector_array_2d, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 394; - validate_non_negative_index("transformed_data_vector_array_3d", - "d_int", d_int); - current_statement__ = 395; - validate_non_negative_index("transformed_data_vector_array_3d", - "d_int", d_int); - current_statement__ = 396; - transformed_data_vector_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int)))); - stan::math::fill(transformed_data_vector_array_3d, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 397; - validate_non_negative_index("transformed_data_row_vector", "d_int", - d_int); - current_statement__ = 398; - transformed_data_row_vector__ = Eigen::Matrix(d_int); - new (&transformed_data_row_vector) Eigen::Map>(transformed_data_row_vector__.data(), d_int); - stan::math::fill(transformed_data_row_vector, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 399; - validate_non_negative_index("transformed_data_row_vector_array", - "d_int", d_int); - current_statement__ = 400; - validate_non_negative_index("transformed_data_row_vector_array", - "d_int", d_int); - current_statement__ = 401; - transformed_data_row_vector_array = std::vector>(d_int, Eigen::Matrix(d_int)); - stan::math::fill(transformed_data_row_vector_array, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 402; - validate_non_negative_index("transformed_data_row_vector_array_2d", - "d_int", d_int); - current_statement__ = 403; - validate_non_negative_index("transformed_data_row_vector_array_2d", - "d_int", d_int); - current_statement__ = 404; - transformed_data_row_vector_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int))); - stan::math::fill(transformed_data_row_vector_array_2d, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 405; - validate_non_negative_index("transformed_data_row_vector_array_3d", - "d_int", d_int); - current_statement__ = 406; - validate_non_negative_index("transformed_data_row_vector_array_3d", - "d_int", d_int); - current_statement__ = 407; - transformed_data_row_vector_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int)))); - stan::math::fill(transformed_data_row_vector_array_3d, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 408; - transformed_data_real = pow(d_int, d_int); - current_statement__ = 409; - transformed_data_real = pow(d_real, d_int); - current_statement__ = 410; - transformed_data_real = pow(d_int, d_real); - current_statement__ = 411; - transformed_data_real = pow(d_real, d_real); - current_statement__ = 412; - assign(transformed_data_real_array, pow(d_int_array, d_int), - "assigning variable transformed_data_real_array"); - current_statement__ = 413; - assign(transformed_data_real_array, pow(d_int_array, d_real), - "assigning variable transformed_data_real_array"); - current_statement__ = 414; - assign(transformed_data_real_array_2d, pow(d_int_array_2d, d_int), - "assigning variable transformed_data_real_array_2d"); - current_statement__ = 415; - assign(transformed_data_real_array_2d, pow(d_int_array_2d, d_real), - "assigning variable transformed_data_real_array_2d"); - current_statement__ = 416; - assign(transformed_data_real_array_3d, pow(d_int_array_3d, d_int), - "assigning variable transformed_data_real_array_3d"); - current_statement__ = 417; - assign(transformed_data_real_array_3d, pow(d_int_array_3d, d_real), - "assigning variable transformed_data_real_array_3d"); - current_statement__ = 418; - assign(transformed_data_real_array, pow(d_int, d_int_array), - "assigning variable transformed_data_real_array"); - current_statement__ = 419; - assign(transformed_data_real_array, pow(d_real, d_int_array), - "assigning variable transformed_data_real_array"); - current_statement__ = 420; - assign(transformed_data_real_array_2d, pow(d_int, d_int_array_2d), - "assigning variable transformed_data_real_array_2d"); - current_statement__ = 421; - assign(transformed_data_real_array_2d, pow(d_real, d_int_array_2d), - "assigning variable transformed_data_real_array_2d"); - current_statement__ = 422; - assign(transformed_data_real_array_3d, pow(d_int, d_int_array_3d), - "assigning variable transformed_data_real_array_3d"); - current_statement__ = 423; - assign(transformed_data_real_array_3d, pow(d_real, d_int_array_3d), - "assigning variable transformed_data_real_array_3d"); - current_statement__ = 424; - assign(transformed_data_real_array, pow(d_int, d_real_array), - "assigning variable transformed_data_real_array"); - current_statement__ = 425; - assign(transformed_data_real_array, pow(d_real, d_real_array), - "assigning variable transformed_data_real_array"); - current_statement__ = 426; - assign(transformed_data_real_array_2d, pow(d_int, d_real_array_2d), - "assigning variable transformed_data_real_array_2d"); - current_statement__ = 427; - assign(transformed_data_real_array_2d, pow(d_real, d_real_array_2d), - "assigning variable transformed_data_real_array_2d"); - current_statement__ = 428; - assign(transformed_data_real_array_3d, pow(d_int, d_real_array_3d), - "assigning variable transformed_data_real_array_3d"); - current_statement__ = 429; - assign(transformed_data_real_array_3d, pow(d_real, d_real_array_3d), - "assigning variable transformed_data_real_array_3d"); - current_statement__ = 430; - assign(transformed_data_real_array, pow(d_real_array, d_int), - "assigning variable transformed_data_real_array"); - current_statement__ = 431; - assign(transformed_data_real_array, pow(d_real_array, d_real), - "assigning variable transformed_data_real_array"); - current_statement__ = 432; - assign(transformed_data_real_array_2d, pow(d_real_array_2d, d_int), - "assigning variable transformed_data_real_array_2d"); - current_statement__ = 433; - assign(transformed_data_real_array_2d, pow(d_real_array_2d, d_real), - "assigning variable transformed_data_real_array_2d"); - current_statement__ = 434; - assign(transformed_data_real_array_3d, pow(d_real_array_3d, d_int), - "assigning variable transformed_data_real_array_3d"); - current_statement__ = 435; - assign(transformed_data_real_array_3d, pow(d_real_array_3d, d_real), - "assigning variable transformed_data_real_array_3d"); - current_statement__ = 436; - assign(transformed_data_real_array, pow(d_int_array, d_int_array), - "assigning variable transformed_data_real_array"); - current_statement__ = 437; - assign(transformed_data_real_array, pow(d_real_array, d_real_array), - "assigning variable transformed_data_real_array"); - current_statement__ = 438; - assign(transformed_data_real_array_2d, - pow(d_int_array_2d, d_int_array_2d), - "assigning variable transformed_data_real_array_2d"); - current_statement__ = 439; - assign(transformed_data_real_array_2d, - pow(d_real_array_2d, d_real_array_2d), - "assigning variable transformed_data_real_array_2d"); - current_statement__ = 440; - assign(transformed_data_real_array_3d, - pow(d_int_array_3d, d_int_array_3d), - "assigning variable transformed_data_real_array_3d"); - current_statement__ = 441; - assign(transformed_data_real_array_3d, - pow(d_real_array_3d, d_real_array_3d), - "assigning variable transformed_data_real_array_3d"); - current_statement__ = 442; - assign(transformed_data_vector, pow(d_vector, d_int), - "assigning variable transformed_data_vector"); - current_statement__ = 443; - assign(transformed_data_vector, pow(d_vector, d_real), - "assigning variable transformed_data_vector"); - current_statement__ = 444; - assign(transformed_data_vector, - stan::math::fma(d_vector, d_vector, d_vector), - "assigning variable transformed_data_vector"); - current_statement__ = 445; - assign(transformed_data_vector, - stan::math::fma(d_vector, d_vector, d_real), - "assigning variable transformed_data_vector"); - current_statement__ = 446; - assign(transformed_data_vector, - stan::math::fma(d_real, d_vector, d_real), - "assigning variable transformed_data_vector"); - current_statement__ = 447; - assign(transformed_data_vector_array, pow(d_vector_array, d_int), - "assigning variable transformed_data_vector_array"); - current_statement__ = 448; - assign(transformed_data_vector_array, pow(d_vector_array, d_real), - "assigning variable transformed_data_vector_array"); - current_statement__ = 449; - assign(transformed_data_vector_array_2d, pow(d_vector_array_2d, d_int), - "assigning variable transformed_data_vector_array_2d"); - current_statement__ = 450; - assign(transformed_data_vector_array_2d, - pow(d_vector_array_2d, d_real), - "assigning variable transformed_data_vector_array_2d"); - current_statement__ = 451; - assign(transformed_data_vector_array_3d, pow(d_vector_array_3d, d_int), - "assigning variable transformed_data_vector_array_3d"); - current_statement__ = 452; - assign(transformed_data_vector_array_3d, - pow(d_vector_array_3d, d_real), - "assigning variable transformed_data_vector_array_3d"); - current_statement__ = 453; - assign(transformed_data_vector, pow(d_int, d_vector), - "assigning variable transformed_data_vector"); - current_statement__ = 454; - assign(transformed_data_vector, pow(d_real, d_vector), - "assigning variable transformed_data_vector"); - current_statement__ = 455; - assign(transformed_data_vector_array, pow(d_int, d_vector_array), - "assigning variable transformed_data_vector_array"); - current_statement__ = 456; - assign(transformed_data_vector_array, pow(d_real, d_vector_array), - "assigning variable transformed_data_vector_array"); - current_statement__ = 457; - assign(transformed_data_vector_array_2d, pow(d_int, d_vector_array_2d), - "assigning variable transformed_data_vector_array_2d"); - current_statement__ = 458; - assign(transformed_data_vector_array_2d, - pow(d_real, d_vector_array_2d), - "assigning variable transformed_data_vector_array_2d"); - current_statement__ = 459; - assign(transformed_data_vector_array_3d, pow(d_int, d_vector_array_3d), - "assigning variable transformed_data_vector_array_3d"); - current_statement__ = 460; - assign(transformed_data_vector_array_3d, - pow(d_real, d_vector_array_3d), - "assigning variable transformed_data_vector_array_3d"); - current_statement__ = 461; - assign(transformed_data_vector, pow(d_vector, d_vector), - "assigning variable transformed_data_vector"); - current_statement__ = 462; - assign(transformed_data_vector, - stan::math::fma(d_vector, d_vector, d_vector), - "assigning variable transformed_data_vector"); - current_statement__ = 463; - assign(transformed_data_vector, - stan::math::fma(d_vector, d_vector, d_real), - "assigning variable transformed_data_vector"); - current_statement__ = 464; - assign(transformed_data_vector_array, - pow(d_vector_array, d_vector_array), - "assigning variable transformed_data_vector_array"); - current_statement__ = 465; - assign(transformed_data_vector_array_2d, - pow(d_vector_array_2d, d_vector_array_2d), - "assigning variable transformed_data_vector_array_2d"); - current_statement__ = 466; - assign(transformed_data_vector_array_3d, - pow(d_vector_array_3d, d_vector_array_3d), - "assigning variable transformed_data_vector_array_3d"); - current_statement__ = 467; - assign(transformed_data_row_vector, pow(d_row_vector, d_int), - "assigning variable transformed_data_row_vector"); - current_statement__ = 468; - assign(transformed_data_row_vector, pow(d_row_vector, d_real), - "assigning variable transformed_data_row_vector"); - current_statement__ = 469; - assign(transformed_data_row_vector_array, - pow(d_row_vector_array, d_int), - "assigning variable transformed_data_row_vector_array"); - current_statement__ = 470; - assign(transformed_data_row_vector_array, - pow(d_row_vector_array, d_real), - "assigning variable transformed_data_row_vector_array"); - current_statement__ = 471; - assign(transformed_data_row_vector_array_2d, - pow(d_row_vector_array_2d, d_int), - "assigning variable transformed_data_row_vector_array_2d"); - current_statement__ = 472; - assign(transformed_data_row_vector_array_2d, - pow(d_row_vector_array_2d, d_real), - "assigning variable transformed_data_row_vector_array_2d"); - current_statement__ = 473; - assign(transformed_data_row_vector_array_3d, - pow(d_row_vector_array_3d, d_int), - "assigning variable transformed_data_row_vector_array_3d"); - current_statement__ = 474; - assign(transformed_data_row_vector_array_3d, - pow(d_row_vector_array_3d, d_real), - "assigning variable transformed_data_row_vector_array_3d"); - current_statement__ = 475; - assign(transformed_data_row_vector, pow(d_int, d_row_vector), - "assigning variable transformed_data_row_vector"); - current_statement__ = 476; - assign(transformed_data_row_vector, pow(d_real, d_row_vector), - "assigning variable transformed_data_row_vector"); - current_statement__ = 477; - assign(transformed_data_row_vector_array, - pow(d_int, d_row_vector_array), - "assigning variable transformed_data_row_vector_array"); - current_statement__ = 478; - assign(transformed_data_row_vector_array, - pow(d_real, d_row_vector_array), - "assigning variable transformed_data_row_vector_array"); - current_statement__ = 479; - assign(transformed_data_row_vector_array_2d, - pow(d_int, d_row_vector_array_2d), - "assigning variable transformed_data_row_vector_array_2d"); - current_statement__ = 480; - assign(transformed_data_row_vector_array_2d, - pow(d_real, d_row_vector_array_2d), - "assigning variable transformed_data_row_vector_array_2d"); - current_statement__ = 481; - assign(transformed_data_row_vector_array_3d, - pow(d_int, d_row_vector_array_3d), - "assigning variable transformed_data_row_vector_array_3d"); - current_statement__ = 482; - assign(transformed_data_row_vector_array_3d, - pow(d_real, d_row_vector_array_3d), - "assigning variable transformed_data_row_vector_array_3d"); - current_statement__ = 483; - assign(transformed_data_row_vector, pow(d_row_vector, d_row_vector), - "assigning variable transformed_data_row_vector"); - current_statement__ = 484; - assign(transformed_data_row_vector_array, - pow(d_row_vector_array, d_row_vector_array), - "assigning variable transformed_data_row_vector_array"); - current_statement__ = 485; - assign(transformed_data_row_vector_array_2d, - pow(d_row_vector_array_2d, d_row_vector_array_2d), - "assigning variable transformed_data_row_vector_array_2d"); - current_statement__ = 486; - assign(transformed_data_row_vector_array_3d, - pow(d_row_vector_array_3d, d_row_vector_array_3d), - "assigning variable transformed_data_row_vector_array_3d"); - current_statement__ = 487; - assign(transformed_data_matrix, pow(d_matrix, d_int), - "assigning variable transformed_data_matrix"); - current_statement__ = 488; - assign(transformed_data_matrix, pow(d_matrix, d_real), - "assigning variable transformed_data_matrix"); - current_statement__ = 489; - assign(transformed_data_matrix, - stan::math::fma(d_matrix, d_matrix, d_matrix), - "assigning variable transformed_data_matrix"); - current_statement__ = 490; - assign(transformed_data_matrix, - stan::math::fma(d_matrix, d_matrix, d_real), - "assigning variable transformed_data_matrix"); - current_statement__ = 491; - assign(transformed_data_matrix_array, pow(d_matrix_array, d_int), - "assigning variable transformed_data_matrix_array"); - current_statement__ = 492; - assign(transformed_data_matrix_array, pow(d_matrix_array, d_real), - "assigning variable transformed_data_matrix_array"); - current_statement__ = 493; - assign(transformed_data_matrix_array_2d, pow(d_matrix_array_2d, d_int), - "assigning variable transformed_data_matrix_array_2d"); - current_statement__ = 494; - assign(transformed_data_matrix_array_2d, - pow(d_matrix_array_2d, d_real), - "assigning variable transformed_data_matrix_array_2d"); - current_statement__ = 495; - assign(transformed_data_matrix_array_3d, pow(d_matrix_array_3d, d_int), - "assigning variable transformed_data_matrix_array_3d"); - current_statement__ = 496; - assign(transformed_data_matrix_array_3d, - pow(d_matrix_array_3d, d_real), - "assigning variable transformed_data_matrix_array_3d"); - current_statement__ = 497; - assign(transformed_data_matrix, pow(d_int, d_matrix), - "assigning variable transformed_data_matrix"); - current_statement__ = 498; - assign(transformed_data_matrix, pow(d_real, d_matrix), - "assigning variable transformed_data_matrix"); - current_statement__ = 499; - assign(transformed_data_matrix_array, pow(d_int, d_matrix_array), - "assigning variable transformed_data_matrix_array"); - current_statement__ = 500; - assign(transformed_data_matrix_array, pow(d_real, d_matrix_array), - "assigning variable transformed_data_matrix_array"); - current_statement__ = 501; - assign(transformed_data_matrix_array_2d, pow(d_int, d_matrix_array_2d), - "assigning variable transformed_data_matrix_array_2d"); - current_statement__ = 502; - assign(transformed_data_matrix_array_2d, - pow(d_real, d_matrix_array_2d), - "assigning variable transformed_data_matrix_array_2d"); - current_statement__ = 503; - assign(transformed_data_matrix_array_3d, pow(d_int, d_matrix_array_3d), - "assigning variable transformed_data_matrix_array_3d"); - current_statement__ = 504; - assign(transformed_data_matrix_array_3d, - pow(d_real, d_matrix_array_3d), - "assigning variable transformed_data_matrix_array_3d"); - current_statement__ = 505; - assign(transformed_data_matrix, pow(d_matrix, d_matrix), - "assigning variable transformed_data_matrix"); - current_statement__ = 506; - assign(transformed_data_matrix_array, - pow(d_matrix_array, d_matrix_array), - "assigning variable transformed_data_matrix_array"); - current_statement__ = 507; - assign(transformed_data_matrix_array_2d, - pow(d_matrix_array_2d, d_matrix_array_2d), - "assigning variable transformed_data_matrix_array_2d"); - current_statement__ = 508; - assign(transformed_data_matrix_array_3d, - pow(d_matrix_array_3d, d_matrix_array_3d), - "assigning variable transformed_data_matrix_array_3d"); - current_statement__ = 509; - td_int = (d_int * d_int); - current_statement__ = 510; - transformed_data_real = (d_real * d_real); - current_statement__ = 300; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 300; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 300; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 300; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 300; - check_greater_or_equal(function__, - "td_ar_mat[sym1__, sym2__, sym3__, sym4__]", - rvalue(td_ar_mat, "td_ar_mat", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__), index_uni(sym4__)), - 0); - } - } - } - } - current_statement__ = 300; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 300; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 300; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 300; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 300; - check_less_or_equal(function__, - "td_ar_mat[sym1__, sym2__, sym3__, sym4__]", - rvalue(td_ar_mat, "td_ar_mat", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__), index_uni(sym4__)), - 1); - } - } - } - } - current_statement__ = 302; - check_simplex(function__, "td_simplex", td_simplex); - current_statement__ = 305; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 305; - check_simplex(function__, "td_1d_simplex[sym1__]", - td_1d_simplex[(sym1__ - 1)]); - } - current_statement__ = 310; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 310; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 310; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 310; - check_simplex(function__, - "td_3d_simplex[sym1__, sym2__, sym3__]", - td_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - - 1)]); - } - } - } - current_statement__ = 311; - check_cholesky_factor(function__, "td_cfcov_54", td_cfcov_54); - current_statement__ = 312; - check_cholesky_factor(function__, "td_cfcov_33", td_cfcov_33); - current_statement__ = 511; - validate_non_negative_index("p_real_1d_ar", "N", N); - current_statement__ = 512; - validate_non_negative_index("p_real_3d_ar", "N", N); - current_statement__ = 513; - validate_non_negative_index("p_real_3d_ar", "M", M); - current_statement__ = 514; - validate_non_negative_index("p_real_3d_ar", "K", K); - current_statement__ = 515; - validate_non_negative_index("p_vec", "N", N); - current_statement__ = 516; - validate_non_negative_index("p_1d_vec", "N", N); - current_statement__ = 517; - validate_non_negative_index("p_1d_vec", "N", N); - current_statement__ = 518; - validate_non_negative_index("p_3d_vec", "N", N); - current_statement__ = 519; - validate_non_negative_index("p_3d_vec", "M", M); - current_statement__ = 520; - validate_non_negative_index("p_3d_vec", "K", K); - current_statement__ = 521; - validate_non_negative_index("p_3d_vec", "N", N); - current_statement__ = 522; - validate_non_negative_index("p_row_vec", "N", N); - current_statement__ = 523; - validate_non_negative_index("p_1d_row_vec", "N", N); - current_statement__ = 524; - validate_non_negative_index("p_1d_row_vec", "N", N); - current_statement__ = 525; - validate_non_negative_index("p_3d_row_vec", "N", N); - current_statement__ = 526; - validate_non_negative_index("p_3d_row_vec", "M", M); - current_statement__ = 527; - validate_non_negative_index("p_3d_row_vec", "K", K); - current_statement__ = 528; - validate_non_negative_index("p_3d_row_vec", "N", N); - current_statement__ = 529; - validate_positive_index("p_simplex", "N", N); - current_statement__ = 530; - validate_non_negative_index("p_1d_simplex", "N", N); - current_statement__ = 531; - validate_positive_index("p_1d_simplex", "N", N); - current_statement__ = 532; - validate_non_negative_index("p_3d_simplex", "N", N); - current_statement__ = 533; - validate_non_negative_index("p_3d_simplex", "M", M); - current_statement__ = 534; - validate_non_negative_index("p_3d_simplex", "K", K); - current_statement__ = 535; - validate_positive_index("p_3d_simplex", "N", N); - current_statement__ = 536; - check_greater_or_equal("cholesky_factor_cov p_cfcov_54", - "num rows (must be greater or equal to num cols)", - 5, 4); - current_statement__ = 537; - check_greater_or_equal("cholesky_factor_cov p_cfcov_33", - "num rows (must be greater or equal to num cols)", - 3, 3); - current_statement__ = 538; - validate_non_negative_index("p_cfcov_33_ar", "K", K); - current_statement__ = 539; - check_greater_or_equal("cholesky_factor_cov p_cfcov_33_ar", - "num rows (must be greater or equal to num cols)", - 3, 3); - current_statement__ = 540; - validate_non_negative_index("tp_real_1d_ar", "N", N); - current_statement__ = 541; - validate_non_negative_index("tp_real_3d_ar", "N", N); - current_statement__ = 542; - validate_non_negative_index("tp_real_3d_ar", "M", M); - current_statement__ = 543; - validate_non_negative_index("tp_real_3d_ar", "K", K); - current_statement__ = 544; - validate_non_negative_index("tp_vec", "N", N); - current_statement__ = 545; - validate_non_negative_index("tp_1d_vec", "N", N); - current_statement__ = 546; - validate_non_negative_index("tp_1d_vec", "N", N); - current_statement__ = 547; - validate_non_negative_index("tp_3d_vec", "N", N); - current_statement__ = 548; - validate_non_negative_index("tp_3d_vec", "M", M); - current_statement__ = 549; - validate_non_negative_index("tp_3d_vec", "K", K); - current_statement__ = 550; - validate_non_negative_index("tp_3d_vec", "N", N); - current_statement__ = 551; - validate_non_negative_index("tp_row_vec", "N", N); - current_statement__ = 552; - validate_non_negative_index("tp_1d_row_vec", "N", N); - current_statement__ = 553; - validate_non_negative_index("tp_1d_row_vec", "N", N); - current_statement__ = 554; - validate_non_negative_index("tp_3d_row_vec", "N", N); - current_statement__ = 555; - validate_non_negative_index("tp_3d_row_vec", "M", M); - current_statement__ = 556; - validate_non_negative_index("tp_3d_row_vec", "K", K); - current_statement__ = 557; - validate_non_negative_index("tp_3d_row_vec", "N", N); - current_statement__ = 558; - validate_non_negative_index("tp_simplex", "N", N); - current_statement__ = 559; - validate_non_negative_index("tp_1d_simplex", "N", N); - current_statement__ = 560; - validate_non_negative_index("tp_1d_simplex", "N", N); - current_statement__ = 561; - validate_non_negative_index("tp_3d_simplex", "N", N); - current_statement__ = 562; - validate_non_negative_index("tp_3d_simplex", "M", M); - current_statement__ = 563; - validate_non_negative_index("tp_3d_simplex", "K", K); - current_statement__ = 564; - validate_non_negative_index("tp_3d_simplex", "N", N); - current_statement__ = 565; - validate_non_negative_index("tp_cfcov_33_ar", "K", K); - current_statement__ = 566; - validate_non_negative_index("gq_real_1d_ar", "N", N); - current_statement__ = 567; - validate_non_negative_index("gq_real_3d_ar", "N", N); - current_statement__ = 568; - validate_non_negative_index("gq_real_3d_ar", "M", M); - current_statement__ = 569; - validate_non_negative_index("gq_real_3d_ar", "K", K); - current_statement__ = 570; - validate_non_negative_index("gq_vec", "N", N); - current_statement__ = 571; - validate_non_negative_index("gq_1d_vec", "N", N); - current_statement__ = 572; - validate_non_negative_index("gq_1d_vec", "N", N); - current_statement__ = 573; - validate_non_negative_index("gq_3d_vec", "N", N); - current_statement__ = 574; - validate_non_negative_index("gq_3d_vec", "M", M); - current_statement__ = 575; - validate_non_negative_index("gq_3d_vec", "K", K); - current_statement__ = 576; - validate_non_negative_index("gq_3d_vec", "N", N); - current_statement__ = 577; - validate_non_negative_index("gq_row_vec", "N", N); - current_statement__ = 578; - validate_non_negative_index("gq_1d_row_vec", "N", N); - current_statement__ = 579; - validate_non_negative_index("gq_1d_row_vec", "N", N); - current_statement__ = 580; - validate_non_negative_index("gq_3d_row_vec", "N", N); - current_statement__ = 581; - validate_non_negative_index("gq_3d_row_vec", "M", M); - current_statement__ = 582; - validate_non_negative_index("gq_3d_row_vec", "K", K); - current_statement__ = 583; - validate_non_negative_index("gq_3d_row_vec", "N", N); - current_statement__ = 584; - validate_non_negative_index("gq_simplex", "N", N); - current_statement__ = 585; - validate_non_negative_index("gq_1d_simplex", "N", N); - current_statement__ = 586; - validate_non_negative_index("gq_1d_simplex", "N", N); - current_statement__ = 587; - validate_non_negative_index("gq_3d_simplex", "N", N); - current_statement__ = 588; - validate_non_negative_index("gq_3d_simplex", "M", M); - current_statement__ = 589; - validate_non_negative_index("gq_3d_simplex", "K", K); - current_statement__ = 590; - validate_non_negative_index("gq_3d_simplex", "N", N); - current_statement__ = 591; - validate_non_negative_index("gq_cfcov_33_ar", "K", K); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - num_params_r__ = 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 - 1) + (N * (N - 1)) + (N * M * K * (N - 1)) - + ((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4)) - + ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)) - + (K * ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + 2 + 2; - - } - - 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__ = "mother_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - - try { - local_scalar_t__ p_real; - p_real = DUMMY_VAR__; - - current_statement__ = 1; - p_real = in__.template read(); - local_scalar_t__ p_upper; - p_upper = DUMMY_VAR__; - - current_statement__ = 2; - p_upper = in__.template read_constrain_lb( - p_real, lp__); - local_scalar_t__ p_lower; - p_lower = DUMMY_VAR__; - - current_statement__ = 3; - p_lower = in__.template read_constrain_ub( - p_upper, lp__); - std::vector offset_multiplier; - offset_multiplier = std::vector(5, DUMMY_VAR__); - - current_statement__ = 4; - offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 1, 2, lp__, 5); - std::vector no_offset_multiplier; - no_offset_multiplier = std::vector(5, DUMMY_VAR__); - - current_statement__ = 5; - no_offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 0, 2, lp__, 5); - std::vector offset_no_multiplier; - offset_no_multiplier = std::vector(5, DUMMY_VAR__); - - current_statement__ = 6; - offset_no_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 3, 1, lp__, 5); - std::vector p_real_1d_ar; - p_real_1d_ar = std::vector(N, DUMMY_VAR__); - - current_statement__ = 7; - p_real_1d_ar = in__.template read_constrain_lb, jacobian__>( - 0, lp__, N); - std::vector>> p_real_3d_ar; - p_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, DUMMY_VAR__))); - - - current_statement__ = 8; - p_real_3d_ar = in__.template read_constrain_lb>>, jacobian__>( - 0, lp__, N, M, K); - Eigen::Matrix p_vec; - p_vec = Eigen::Matrix(N); - stan::math::fill(p_vec, DUMMY_VAR__); - - current_statement__ = 9; - p_vec = in__.template read_constrain_lb, jacobian__>( - 0, lp__, N); - std::vector> p_1d_vec; - p_1d_vec = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(p_1d_vec, DUMMY_VAR__); - - current_statement__ = 10; - p_1d_vec = in__.template read>>( - N, N); - 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__); - - current_statement__ = 11; - p_3d_vec = in__.template read>>>>( - N, M, K, N); - Eigen::Matrix p_row_vec; - p_row_vec = Eigen::Matrix(N); - stan::math::fill(p_row_vec, DUMMY_VAR__); - - current_statement__ = 12; - p_row_vec = in__.template read>( - N); - 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__); - - current_statement__ = 13; - p_1d_row_vec = in__.template read>>( - N, N); - 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__); - - current_statement__ = 14; - p_3d_row_vec = in__.template read>>>>( - N, M, K, N); - Eigen::Matrix p_mat; - p_mat = Eigen::Matrix(5, 4); - stan::math::fill(p_mat, DUMMY_VAR__); - - current_statement__ = 15; - p_mat = in__.template read>(5, - 4); - 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__); - - current_statement__ = 16; - p_ar_mat = in__.template read_constrain_lub>>, jacobian__>( - 0, 1, lp__, 4, 5, 2, 3); - Eigen::Matrix p_simplex; - p_simplex = Eigen::Matrix(N); - stan::math::fill(p_simplex, DUMMY_VAR__); - - current_statement__ = 17; - p_simplex = in__.template read_constrain_simplex, jacobian__>( - lp__, N); - std::vector> p_1d_simplex; - p_1d_simplex = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(p_1d_simplex, DUMMY_VAR__); - - current_statement__ = 18; - p_1d_simplex = in__.template read_constrain_simplex>, jacobian__>( - lp__, N, N); - 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__); - - current_statement__ = 19; - p_3d_simplex = in__.template read_constrain_simplex>>>, jacobian__>( - lp__, N, M, K, N); - Eigen::Matrix p_cfcov_54; - p_cfcov_54 = Eigen::Matrix(5, 4); - stan::math::fill(p_cfcov_54, DUMMY_VAR__); - - current_statement__ = 20; - p_cfcov_54 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( - lp__, 5, 4); - Eigen::Matrix p_cfcov_33; - p_cfcov_33 = Eigen::Matrix(3, 3); - stan::math::fill(p_cfcov_33, DUMMY_VAR__); - - current_statement__ = 21; - p_cfcov_33 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( - lp__, 3, 3); - 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__); - - current_statement__ = 22; - p_cfcov_33_ar = in__.template read_constrain_cholesky_factor_cov>, jacobian__>( - lp__, K, 3, 3); - Eigen::Matrix x_p; - x_p = Eigen::Matrix(2); - stan::math::fill(x_p, DUMMY_VAR__); - - current_statement__ = 23; - x_p = in__.template read>(2); - Eigen::Matrix y_p; - y_p = Eigen::Matrix(2); - stan::math::fill(y_p, DUMMY_VAR__); - - current_statement__ = 24; - y_p = in__.template read>(2); - std::vector tp_real_1d_ar; - tp_real_1d_ar = std::vector(N, DUMMY_VAR__); - - std::vector>> tp_real_3d_ar; - tp_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, DUMMY_VAR__))); - - - Eigen::Matrix tp_vec; - tp_vec = Eigen::Matrix(N); - stan::math::fill(tp_vec, DUMMY_VAR__); - - std::vector> tp_1d_vec; - tp_1d_vec = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(tp_1d_vec, DUMMY_VAR__); - - std::vector>>> tp_3d_vec; - tp_3d_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(tp_3d_vec, DUMMY_VAR__); - - Eigen::Matrix tp_row_vec; - tp_row_vec = Eigen::Matrix(N); - stan::math::fill(tp_row_vec, DUMMY_VAR__); - - std::vector> tp_1d_row_vec; - tp_1d_row_vec = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(tp_1d_row_vec, DUMMY_VAR__); - - std::vector>>> tp_3d_row_vec; - tp_3d_row_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(tp_3d_row_vec, DUMMY_VAR__); - - Eigen::Matrix tp_mat; - tp_mat = Eigen::Matrix(5, 4); - stan::math::fill(tp_mat, DUMMY_VAR__); - - std::vector>> tp_ar_mat; - tp_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); - stan::math::fill(tp_ar_mat, DUMMY_VAR__); - - Eigen::Matrix tp_simplex; - tp_simplex = Eigen::Matrix(N); - stan::math::fill(tp_simplex, DUMMY_VAR__); - - std::vector> tp_1d_simplex; - tp_1d_simplex = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(tp_1d_simplex, DUMMY_VAR__); - - std::vector>>> tp_3d_simplex; - tp_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(tp_3d_simplex, DUMMY_VAR__); - - Eigen::Matrix tp_cfcov_54; - tp_cfcov_54 = Eigen::Matrix(5, 4); - stan::math::fill(tp_cfcov_54, DUMMY_VAR__); - - Eigen::Matrix tp_cfcov_33; - tp_cfcov_33 = Eigen::Matrix(3, 3); - stan::math::fill(tp_cfcov_33, DUMMY_VAR__); - - std::vector> tp_cfcov_33_ar; - tp_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); - stan::math::fill(tp_cfcov_33_ar, DUMMY_VAR__); - - Eigen::Matrix theta_p; - theta_p = Eigen::Matrix(2); - stan::math::fill(theta_p, DUMMY_VAR__); - - local_scalar_t__ tp_real; - tp_real = DUMMY_VAR__; - - current_statement__ = 43; - assign(tp_real_1d_ar, p_real_1d_ar, "assigning variable tp_real_1d_ar"); - current_statement__ = 44; - assign(tp_real_3d_ar, p_real_3d_ar, "assigning variable tp_real_3d_ar"); - current_statement__ = 45; - assign(tp_1d_vec, p_1d_vec, "assigning variable tp_1d_vec"); - current_statement__ = 46; - assign(tp_3d_vec, p_3d_vec, "assigning variable tp_3d_vec"); - current_statement__ = 47; - assign(tp_simplex, p_simplex, "assigning variable tp_simplex"); - current_statement__ = 48; - assign(tp_1d_simplex, p_1d_simplex, "assigning variable tp_1d_simplex"); - current_statement__ = 49; - assign(tp_3d_simplex, p_3d_simplex, "assigning variable tp_3d_simplex"); - current_statement__ = 50; - assign(tp_cfcov_54, p_cfcov_54, "assigning variable tp_cfcov_54"); - current_statement__ = 51; - assign(tp_cfcov_33, p_cfcov_33, "assigning variable tp_cfcov_33"); - current_statement__ = 52; - assign(tp_cfcov_33_ar, p_cfcov_33_ar, - "assigning variable tp_cfcov_33_ar"); - current_statement__ = 53; - assign(tp_mat, stan::math::fma(d_cfcov_54, p_mat, p_mat), - "assigning variable tp_mat"); - current_statement__ = 54; - assign(tp_vec, stan::math::fma(d_vec, p_vec, p_vec), - "assigning variable tp_vec"); - current_statement__ = 63; - for (int i = 1; i <= 2; ++i) { - current_statement__ = 61; - for (int j = 1; j <= 3; ++j) { - current_statement__ = 59; - for (int m = 1; m <= 4; ++m) { - current_statement__ = 57; - for (int n = 1; n <= 5; ++n) { - current_statement__ = 55; - assign(tp_ar_mat, 0.4, - "assigning variable tp_ar_mat", index_uni(m), index_uni(n), - index_uni(i), index_uni(j)); - } - } - } - } - current_statement__ = 65; - for (int i = 1; i <= N; ++i) { - current_statement__ = 64; - assign(tp_vec, (-1.0 * rvalue(p_vec, "p_vec", index_uni(i))), - "assigning variable tp_vec", index_uni(i)); - } - current_statement__ = 66; - assign(tp_row_vec, - transpose(rvalue(tp_1d_vec, "tp_1d_vec", index_uni(1))), - "assigning variable tp_row_vec"); - current_statement__ = 67; - assign(tp_1d_row_vec, p_1d_row_vec, "assigning variable tp_1d_row_vec"); - current_statement__ = 68; - assign(tp_3d_row_vec, p_3d_row_vec, "assigning variable tp_3d_row_vec"); - current_statement__ = 69; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x, y, dat, dat_int, - pstream__), "assigning variable theta_p"); - current_statement__ = 70; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x, y, dat, dat_int, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); - current_statement__ = 71; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x, y_p, dat, dat_int, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); - current_statement__ = 72; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x_p, y, dat, dat_int, - pstream__), "assigning variable theta_p"); - current_statement__ = 73; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x_p, y, dat, dat_int, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); - current_statement__ = 74; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x_p, y_p, dat, dat_int, - pstream__), "assigning variable theta_p"); - current_statement__ = 75; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x_p, y_p, dat, dat_int, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); - current_statement__ = 76; - tp_real = (p_real * p_real); - current_statement__ = 77; - tp_real = (p_real / p_real); - current_statement__ = 25; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 25; - check_greater_or_equal(function__, "tp_real_1d_ar[sym1__]", - tp_real_1d_ar[(sym1__ - 1)], 0); - } - current_statement__ = 26; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 26; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 26; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 26; - check_greater_or_equal(function__, - "tp_real_3d_ar[sym1__, sym2__, sym3__]", - tp_real_3d_ar[(sym1__ - 1)][(sym2__ - 1)][ - (sym3__ - 1)], 0); - } - } - } - current_statement__ = 27; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 27; - check_less_or_equal(function__, "tp_vec[sym1__]", - tp_vec[(sym1__ - 1)], 0); - } - current_statement__ = 34; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 34; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 34; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 34; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 34; - check_greater_or_equal(function__, - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]", - rvalue(tp_ar_mat, "tp_ar_mat", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__), index_uni(sym4__)), - 0); - } - } - } - } - current_statement__ = 34; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 34; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 34; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 34; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 34; - check_less_or_equal(function__, - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]", - rvalue(tp_ar_mat, "tp_ar_mat", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__), index_uni(sym4__)), - 1); - } - } - } - } - current_statement__ = 35; - check_simplex(function__, "tp_simplex", tp_simplex); - current_statement__ = 36; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 36; - check_simplex(function__, "tp_1d_simplex[sym1__]", - tp_1d_simplex[(sym1__ - 1)]); - } - current_statement__ = 37; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 37; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 37; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 37; - check_simplex(function__, - "tp_3d_simplex[sym1__, sym2__, sym3__]", - tp_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - - 1)]); - } - } - } - current_statement__ = 38; - check_cholesky_factor(function__, "tp_cfcov_54", tp_cfcov_54); - current_statement__ = 39; - check_cholesky_factor(function__, "tp_cfcov_33", tp_cfcov_33); - current_statement__ = 40; - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - current_statement__ = 40; - check_cholesky_factor(function__, "tp_cfcov_33_ar[sym1__]", - tp_cfcov_33_ar[(sym1__ - 1)]); - } - { - Eigen::Matrix tmp; - tmp = Eigen::Matrix(0); - stan::math::fill(tmp, DUMMY_VAR__); - - std::vector> tmp2; - tmp2 = std::vector>(0, Eigen::Matrix(0)); - stan::math::fill(tmp2, DUMMY_VAR__); - - local_scalar_t__ r1; - r1 = DUMMY_VAR__; - - current_statement__ = 156; - r1 = foo_bar1(p_real, pstream__); - local_scalar_t__ r2; - r2 = DUMMY_VAR__; - - current_statement__ = 157; - r2 = foo_bar1(J, pstream__); - current_statement__ = 158; - lp_accum__.add(normal_lpdf(p_real, 0, 1)); - current_statement__ = 159; - lp_accum__.add(normal_lpdf(offset_multiplier, 0, 1)); - current_statement__ = 160; - lp_accum__.add(normal_lpdf(no_offset_multiplier, 0, 1)); - current_statement__ = 161; - lp_accum__.add(normal_lpdf(offset_no_multiplier, 0, 1)); - current_statement__ = 162; - lp_accum__.add(normal_lpdf(to_vector(p_real_1d_ar), 0, 1)); - current_statement__ = 175; - for (int n = 1; n <= N; ++n) { - current_statement__ = 163; - lp_accum__.add( - normal_lpdf( - to_vector(rvalue(p_1d_vec, "p_1d_vec", index_uni(n))), 0, 1)); - current_statement__ = 164; - lp_accum__.add( - normal_lpdf( - to_vector(rvalue(p_1d_row_vec, "p_1d_row_vec", index_uni(n))), - 0, 1)); - current_statement__ = 165; - lp_accum__.add( - normal_lpdf( - to_vector(rvalue(p_1d_simplex, "p_1d_simplex", index_uni(n))), - 0, 1)); - current_statement__ = 173; - for (int m = 1; m <= M; ++m) { - current_statement__ = 171; - for (int k = 1; k <= K; ++k) { - current_statement__ = 166; - lp_accum__.add( - normal_lpdf( - to_vector( - rvalue(p_3d_vec, "p_3d_vec", - index_uni(n), index_uni(m), index_uni(k))), - rvalue(d_3d_vec, "d_3d_vec", - index_uni(n), index_uni(m), index_uni(k)), 1)); - current_statement__ = 167; - lp_accum__.add( - normal_lpdf( - to_vector( - rvalue(p_3d_row_vec, "p_3d_row_vec", - index_uni(n), index_uni(m), index_uni(k))), - rvalue(d_3d_row_vec, "d_3d_row_vec", - index_uni(n), index_uni(m), index_uni(k)), 1)); - current_statement__ = 168; - lp_accum__.add( - normal_lpdf( - to_vector( - rvalue(p_3d_simplex, "p_3d_simplex", - index_uni(n), index_uni(m), index_uni(k))), - rvalue(d_3d_simplex, "d_3d_simplex", - index_uni(n), index_uni(m), index_uni(k)), 1)); - current_statement__ = 169; - lp_accum__.add( - normal_lpdf( - rvalue(p_real_3d_ar, "p_real_3d_ar", - index_uni(n), index_uni(m), index_uni(k)), - rvalue(p_real_3d_ar, "p_real_3d_ar", - index_uni(n), index_uni(m), index_uni(k)), 1)); - } - } - } - current_statement__ = 180; - for (int i = 1; i <= 4; ++i) { - current_statement__ = 178; - for (int j = 1; j <= 5; ++j) { - current_statement__ = 176; - lp_accum__.add( - normal_lpdf( - to_vector( - rvalue(p_ar_mat, "p_ar_mat", index_uni(i), index_uni(j))), - 0, 1)); - } - } - current_statement__ = 183; - for (int k = 1; k <= K; ++k) { - current_statement__ = 181; - lp_accum__.add( - normal_lpdf( - to_vector(rvalue(p_cfcov_33_ar, "p_cfcov_33_ar", index_uni(k))), - 0, 1)); - } - current_statement__ = 184; - lp_accum__.add(normal_lpdf(to_vector(p_vec), d_vec, 1)); - current_statement__ = 185; - lp_accum__.add(normal_lpdf(to_vector(p_row_vec), 0, 1)); - current_statement__ = 186; - lp_accum__.add(normal_lpdf(to_vector(p_simplex), 0, 1)); - current_statement__ = 187; - lp_accum__.add(normal_lpdf(to_vector(p_cfcov_54), 0, 1)); - current_statement__ = 188; - lp_accum__.add(normal_lpdf(to_vector(p_cfcov_33), 0, 1)); - current_statement__ = 189; - lp_accum__.add( - map_rect<1, binomialf_functor__>(tmp, tmp2, x_r, x_i, pstream__)); - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - lp_accum__.add(lp__); - return lp_accum__.sum(); - } // log_prob_impl() - - 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; - 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__ = "mother_model_namespace::write_array"; - (void) function__; // suppress unused var warning - - try { - double p_real; - p_real = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - p_real = in__.template read(); - double p_upper; - p_upper = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - p_upper = in__.template read_constrain_lb( - p_real, lp__); - double p_lower; - p_lower = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - p_lower = in__.template read_constrain_ub( - p_upper, lp__); - std::vector offset_multiplier; - offset_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 4; - offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 1, 2, lp__, 5); - std::vector no_offset_multiplier; - no_offset_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 5; - no_offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 0, 2, lp__, 5); - std::vector offset_no_multiplier; - offset_no_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 6; - offset_no_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( - 3, 1, lp__, 5); - 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 = in__.template read_constrain_lb, jacobian__>( - 0, lp__, N); - std::vector>> p_real_3d_ar; - p_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); - - - current_statement__ = 8; - p_real_3d_ar = in__.template read_constrain_lb>>, jacobian__>( - 0, lp__, N, M, K); - Eigen::Matrix p_vec; - p_vec = Eigen::Matrix(N); - stan::math::fill(p_vec, std::numeric_limits::quiet_NaN()); - - current_statement__ = 9; - p_vec = in__.template read_constrain_lb, jacobian__>( - 0, lp__, N); - 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()); - - current_statement__ = 10; - p_1d_vec = in__.template read>>( - N, N); - 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()); - - current_statement__ = 11; - p_3d_vec = in__.template read>>>>( - N, M, K, N); - Eigen::Matrix p_row_vec; - p_row_vec = Eigen::Matrix(N); - stan::math::fill(p_row_vec, std::numeric_limits::quiet_NaN()); - - current_statement__ = 12; - p_row_vec = in__.template read>( - N); - 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()); - - - current_statement__ = 13; - p_1d_row_vec = in__.template read>>( - N, N); - 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()); - - - current_statement__ = 14; - p_3d_row_vec = in__.template read>>>>( - N, M, K, N); - Eigen::Matrix p_mat; - p_mat = Eigen::Matrix(5, 4); - stan::math::fill(p_mat, std::numeric_limits::quiet_NaN()); - - current_statement__ = 15; - p_mat = in__.template read>(5, - 4); - 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()); - - current_statement__ = 16; - p_ar_mat = in__.template read_constrain_lub>>, jacobian__>( - 0, 1, lp__, 4, 5, 2, 3); - Eigen::Matrix p_simplex; - p_simplex = Eigen::Matrix(N); - stan::math::fill(p_simplex, std::numeric_limits::quiet_NaN()); - - current_statement__ = 17; - p_simplex = in__.template read_constrain_simplex, jacobian__>( - lp__, N); - 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()); - - - current_statement__ = 18; - p_1d_simplex = in__.template read_constrain_simplex>, jacobian__>( - lp__, N, N); - 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()); - - - current_statement__ = 19; - p_3d_simplex = in__.template read_constrain_simplex>>>, jacobian__>( - lp__, N, M, K, N); - Eigen::Matrix p_cfcov_54; - p_cfcov_54 = Eigen::Matrix(5, 4); - stan::math::fill(p_cfcov_54, std::numeric_limits::quiet_NaN()); - - current_statement__ = 20; - p_cfcov_54 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( - lp__, 5, 4); - Eigen::Matrix p_cfcov_33; - p_cfcov_33 = Eigen::Matrix(3, 3); - stan::math::fill(p_cfcov_33, std::numeric_limits::quiet_NaN()); - - current_statement__ = 21; - p_cfcov_33 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( - lp__, 3, 3); - 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()); - - - current_statement__ = 22; - p_cfcov_33_ar = in__.template read_constrain_cholesky_factor_cov>, jacobian__>( - lp__, K, 3, 3); - Eigen::Matrix x_p; - x_p = Eigen::Matrix(2); - stan::math::fill(x_p, std::numeric_limits::quiet_NaN()); - - current_statement__ = 23; - x_p = in__.template read>(2); - Eigen::Matrix y_p; - y_p = Eigen::Matrix(2); - stan::math::fill(y_p, std::numeric_limits::quiet_NaN()); - - current_statement__ = 24; - y_p = in__.template read>(2); - std::vector tp_real_1d_ar; - tp_real_1d_ar = std::vector(N, std::numeric_limits::quiet_NaN()); - - - std::vector>> tp_real_3d_ar; - tp_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); - - - Eigen::Matrix tp_vec; - tp_vec = Eigen::Matrix(N); - stan::math::fill(tp_vec, std::numeric_limits::quiet_NaN()); - - std::vector> tp_1d_vec; - tp_1d_vec = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(tp_1d_vec, std::numeric_limits::quiet_NaN()); - - std::vector>>> tp_3d_vec; - tp_3d_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(tp_3d_vec, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix tp_row_vec; - tp_row_vec = Eigen::Matrix(N); - stan::math::fill(tp_row_vec, std::numeric_limits::quiet_NaN()); - - std::vector> tp_1d_row_vec; - tp_1d_row_vec = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(tp_1d_row_vec, std::numeric_limits::quiet_NaN()); - - - std::vector>>> tp_3d_row_vec; - tp_3d_row_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(tp_3d_row_vec, std::numeric_limits::quiet_NaN()); - - - Eigen::Matrix tp_mat; - tp_mat = Eigen::Matrix(5, 4); - stan::math::fill(tp_mat, std::numeric_limits::quiet_NaN()); - - std::vector>> tp_ar_mat; - tp_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); - stan::math::fill(tp_ar_mat, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix tp_simplex; - tp_simplex = Eigen::Matrix(N); - stan::math::fill(tp_simplex, std::numeric_limits::quiet_NaN()); - - std::vector> tp_1d_simplex; - tp_1d_simplex = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(tp_1d_simplex, std::numeric_limits::quiet_NaN()); - - - std::vector>>> tp_3d_simplex; - tp_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(tp_3d_simplex, std::numeric_limits::quiet_NaN()); - - - Eigen::Matrix tp_cfcov_54; - tp_cfcov_54 = Eigen::Matrix(5, 4); - stan::math::fill(tp_cfcov_54, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix tp_cfcov_33; - tp_cfcov_33 = Eigen::Matrix(3, 3); - stan::math::fill(tp_cfcov_33, std::numeric_limits::quiet_NaN()); - - std::vector> tp_cfcov_33_ar; - tp_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); - stan::math::fill(tp_cfcov_33_ar, std::numeric_limits::quiet_NaN()); - - - Eigen::Matrix theta_p; - theta_p = Eigen::Matrix(2); - stan::math::fill(theta_p, std::numeric_limits::quiet_NaN()); - - double tp_real; - tp_real = std::numeric_limits::quiet_NaN(); - - 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); - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - out__.write( - p_real_3d_ar[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - out__.write(p_vec); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(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__) { - out__.write( - p_3d_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][(sym1__ - - 1)]); - } - } - } - } - out__.write(p_row_vec); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(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__) { - out__.write( - p_3d_row_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - out__.write(p_mat); - 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__) { - out__.write( - rvalue(p_ar_mat, "p_ar_mat", - index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__))); - } - } - } - } - out__.write(p_simplex); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(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__) { - out__.write( - p_3d_simplex[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - out__.write(p_cfcov_54); - out__.write(p_cfcov_33); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - out__.write( - rvalue(p_cfcov_33_ar, "p_cfcov_33_ar", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - out__.write(x_p); - out__.write(y_p); - if (logical_negation((primitive_value(emit_transformed_parameters__) || - primitive_value(emit_generated_quantities__)))) { - return ; - } - current_statement__ = 43; - assign(tp_real_1d_ar, p_real_1d_ar, "assigning variable tp_real_1d_ar"); - current_statement__ = 44; - assign(tp_real_3d_ar, p_real_3d_ar, "assigning variable tp_real_3d_ar"); - current_statement__ = 45; - assign(tp_1d_vec, p_1d_vec, "assigning variable tp_1d_vec"); - current_statement__ = 46; - assign(tp_3d_vec, p_3d_vec, "assigning variable tp_3d_vec"); - current_statement__ = 47; - assign(tp_simplex, p_simplex, "assigning variable tp_simplex"); - current_statement__ = 48; - assign(tp_1d_simplex, p_1d_simplex, "assigning variable tp_1d_simplex"); - current_statement__ = 49; - assign(tp_3d_simplex, p_3d_simplex, "assigning variable tp_3d_simplex"); - current_statement__ = 50; - assign(tp_cfcov_54, p_cfcov_54, "assigning variable tp_cfcov_54"); - current_statement__ = 51; - assign(tp_cfcov_33, p_cfcov_33, "assigning variable tp_cfcov_33"); - current_statement__ = 52; - assign(tp_cfcov_33_ar, p_cfcov_33_ar, - "assigning variable tp_cfcov_33_ar"); - current_statement__ = 53; - assign(tp_mat, stan::math::fma(d_cfcov_54, p_mat, p_mat), - "assigning variable tp_mat"); - current_statement__ = 54; - assign(tp_vec, stan::math::fma(d_vec, p_vec, p_vec), - "assigning variable tp_vec"); - current_statement__ = 63; - for (int i = 1; i <= 2; ++i) { - current_statement__ = 61; - for (int j = 1; j <= 3; ++j) { - current_statement__ = 59; - for (int m = 1; m <= 4; ++m) { - current_statement__ = 57; - for (int n = 1; n <= 5; ++n) { - current_statement__ = 55; - assign(tp_ar_mat, 0.4, - "assigning variable tp_ar_mat", index_uni(m), index_uni(n), - index_uni(i), index_uni(j)); - } - } - } - } - current_statement__ = 65; - for (int i = 1; i <= N; ++i) { - current_statement__ = 64; - assign(tp_vec, (-1.0 * rvalue(p_vec, "p_vec", index_uni(i))), - "assigning variable tp_vec", index_uni(i)); - } - current_statement__ = 66; - assign(tp_row_vec, - transpose(rvalue(tp_1d_vec, "tp_1d_vec", index_uni(1))), - "assigning variable tp_row_vec"); - current_statement__ = 67; - assign(tp_1d_row_vec, p_1d_row_vec, "assigning variable tp_1d_row_vec"); - current_statement__ = 68; - assign(tp_3d_row_vec, p_3d_row_vec, "assigning variable tp_3d_row_vec"); - current_statement__ = 69; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x, y, dat, dat_int, - pstream__), "assigning variable theta_p"); - current_statement__ = 70; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x, y, dat, dat_int, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); - current_statement__ = 71; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x, y_p, dat, dat_int, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); - current_statement__ = 72; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x_p, y, dat, dat_int, - pstream__), "assigning variable theta_p"); - current_statement__ = 73; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x_p, y, dat, dat_int, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); - current_statement__ = 74; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x_p, y_p, dat, dat_int, - pstream__), "assigning variable theta_p"); - current_statement__ = 75; - assign(theta_p, - algebra_solver(algebra_system_functor__(), x_p, y_p, dat, dat_int, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); - current_statement__ = 76; - tp_real = (p_real * p_real); - current_statement__ = 77; - tp_real = (p_real / p_real); - current_statement__ = 25; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 25; - check_greater_or_equal(function__, "tp_real_1d_ar[sym1__]", - tp_real_1d_ar[(sym1__ - 1)], 0); - } - current_statement__ = 26; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 26; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 26; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 26; - check_greater_or_equal(function__, - "tp_real_3d_ar[sym1__, sym2__, sym3__]", - tp_real_3d_ar[(sym1__ - 1)][(sym2__ - 1)][ - (sym3__ - 1)], 0); - } - } - } - current_statement__ = 27; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 27; - check_less_or_equal(function__, "tp_vec[sym1__]", - tp_vec[(sym1__ - 1)], 0); - } - current_statement__ = 34; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 34; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 34; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 34; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 34; - check_greater_or_equal(function__, - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]", - rvalue(tp_ar_mat, "tp_ar_mat", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__), index_uni(sym4__)), - 0); - } - } - } - } - current_statement__ = 34; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 34; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 34; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 34; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 34; - check_less_or_equal(function__, - "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]", - rvalue(tp_ar_mat, "tp_ar_mat", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__), index_uni(sym4__)), - 1); - } - } - } - } - current_statement__ = 35; - check_simplex(function__, "tp_simplex", tp_simplex); - current_statement__ = 36; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 36; - check_simplex(function__, "tp_1d_simplex[sym1__]", - tp_1d_simplex[(sym1__ - 1)]); - } - current_statement__ = 37; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 37; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 37; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 37; - check_simplex(function__, - "tp_3d_simplex[sym1__, sym2__, sym3__]", - tp_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - - 1)]); - } - } - } - current_statement__ = 38; - check_cholesky_factor(function__, "tp_cfcov_54", tp_cfcov_54); - current_statement__ = 39; - check_cholesky_factor(function__, "tp_cfcov_33", tp_cfcov_33); - current_statement__ = 40; - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - current_statement__ = 40; - check_cholesky_factor(function__, "tp_cfcov_33_ar[sym1__]", - tp_cfcov_33_ar[(sym1__ - 1)]); - } - if (emit_transformed_parameters__) { - out__.write(tp_real_1d_ar); - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - out__.write( - tp_real_3d_ar[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - out__.write(tp_vec); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(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__) { - out__.write( - tp_3d_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - out__.write(tp_row_vec); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(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__) { - out__.write( - tp_3d_row_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - out__.write(tp_mat); - 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__) { - out__.write( - rvalue(tp_ar_mat, "tp_ar_mat", - index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__))); - } - } - } - } - out__.write(tp_simplex); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(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__) { - out__.write( - tp_3d_simplex[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - out__.write(tp_cfcov_54); - out__.write(tp_cfcov_33); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - out__.write( - rvalue(tp_cfcov_33_ar, "tp_cfcov_33_ar", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - out__.write(theta_p); - out__.write(tp_real); - } - if (logical_negation(emit_generated_quantities__)) { - return ; - } - double gq_r1; - gq_r1 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 78; - gq_r1 = foo_bar1(p_real, pstream__); - double gq_r2; - gq_r2 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 79; - gq_r2 = foo_bar1(J, pstream__); - std::vector gq_real_1d_ar; - gq_real_1d_ar = std::vector(N, std::numeric_limits::quiet_NaN()); - - - std::vector>> gq_real_3d_ar; - gq_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); - - - Eigen::Matrix gq_vec; - gq_vec = Eigen::Matrix(N); - stan::math::fill(gq_vec, std::numeric_limits::quiet_NaN()); - - std::vector> gq_1d_vec; - gq_1d_vec = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(gq_1d_vec, std::numeric_limits::quiet_NaN()); - - std::vector>>> gq_3d_vec; - gq_3d_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(gq_3d_vec, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix gq_row_vec; - gq_row_vec = Eigen::Matrix(N); - stan::math::fill(gq_row_vec, std::numeric_limits::quiet_NaN()); - - std::vector> gq_1d_row_vec; - gq_1d_row_vec = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(gq_1d_row_vec, std::numeric_limits::quiet_NaN()); - - - std::vector>>> gq_3d_row_vec; - gq_3d_row_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(gq_3d_row_vec, std::numeric_limits::quiet_NaN()); - - - std::vector>> gq_ar_mat; - gq_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); - stan::math::fill(gq_ar_mat, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix gq_simplex; - gq_simplex = Eigen::Matrix(N); - stan::math::fill(gq_simplex, std::numeric_limits::quiet_NaN()); - - std::vector> gq_1d_simplex; - gq_1d_simplex = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(gq_1d_simplex, std::numeric_limits::quiet_NaN()); - - - std::vector>>> gq_3d_simplex; - gq_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); - stan::math::fill(gq_3d_simplex, std::numeric_limits::quiet_NaN()); - - - Eigen::Matrix gq_cfcov_54; - gq_cfcov_54 = Eigen::Matrix(5, 4); - stan::math::fill(gq_cfcov_54, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix gq_cfcov_33; - gq_cfcov_33 = Eigen::Matrix(3, 3); - stan::math::fill(gq_cfcov_33, std::numeric_limits::quiet_NaN()); - - std::vector> gq_cfcov_33_ar; - gq_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); - stan::math::fill(gq_cfcov_33_ar, std::numeric_limits::quiet_NaN()); - - - std::vector indices; - indices = std::vector(3, std::numeric_limits::min()); - - current_statement__ = 95; - assign(indices, std::vector{2, 3, 1}, "assigning variable indices"); - std::vector> indexing_mat; - indexing_mat = std::vector>(5, Eigen::Matrix(3, 4)); - stan::math::fill(indexing_mat, std::numeric_limits::quiet_NaN()); - - - std::vector> idx_res1; - idx_res1 = std::vector>(3, Eigen::Matrix(3, 4)); - stan::math::fill(idx_res1, std::numeric_limits::quiet_NaN()); - - std::vector> idx_res2; - idx_res2 = std::vector>(5, Eigen::Matrix(3, 4)); - stan::math::fill(idx_res2, std::numeric_limits::quiet_NaN()); - - std::vector> idx_res3; - idx_res3 = std::vector>(3, Eigen::Matrix(3, 3)); - stan::math::fill(idx_res3, std::numeric_limits::quiet_NaN()); - - std::vector> idx_res11; - idx_res11 = std::vector>(3, Eigen::Matrix(3, 4)); - stan::math::fill(idx_res11, std::numeric_limits::quiet_NaN()); - - std::vector> idx_res21; - idx_res21 = std::vector>(5, Eigen::Matrix(3, 4)); - stan::math::fill(idx_res21, std::numeric_limits::quiet_NaN()); - - std::vector> idx_res31; - idx_res31 = std::vector>(3, Eigen::Matrix(3, 3)); - stan::math::fill(idx_res31, std::numeric_limits::quiet_NaN()); - - std::vector> idx_res4; - idx_res4 = std::vector>(3, Eigen::Matrix(4)); - stan::math::fill(idx_res4, std::numeric_limits::quiet_NaN()); - - std::vector> idx_res5; - idx_res5 = std::vector>(2, Eigen::Matrix(2)); - stan::math::fill(idx_res5, std::numeric_limits::quiet_NaN()); - - current_statement__ = 105; - assign(gq_real_1d_ar, - rvalue(p_1d_simplex, "p_1d_simplex", index_omni(), index_uni(1)), - "assigning variable gq_real_1d_ar"); - current_statement__ = 106; - assign(gq_real_3d_ar, p_real_3d_ar, "assigning variable gq_real_3d_ar"); - current_statement__ = 107; - assign(gq_1d_vec, p_1d_vec, "assigning variable gq_1d_vec"); - current_statement__ = 108; - assign(gq_3d_vec, p_3d_vec, "assigning variable gq_3d_vec"); - current_statement__ = 109; - assign(gq_row_vec, p_row_vec, "assigning variable gq_row_vec"); - current_statement__ = 110; - assign(gq_1d_row_vec, p_1d_row_vec, "assigning variable gq_1d_row_vec"); - current_statement__ = 111; - assign(gq_3d_row_vec, p_3d_row_vec, "assigning variable gq_3d_row_vec"); - current_statement__ = 112; - assign(gq_simplex, - rvalue(p_1d_simplex, "p_1d_simplex", - index_uni(1), index_min_max(1, N)), "assigning variable gq_simplex"); - current_statement__ = 113; - assign(gq_1d_simplex, p_1d_simplex, "assigning variable gq_1d_simplex"); - current_statement__ = 114; - assign(gq_3d_simplex, p_3d_simplex, "assigning variable gq_3d_simplex"); - current_statement__ = 115; - assign(gq_cfcov_54, p_cfcov_54, "assigning variable gq_cfcov_54"); - current_statement__ = 116; - assign(gq_cfcov_33, p_cfcov_33, "assigning variable gq_cfcov_33"); - current_statement__ = 117; - assign(gq_cfcov_33_ar, p_cfcov_33_ar, - "assigning variable gq_cfcov_33_ar"); - current_statement__ = 126; - for (int i = 1; i <= 2; ++i) { - current_statement__ = 124; - for (int j = 1; j <= 3; ++j) { - current_statement__ = 122; - for (int m = 1; m <= 4; ++m) { - current_statement__ = 120; - for (int n = 1; n <= 5; ++n) { - current_statement__ = 118; - assign(gq_ar_mat, 0.4, - "assigning variable gq_ar_mat", index_uni(m), index_uni(n), - index_uni(i), index_uni(j)); - } - } - } - } - current_statement__ = 128; - for (int i = 1; i <= N; ++i) { - current_statement__ = 127; - assign(gq_vec, (-1.0 * rvalue(p_vec, "p_vec", index_uni(i))), - "assigning variable gq_vec", index_uni(i)); - } - current_statement__ = 132; - for (int i = 1; i <= 3; ++i) { - current_statement__ = 131; - for (int j = 1; j <= 4; ++j) { - current_statement__ = 130; - for (int k = 1; k <= 5; ++k) { - current_statement__ = 129; - assign(indexing_mat, normal_rng(0, 1, base_rng__), - "assigning variable indexing_mat", index_uni(k), index_uni(i), - index_uni(j)); - } - } - } - current_statement__ = 135; - for (int i = 1; i <= size(indices); ++i) { - current_statement__ = 134; - for (int j = 1; j <= size(indices); ++j) { - current_statement__ = 133; - assign(idx_res1, - rvalue(indexing_mat, "indexing_mat", - index_uni(rvalue(indices, "indices", index_uni(i))), - index_uni(rvalue(indices, "indices", index_uni(j)))), - "assigning variable idx_res1", index_uni(i), index_uni(j)); - } - } - current_statement__ = 136; - assign(idx_res11, - rvalue(indexing_mat, "indexing_mat", - index_multi(indices), index_multi(indices)), - "assigning variable idx_res11"); - current_statement__ = 138; - if (logical_neq( - rvalue( - rvalue(indexing_mat, "indexing_mat", - index_multi(indices), index_multi(indices)), - "indexing_mat[indices, indices]", - index_uni(2), index_uni(1), index_uni(1)), - rvalue(idx_res1, "idx_res1", - index_uni(2), index_uni(1), index_uni(1)))) { - current_statement__ = 137; - std::stringstream errmsg_stream__; - errmsg_stream__ << "indexing test 1 failed"; - throw std::domain_error(errmsg_stream__.str()); - } - current_statement__ = 141; - for (int i = 1; i <= 5; ++i) { - current_statement__ = 140; - for (int j = 1; j <= size(indices); ++j) { - current_statement__ = 139; - assign(idx_res2, - rvalue(indexing_mat, "indexing_mat", - index_uni(i), - index_uni(rvalue(indices, "indices", index_uni(j)))), - "assigning variable idx_res2", index_uni(i), index_uni(j)); - } - } - current_statement__ = 142; - assign(idx_res21, - rvalue(indexing_mat, "indexing_mat", - index_omni(), index_multi(indices)), "assigning variable idx_res21"); - current_statement__ = 144; - if (logical_neq( - rvalue( - rvalue(indexing_mat, "indexing_mat", index_omni(), index_multi(indices)), - "indexing_mat[:, indices]", - index_uni(2), index_uni(1), index_uni(1)), - rvalue(idx_res2, "idx_res2", - index_uni(2), index_uni(1), index_uni(1)))) { - current_statement__ = 143; - std::stringstream errmsg_stream__; - errmsg_stream__ << "indexing test 2 failed"; - throw std::domain_error(errmsg_stream__.str()); - } - current_statement__ = 148; - for (int i = 1; i <= size(indices); ++i) { - current_statement__ = 147; - for (int j = 1; j <= 3; ++j) { - current_statement__ = 146; - for (int k = 1; k <= size(indices); ++k) { - current_statement__ = 145; - assign(idx_res3, - rvalue(indexing_mat, "indexing_mat", - index_uni(rvalue(indices, "indices", index_uni(i))), - index_uni(j), - index_uni(rvalue(indices, "indices", index_uni(k)))), - "assigning variable idx_res3", index_uni(i), index_uni(j), - index_uni(k)); - } - } - } - current_statement__ = 149; - assign(idx_res31, - rvalue(indexing_mat, "indexing_mat", - index_multi(indices), index_omni(), index_multi(indices)), - "assigning variable idx_res31"); - current_statement__ = 151; - if (logical_neq( - rvalue( - rvalue(indexing_mat, "indexing_mat", - index_multi(indices), index_omni(), index_multi(indices)), - "indexing_mat[indices, :, indices]", - index_uni(2), index_uni(1), index_uni(1)), - rvalue(idx_res3, "idx_res3", - index_uni(2), index_uni(1), index_uni(1)))) { - current_statement__ = 150; - std::stringstream errmsg_stream__; - errmsg_stream__ << "indexing test 3 failed"; - throw std::domain_error(errmsg_stream__.str()); - } - current_statement__ = 152; - assign(idx_res4, - rvalue(indexing_mat, "indexing_mat", - index_min_max(1, 3), index_uni(1), index_omni()), - "assigning variable idx_res4"); - current_statement__ = 153; - assign(idx_res5, - rvalue(indexing_mat, "indexing_mat", - index_min(4), index_min_max(2, 3), index_uni(1)), - "assigning variable idx_res5"); - current_statement__ = 80; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 80; - check_greater_or_equal(function__, "gq_real_1d_ar[sym1__]", - gq_real_1d_ar[(sym1__ - 1)], 0); - } - current_statement__ = 81; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 81; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 81; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 81; - check_greater_or_equal(function__, - "gq_real_3d_ar[sym1__, sym2__, sym3__]", - gq_real_3d_ar[(sym1__ - 1)][(sym2__ - 1)][ - (sym3__ - 1)], 0); - } - } - } - current_statement__ = 82; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 82; - check_less_or_equal(function__, "gq_vec[sym1__]", - gq_vec[(sym1__ - 1)], 1); - } - current_statement__ = 88; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 88; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 88; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 88; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 88; - check_greater_or_equal(function__, - "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]", - rvalue(gq_ar_mat, "gq_ar_mat", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__), index_uni(sym4__)), - 0); - } - } - } - } - current_statement__ = 88; - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - current_statement__ = 88; - for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { - current_statement__ = 88; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 88; - for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { - current_statement__ = 88; - check_less_or_equal(function__, - "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]", - rvalue(gq_ar_mat, "gq_ar_mat", - index_uni(sym1__), index_uni(sym2__), - index_uni(sym3__), index_uni(sym4__)), - 1); - } - } - } - } - current_statement__ = 89; - check_simplex(function__, "gq_simplex", gq_simplex); - current_statement__ = 90; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 90; - check_simplex(function__, "gq_1d_simplex[sym1__]", - gq_1d_simplex[(sym1__ - 1)]); - } - current_statement__ = 91; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 91; - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - current_statement__ = 91; - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - current_statement__ = 91; - check_simplex(function__, - "gq_3d_simplex[sym1__, sym2__, sym3__]", - gq_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - - 1)]); - } - } - } - current_statement__ = 92; - check_cholesky_factor(function__, "gq_cfcov_54", gq_cfcov_54); - current_statement__ = 93; - check_cholesky_factor(function__, "gq_cfcov_33", gq_cfcov_33); - current_statement__ = 94; - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - current_statement__ = 94; - check_cholesky_factor(function__, "gq_cfcov_33_ar[sym1__]", - gq_cfcov_33_ar[(sym1__ - 1)]); - } - out__.write(gq_r1); - out__.write(gq_r2); - out__.write(gq_real_1d_ar); - for (int sym1__ = 1; sym1__ <= K; ++sym1__) { - for (int sym2__ = 1; sym2__ <= M; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - out__.write( - gq_real_3d_ar[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - out__.write(gq_vec); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(gq_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__) { - out__.write( - gq_3d_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][(sym1__ - - 1)]); - } - } - } - } - out__.write(gq_row_vec); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(gq_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__) { - out__.write( - gq_3d_row_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (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__) { - out__.write( - rvalue(gq_ar_mat, "gq_ar_mat", - index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__))); - } - } - } - } - out__.write(gq_simplex); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(gq_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__) { - out__.write( - gq_3d_simplex[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ - (sym1__ - 1)]); - } - } - } - } - out__.write(gq_cfcov_54); - out__.write(gq_cfcov_33); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= K; ++sym3__) { - out__.write( - rvalue(gq_cfcov_33_ar, "gq_cfcov_33_ar", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - out__.write(indices); - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { - out__.write( - 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__) { - out__.write( - 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__) { - out__.write( - 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__) { - out__.write( - 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__) { - out__.write( - 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__) { - out__.write( - 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__) { - out__.write( - rvalue(idx_res31, "idx_res31", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - out__.write(idx_res4[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - out__.write(idx_res5[(sym2__ - 1)][(sym1__ - 1)]); - } - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - } // 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - 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__) { - assign(p_cfcov_33_ar, in__.read(), - "assigning variable p_cfcov_33_ar", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - } - } - } - 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__) { - 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__]); - } - } // 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__) { - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "tp_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() + "tp_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() + "tp_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__)); - } - } - } - } - 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_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() + "tp_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__)); - } - } - } - } - 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_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() + "tp_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() + "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__) { - { - param_names__.emplace_back(std::string() + "tp_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__)); - } - } - } - } - 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__ <= 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__) { - { - 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__) { - { - param_names__.emplace_back(std::string() + "gq_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() + "gq_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() + "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() + "gq_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() + "gq_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() + "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() + "gq_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() + "gq_3d_row_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + 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() + "gq_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() + "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 sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - { - param_names__.emplace_back(std::string() + "idx_res31" + '.' + 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__) { - { - param_names__.emplace_back(std::string() + "idx_res4" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - { - param_names__.emplace_back(std::string() + "idx_res5" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - - } // constrained_param_names() - - inline void unconstrained_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 - 1); ++sym1__) { - { - param_names__.emplace_back(std::string() + "p_simplex" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= (N - 1); ++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 - 1); ++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 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4)); ++sym1__) { - { - param_names__.emplace_back(std::string() + "p_cfcov_54" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; - sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { - { - param_names__.emplace_back(std::string() + "p_cfcov_33" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; - sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - { - param_names__.emplace_back(std::string() + "p_cfcov_33_ar" + '.' + 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__) { - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "tp_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() + "tp_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() + "tp_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__)); - } - } - } - } - 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_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() + "tp_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__)); - } - } - } - } - 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_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() + "tp_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() + "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 - 1); ++sym1__) { - { - param_names__.emplace_back(std::string() + "tp_simplex" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= (N - 1); ++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__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= (N - 1); ++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__ <= ((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4)); ++sym1__) { - { - param_names__.emplace_back(std::string() + "tp_cfcov_54" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; - sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { - { - param_names__.emplace_back(std::string() + "tp_cfcov_33" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; - sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - { - param_names__.emplace_back(std::string() + "tp_cfcov_33_ar" + '.' + 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__) { - { - param_names__.emplace_back(std::string() + "gq_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() + "gq_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() + "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() + "gq_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() + "gq_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() + "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() + "gq_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() + "gq_3d_row_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + 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() + "gq_ar_mat" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - } - } - } - for (int sym1__ = 1; sym1__ <= (N - 1); ++sym1__) { - { - param_names__.emplace_back(std::string() + "gq_simplex" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= (N - 1); ++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 - 1); ++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 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4)); ++sym1__) { - { - param_names__.emplace_back(std::string() + "gq_cfcov_54" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; - sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { - { - param_names__.emplace_back(std::string() + "gq_cfcov_33" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; - sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= K; ++sym2__) { - { - param_names__.emplace_back(std::string() + "gq_cfcov_33_ar" + '.' + 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 sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { - { - param_names__.emplace_back(std::string() + "idx_res31" + '.' + 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__) { - { - param_names__.emplace_back(std::string() + "idx_res4" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - { - param_names__.emplace_back(std::string() + "idx_res5" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - - } // unconstrained_param_names() - - inline std::string get_constrained_sizedtypes() const { - - return std::string("[{\"name\":\"p_real\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"p_upper\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"p_lower\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"offset_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"no_offset_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"offset_no_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"p_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"p_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"parameters\"},{\"name\":\"p_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_mat\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"parameters\"},{\"name\":\"p_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"parameters\"},{\"name\":\"p_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_cfcov_54\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"parameters\"},{\"name\":\"p_cfcov_33\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "},\"block\":\"parameters\"},{\"name\":\"p_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"parameters\"},{\"name\":\"x_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"y_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"tp_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_mat\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_54\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_33\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"theta_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_real\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"gq_r1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"gq_r2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"gq_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"generated_quantities\"},{\"name\":\"gq_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_54\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_33\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"generated_quantities\"},{\"name\":\"indices\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"int\"}},\"block\":\"generated_quantities\"},{\"name\":\"indexing_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res11\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res21\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res31\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "}},\"block\":\"generated_quantities\"}]"); - - } // get_constrained_sizedtypes() - - inline std::string get_unconstrained_sizedtypes() const { - - return std::string("[{\"name\":\"p_real\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"p_upper\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"p_lower\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"offset_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"no_offset_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"offset_no_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"p_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"p_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"parameters\"},{\"name\":\"p_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_mat\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"parameters\"},{\"name\":\"p_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"parameters\"},{\"name\":\"p_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_cfcov_54\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4))) + "},\"block\":\"parameters\"},{\"name\":\"p_cfcov_33\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "},\"block\":\"parameters\"},{\"name\":\"p_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "}},\"block\":\"parameters\"},{\"name\":\"x_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"y_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"tp_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_mat\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_54\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4))) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_33\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"theta_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_real\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"gq_r1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"gq_r2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"gq_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"generated_quantities\"},{\"name\":\"gq_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_54\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4))) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_33\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "}},\"block\":\"generated_quantities\"},{\"name\":\"indices\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"int\"}},\"block\":\"generated_quantities\"},{\"name\":\"indexing_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res11\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res21\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res31\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "}},\"block\":\"generated_quantities\"}]"); - - } // get_unconstrained_sizedtypes() - - - // Begin method overload boilerplate - template - inline void write_array(RNG& base_rng, - Eigen::Matrix& params_r, - Eigen::Matrix& vars, - const bool emit_transformed_parameters = true, - const bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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); - vars = Eigen::Map>( - vars_vec.data(), vars_vec.size()); - } - - template - inline void write_array(RNG& base_rng, std::vector& params_r, - std::vector& params_i, - std::vector& vars, - bool emit_transformed_parameters = true, - bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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 - inline T_ log_prob(Eigen::Matrix& params_r, - std::ostream* pstream = nullptr) const { - Eigen::Matrix params_i; - return log_prob_impl(params_r, params_i, pstream); - } - - template - inline T__ log_prob(std::vector& params_r, - std::vector& params_i, - std::ostream* pstream = nullptr) const { - return log_prob_impl(params_r, params_i, pstream); - } - - - 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.size()); - std::vector params_i; - 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 { - constexpr std::array names__{"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"}; - const std::array constrain_param_sizes__{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 auto num_constrained_params__ = std::accumulate( - constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); - - std::vector params_r_flat__(num_constrained_params__); - Eigen::Index size_iter__ = 0; - Eigen::Index flat_iter__ = 0; - for (auto&& param_name__ : names__) { - const auto param_vec__ = context.vals_r(param_name__); - for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { - params_r_flat__[flat_iter__] = param_vec__[i]; - ++flat_iter__; - } - ++size_iter__; - } - vars.resize(num_params_r__); - transform_inits_impl(params_r_flat__, params_i, vars, pstream__); - } // transform_inits() - -}; -} -using stan_model = mother_model_namespace::mother_model; - -#ifndef USING_R - -// Boilerplate -stan::model::model_base& new_model( - stan::io::var_context& data_context, - unsigned int seed, - std::ostream* msg_stream) { - stan_model* m = new stan_model(data_context, seed, msg_stream); - return *m; -} - -stan::math::profile_map& get_stan_profile_data() { - return mother_model_namespace::profiles__; -} - -#endif - - -STAN_REGISTER_MAP_RECT(1, mother_model_namespace::binomialf_functor__) -Warning in 'mother.stan', line 63, column 4: increment_log_prob(...); is deprecated and will be removed in the future. Use target += ...; instead. -Warning in 'mother.stan', line 187, column 15: get_lp() function is deprecated. It will be removed in a future release. Use target() instead. -Warning in 'mother.stan', line 63, column 23: normal_log is deprecated and will be removed in the future. Use normal_lpdf instead. -Warning in 'mother.stan', line 187, column 15: The no-argument function `get_lp()` is deprecated. Use the no-argument function `target()` instead. - $ ../../../../../install/default/bin/stanc --print-cpp motherHOF.stan - -// Code generated by %%NAME%% %%VERSION%% -#include -namespace motherHOF_model_namespace { - -using stan::io::dump; -using stan::model::assign; -using stan::model::index_uni; -using stan::model::index_max; -using stan::model::index_min; -using stan::model::index_min_max; -using stan::model::index_multi; -using stan::model::index_omni; -using stan::model::model_base_crtp; -using stan::model::rvalue; -using namespace stan::math; - - -stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = -{" (found before start of program)", - " (in 'motherHOF.stan', line 52, column 2 to column 15)", - " (in 'motherHOF.stan', line 53, column 2 to column 18)", - " (in 'motherHOF.stan', line 54, column 2 to column 14)", - " (in 'motherHOF.stan', line 55, column 2 to column 18)", - " (in 'motherHOF.stan', line 56, column 2 to column 28)", - " (in 'motherHOF.stan', line 57, column 2 to column 28)", - " (in 'motherHOF.stan', line 58, column 2 to column 11)", - " (in 'motherHOF.stan', line 61, column 2 to column 18)", - " (in 'motherHOF.stan', line 62, column 2 to column 37)", - " (in 'motherHOF.stan', line 63, column 2 to column 33)", - " (in 'motherHOF.stan', line 64, column 2 to line 65, column 69)", - " (in 'motherHOF.stan', line 66, column 2 to line 67, column 69)", - " (in 'motherHOF.stan', line 68, column 2 to line 69, column 69)", - " (in 'motherHOF.stan', line 70, column 2 to column 23)", - " (in 'motherHOF.stan', line 71, column 2 to column 16)", - " (in 'motherHOF.stan', line 72, column 2 to column 16)", - " (in 'motherHOF.stan', line 73, column 2 to column 16)", - " (in 'motherHOF.stan', line 74, column 2 to column 70)", - " (in 'motherHOF.stan', line 75, column 2 to column 86)", - " (in 'motherHOF.stan', line 76, column 2 to column 86)", - " (in 'motherHOF.stan', line 77, column 2 to column 72)", - " (in 'motherHOF.stan', line 79, column 2 to column 88)", - " (in 'motherHOF.stan', line 80, column 2 to column 72)", - " (in 'motherHOF.stan', line 81, column 2 to column 88)", - " (in 'motherHOF.stan', line 83, column 2 to column 77)", - " (in 'motherHOF.stan', line 84, column 2 to column 93)", - " (in 'motherHOF.stan', line 85, column 2 to column 93)", - " (in 'motherHOF.stan', line 86, column 2 to column 79)", - " (in 'motherHOF.stan', line 88, column 2 to column 95)", - " (in 'motherHOF.stan', line 89, column 2 to column 79)", - " (in 'motherHOF.stan', line 90, column 2 to column 95)", - " (in 'motherHOF.stan', line 145, column 2 to column 18)", - " (in 'motherHOF.stan', line 146, column 2 to column 68)", - " (in 'motherHOF.stan', line 147, column 2 to column 68)", - " (in 'motherHOF.stan', line 148, column 2 to column 68)", - " (in 'motherHOF.stan', line 149, column 2 to column 68)", - " (in 'motherHOF.stan', line 151, column 2 to column 87)", - " (in 'motherHOF.stan', line 152, column 2 to column 87)", - " (in 'motherHOF.stan', line 153, column 2 to column 87)", - " (in 'motherHOF.stan', line 154, column 2 to column 87)", - " (in 'motherHOF.stan', line 156, column 2 to column 66)", - " (in 'motherHOF.stan', line 157, column 2 to column 66)", - " (in 'motherHOF.stan', line 158, column 2 to column 66)", - " (in 'motherHOF.stan', line 159, column 2 to column 66)", - " (in 'motherHOF.stan', line 161, column 2 to column 85)", - " (in 'motherHOF.stan', line 162, column 2 to column 85)", - " (in 'motherHOF.stan', line 163, column 2 to column 85)", - " (in 'motherHOF.stan', line 164, column 2 to column 85)", - " (in 'motherHOF.stan', line 166, column 2 to column 67)", - " (in 'motherHOF.stan', line 167, column 2 to column 67)", - " (in 'motherHOF.stan', line 168, column 2 to column 67)", - " (in 'motherHOF.stan', line 169, column 2 to column 67)", - " (in 'motherHOF.stan', line 171, column 2 to column 61)", - " (in 'motherHOF.stan', line 172, column 2 to column 58)", - " (in 'motherHOF.stan', line 173, column 2 to column 58)", - " (in 'motherHOF.stan', line 174, column 2 to column 60)", - " (in 'motherHOF.stan', line 176, column 2 to column 67)", - " (in 'motherHOF.stan', line 177, column 2 to column 64)", - " (in 'motherHOF.stan', line 178, column 2 to column 64)", - " (in 'motherHOF.stan', line 179, column 2 to column 66)", - " (in 'motherHOF.stan', line 181, column 2 to column 34)", - " (in 'motherHOF.stan', line 182, column 2 to column 38)", - " (in 'motherHOF.stan', line 183, column 2 to line 185, column 71)", - " (in 'motherHOF.stan', line 187, column 2 to line 188, column 69)", - " (in 'motherHOF.stan', line 190, column 2 to column 22)", - " (in 'motherHOF.stan', line 191, column 2 to column 69)", - " (in 'motherHOF.stan', line 192, column 2 to column 85)", - " (in 'motherHOF.stan', line 193, column 2 to column 85)", - " (in 'motherHOF.stan', line 194, column 2 to column 71)", - " (in 'motherHOF.stan', line 196, column 2 to column 87)", - " (in 'motherHOF.stan', line 197, column 2 to column 71)", - " (in 'motherHOF.stan', line 198, column 2 to column 87)", - " (in 'motherHOF.stan', line 200, column 2 to column 76)", - " (in 'motherHOF.stan', line 201, column 2 to column 92)", - " (in 'motherHOF.stan', line 202, column 2 to column 92)", - " (in 'motherHOF.stan', line 203, column 2 to column 78)", - " (in 'motherHOF.stan', line 205, column 2 to column 94)", - " (in 'motherHOF.stan', line 206, column 2 to column 78)", - " (in 'motherHOF.stan', line 207, column 2 to column 94)", - " (in 'motherHOF.stan', line 94, column 13 to column 14)", - " (in 'motherHOF.stan', line 94, column 2 to column 18)", - " (in 'motherHOF.stan', line 95, column 2 to column 68)", - " (in 'motherHOF.stan', line 96, column 2 to column 68)", - " (in 'motherHOF.stan', line 97, column 2 to column 68)", - " (in 'motherHOF.stan', line 99, column 2 to column 87)", - " (in 'motherHOF.stan', line 100, column 2 to column 87)", - " (in 'motherHOF.stan', line 101, column 2 to column 87)", - " (in 'motherHOF.stan', line 103, column 2 to column 66)", - " (in 'motherHOF.stan', line 104, column 2 to column 66)", - " (in 'motherHOF.stan', line 105, column 2 to column 66)", - " (in 'motherHOF.stan', line 106, column 2 to column 66)", - " (in 'motherHOF.stan', line 108, column 2 to column 85)", - " (in 'motherHOF.stan', line 109, column 2 to column 85)", - " (in 'motherHOF.stan', line 110, column 2 to column 85)", - " (in 'motherHOF.stan', line 111, column 2 to column 85)", - " (in 'motherHOF.stan', line 113, column 2 to column 67)", - " (in 'motherHOF.stan', line 114, column 2 to column 67)", - " (in 'motherHOF.stan', line 115, column 2 to column 67)", - " (in 'motherHOF.stan', line 116, column 2 to column 67)", - " (in 'motherHOF.stan', line 118, column 2 to column 61)", - " (in 'motherHOF.stan', line 119, column 2 to column 58)", - " (in 'motherHOF.stan', line 120, column 2 to column 58)", - " (in 'motherHOF.stan', line 121, column 2 to column 60)", - " (in 'motherHOF.stan', line 122, column 2 to column 56)", - " (in 'motherHOF.stan', line 123, column 2 to column 58)", - " (in 'motherHOF.stan', line 124, column 2 to column 58)", - " (in 'motherHOF.stan', line 125, column 2 to column 60)", - " (in 'motherHOF.stan', line 126, column 2 to column 62)", - " (in 'motherHOF.stan', line 127, column 2 to column 62)", - " (in 'motherHOF.stan', line 128, column 2 to column 64)", - " (in 'motherHOF.stan', line 130, column 2 to column 67)", - " (in 'motherHOF.stan', line 131, column 2 to column 64)", - " (in 'motherHOF.stan', line 132, column 2 to column 64)", - " (in 'motherHOF.stan', line 133, column 2 to column 66)", - " (in 'motherHOF.stan', line 134, column 2 to column 62)", - " (in 'motherHOF.stan', line 135, column 2 to column 64)", - " (in 'motherHOF.stan', line 136, column 2 to column 64)", - " (in 'motherHOF.stan', line 137, column 2 to column 66)", - " (in 'motherHOF.stan', line 138, column 2 to column 68)", - " (in 'motherHOF.stan', line 139, column 2 to column 68)", - " (in 'motherHOF.stan', line 140, column 2 to column 70)", - " (in 'motherHOF.stan', line 142, column 2 to column 36)", - " (in 'motherHOF.stan', line 37, column 2 to column 17)", - " (in 'motherHOF.stan', line 38, column 2 to column 15)", - " (in 'motherHOF.stan', line 39, column 2 to column 10)", - " (in 'motherHOF.stan', line 40, column 10 to column 11)", - " (in 'motherHOF.stan', line 40, column 2 to column 13)", - " (in 'motherHOF.stan', line 41, column 2 to column 18)", - " (in 'motherHOF.stan', line 42, column 2 to column 12)", - " (in 'motherHOF.stan', line 43, column 2 to column 15)", - " (in 'motherHOF.stan', line 44, column 2 to column 16)", - " (in 'motherHOF.stan', line 45, column 2 to column 15)", - " (in 'motherHOF.stan', line 46, column 2 to column 28)", - " (in 'motherHOF.stan', line 47, column 2 to column 28)", - " (in 'motherHOF.stan', line 48, column 2 to column 20)", - " (in 'motherHOF.stan', line 49, column 2 to column 19)", - " (in 'motherHOF.stan', line 53, column 15 to column 16)", - " (in 'motherHOF.stan', line 54, column 11 to column 12)", - " (in 'motherHOF.stan', line 145, column 13 to column 14)", - " (in 'motherHOF.stan', line 7, column 4 to column 17)", - " (in 'motherHOF.stan', line 8, column 4 to column 19)", - " (in 'motherHOF.stan', line 9, column 4 to column 38)", - " (in 'motherHOF.stan', line 10, column 4 to column 16)", - " (in 'motherHOF.stan', line 6, column 26 to line 11, column 3)", - " (in 'motherHOF.stan', line 13, column 4 to column 15)", - " (in 'motherHOF.stan', line 12, column 71 to line 14, column 3)", - " (in 'motherHOF.stan', line 17, column 4 to column 22)", - " (in 'motherHOF.stan', line 16, column 42 to line 18, column 3)", - " (in 'motherHOF.stan', line 21, column 4 to column 22)", - " (in 'motherHOF.stan', line 20, column 42 to line 22, column 3)", - " (in 'motherHOF.stan', line 24, column 4 to column 17)", - " (in 'motherHOF.stan', line 23, column 28 to line 25, column 3)", - " (in 'motherHOF.stan', line 30, column 4 to column 18)", - " (in 'motherHOF.stan', line 31, column 4 to column 25)", - " (in 'motherHOF.stan', line 32, column 4 to column 25)", - " (in 'motherHOF.stan', line 33, column 4 to column 15)", - " (in 'motherHOF.stan', line 29, column 39 to line 34, column 3)"}; - - -template -std::vector> -sho(const T0__& t, const std::vector& y, - const std::vector& theta, const std::vector& x, - const std::vector& x_int, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - std::vector dydt; - dydt = std::vector(2, DUMMY_VAR__); - - current_statement__ = 141; - assign(dydt, rvalue(y, "y", index_uni(2)), - "assigning variable dydt", index_uni(1)); - current_statement__ = 142; - assign(dydt, - (-rvalue(y, "y", index_uni(1)) - - (rvalue(theta, "theta", index_uni(1)) * rvalue(y, "y", index_uni(2)))), - "assigning variable dydt", index_uni(2)); - current_statement__ = 143; - return dydt; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct sho_functor__ { -template -std::vector> -operator()(const T0__& t, const std::vector& y, - const std::vector& theta, const std::vector& x, - const std::vector& x_int, std::ostream* pstream__) const -{ -return sho(t, y, theta, x, x_int, pstream__); -} -}; - -template -stan::promote_args_t -integrand(const T0__& x, const T1__& xc, const std::vector& theta, - const std::vector& x_r, const std::vector& x_i, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 145; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct integrand_functor__ { -template -stan::promote_args_t -operator()(const T0__& x, const T1__& xc, const std::vector& theta, - const std::vector& x_r, const std::vector& x_i, - std::ostream* pstream__) const -{ -return integrand(x, xc, theta, x_r, x_i, pstream__); -} -}; - -template -Eigen::Matrix, stan::value_type_t, -T2__>, -1, 1> -foo(const T0__& shared_params_arg__, const T1__& job_params_arg__, - const std::vector& data_r, const std::vector& data_i, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - stan::value_type_t, - T2__>; - int current_statement__ = 0; - const auto& shared_params = to_ref(shared_params_arg__); - const auto& job_params = to_ref(job_params_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 147; - return (Eigen::Matrix(3) << 1, 2, 3).finished(); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct foo_functor__ { -template -Eigen::Matrix, stan::value_type_t, -T2__>, -1, 1> -operator()(const T0__& shared_params, const T1__& job_params, - const std::vector& data_r, const std::vector& data_i, - std::ostream* pstream__) const -{ -return foo(shared_params, job_params, data_r, data_i, pstream__); -} -}; - -template -Eigen::Matrix, stan::value_type_t, -T2__>, -1, 1> -goo(const T0__& shared_params_arg__, const T1__& job_params_arg__, - const std::vector& data_r, const std::vector& data_i, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - stan::value_type_t, - T2__>; - int current_statement__ = 0; - const auto& shared_params = to_ref(shared_params_arg__); - const auto& job_params = to_ref(job_params_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 149; - return (Eigen::Matrix(3) << 4, 5, 6).finished(); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct goo_functor__ { -template -Eigen::Matrix, stan::value_type_t, -T2__>, -1, 1> -operator()(const T0__& shared_params, const T1__& job_params, - const std::vector& data_r, const std::vector& data_i, - std::ostream* pstream__) const -{ -return goo(shared_params, job_params, data_r, data_i, pstream__); -} -}; - -template -stan::promote_args_t -map_rectfake(const T0__& x, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 151; - return (2 * x); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct map_rectfake_functor__ { -template -stan::promote_args_t -operator()(const T0__& x, std::ostream* pstream__) const -{ -return map_rectfake(x, pstream__); -} -}; - -template -Eigen::Matrix, stan::value_type_t, -T2__>, -1, 1> -algebra_system(const T0__& x_arg__, const T1__& y_arg__, - const std::vector& dat, const std::vector& dat_int, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - stan::value_type_t, - T2__>; - int current_statement__ = 0; - const auto& x = to_ref(x_arg__); - const auto& y = to_ref(y_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - Eigen::Matrix f_x; - f_x = Eigen::Matrix(2); - stan::math::fill(f_x, DUMMY_VAR__); - - current_statement__ = 154; - assign(f_x, - (rvalue(x, "x", index_uni(1)) - rvalue(y, "y", index_uni(1))), - "assigning variable f_x", index_uni(1)); - current_statement__ = 155; - assign(f_x, - (rvalue(x, "x", index_uni(2)) - rvalue(y, "y", index_uni(2))), - "assigning variable f_x", index_uni(2)); - current_statement__ = 156; - return f_x; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct algebra_system_functor__ { -template -Eigen::Matrix, stan::value_type_t, -T2__>, -1, 1> -operator()(const T0__& x, const T1__& y, const std::vector& dat, - const std::vector& dat_int, std::ostream* pstream__) const -{ -return algebra_system(x, y, dat, dat_int, pstream__); -} -}; - -class motherHOF_model final : public model_base_crtp { - - private: - int T; - std::vector y0_d; - double t0; - std::vector ts; - std::vector theta_d; - std::vector x; - std::vector x_int; - std::vector x_d_r; - std::vector x_d_i; - Eigen::Matrix shared_params_d__; - std::vector> job_params_d; - std::vector> data_r; - std::vector> data_i; - Eigen::Map> shared_params_d{nullptr, 0}; - - public: - ~motherHOF_model() { } - - inline std::string model_name() const final { return "motherHOF_model"; } - - inline std::vector model_compile_info() const noexcept { - return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; - } - - - motherHOF_model(stan::io::var_context& context__, - unsigned int random_seed__ = 0, - std::ostream* pstream__ = nullptr) : model_base_crtp(0) { - int current_statement__ = 0; - using local_scalar_t__ = double ; - boost::ecuyer1988 base_rng__ = - stan::services::util::create_rng(random_seed__, 0); - (void) base_rng__; // suppress unused var warning - static constexpr const char* function__ = "motherHOF_model_namespace::motherHOF_model"; - (void) function__; // suppress unused var warning - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - current_statement__ = 123; - context__.validate_dims("data initialization","T","int", - std::vector{}); - T = std::numeric_limits::min(); - - current_statement__ = 123; - T = context__.vals_i("T")[(1 - 1)]; - current_statement__ = 123; - check_greater_or_equal(function__, "T", T, 1); - current_statement__ = 124; - context__.validate_dims("data initialization","y0_d","double", - std::vector{static_cast(2)}); - y0_d = std::vector(2, std::numeric_limits::quiet_NaN()); - - current_statement__ = 124; - y0_d = context__.vals_r("y0_d"); - current_statement__ = 125; - context__.validate_dims("data initialization","t0","double", - std::vector{}); - t0 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 125; - t0 = context__.vals_r("t0")[(1 - 1)]; - current_statement__ = 126; - validate_non_negative_index("ts", "T", T); - current_statement__ = 127; - context__.validate_dims("data initialization","ts","double", - std::vector{static_cast(T)}); - ts = std::vector(T, std::numeric_limits::quiet_NaN()); - - current_statement__ = 127; - ts = context__.vals_r("ts"); - current_statement__ = 128; - context__.validate_dims("data initialization","theta_d","double", - std::vector{static_cast(1)}); - theta_d = std::vector(1, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 128; - theta_d = context__.vals_r("theta_d"); - current_statement__ = 129; - context__.validate_dims("data initialization","x","double", - std::vector{static_cast(0)}); - x = std::vector(0, std::numeric_limits::quiet_NaN()); - - current_statement__ = 129; - x = context__.vals_r("x"); - current_statement__ = 130; - context__.validate_dims("data initialization","x_int","int", - std::vector{static_cast(0)}); - x_int = std::vector(0, std::numeric_limits::min()); - - current_statement__ = 130; - x_int = context__.vals_i("x_int"); - current_statement__ = 131; - context__.validate_dims("data initialization","x_d_r","double", - std::vector{static_cast(0)}); - x_d_r = std::vector(0, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 131; - x_d_r = context__.vals_r("x_d_r"); - current_statement__ = 132; - context__.validate_dims("data initialization","x_d_i","int", - std::vector{static_cast(0)}); - x_d_i = std::vector(0, std::numeric_limits::min()); - - current_statement__ = 132; - x_d_i = context__.vals_i("x_d_i"); - current_statement__ = 133; - context__.validate_dims("data initialization","shared_params_d", - "double", std::vector{static_cast(3)}); - shared_params_d__ = Eigen::Matrix(3); - new (&shared_params_d) Eigen::Map>(shared_params_d__.data(), 3); - - - { - std::vector shared_params_d_flat__; - current_statement__ = 133; - shared_params_d_flat__ = context__.vals_r("shared_params_d"); - current_statement__ = 133; - pos__ = 1; - current_statement__ = 133; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 133; - assign(shared_params_d, shared_params_d_flat__[(pos__ - 1)], - "assigning variable shared_params_d", index_uni(sym1__)); - current_statement__ = 133; - pos__ = (pos__ + 1); - } - } - current_statement__ = 134; - context__.validate_dims("data initialization","job_params_d","double", - std::vector{static_cast(3), - static_cast(3)}); - job_params_d = std::vector>(3, Eigen::Matrix(3)); - - - { - std::vector job_params_d_flat__; - current_statement__ = 134; - job_params_d_flat__ = context__.vals_r("job_params_d"); - current_statement__ = 134; - pos__ = 1; - current_statement__ = 134; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 134; - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - current_statement__ = 134; - assign(job_params_d, job_params_d_flat__[(pos__ - 1)], - "assigning variable job_params_d", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 134; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 135; - context__.validate_dims("data initialization","data_r","double", - std::vector{static_cast(3), - static_cast(3)}); - data_r = std::vector>(3, std::vector(3, std::numeric_limits::quiet_NaN())); - - - { - std::vector data_r_flat__; - current_statement__ = 135; - data_r_flat__ = context__.vals_r("data_r"); - current_statement__ = 135; - pos__ = 1; - current_statement__ = 135; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 135; - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - current_statement__ = 135; - assign(data_r, data_r_flat__[(pos__ - 1)], - "assigning variable data_r", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 135; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 136; - context__.validate_dims("data initialization","data_i","int", - std::vector{static_cast(3), - static_cast(3)}); - data_i = std::vector>(3, std::vector(3, std::numeric_limits::min())); - - - { - std::vector data_i_flat__; - current_statement__ = 136; - data_i_flat__ = context__.vals_i("data_i"); - current_statement__ = 136; - pos__ = 1; - current_statement__ = 136; - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 136; - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - current_statement__ = 136; - assign(data_i, data_i_flat__[(pos__ - 1)], - "assigning variable data_i", index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 136; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 137; - validate_non_negative_index("theta_p", "1", 1); - current_statement__ = 138; - validate_non_negative_index("x_p", "1", 1); - current_statement__ = 139; - validate_non_negative_index("y_hat", "T", T); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - num_params_r__ = 2 + 1 + 1 + 2 + 3 + (3 * 3) + 1; - - } - - 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__ = "motherHOF_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - - try { - std::vector y0_p; - y0_p = std::vector(2, DUMMY_VAR__); - - current_statement__ = 1; - y0_p = in__.template read>(2); - std::vector theta_p; - theta_p = std::vector(1, DUMMY_VAR__); - - current_statement__ = 2; - theta_p = in__.template read>(1); - std::vector x_p; - x_p = std::vector(1, DUMMY_VAR__); - - current_statement__ = 3; - x_p = in__.template read>(1); - Eigen::Matrix x_p_v; - x_p_v = Eigen::Matrix(2); - stan::math::fill(x_p_v, DUMMY_VAR__); - - current_statement__ = 4; - x_p_v = in__.template read>(2); - Eigen::Matrix shared_params_p; - shared_params_p = Eigen::Matrix(3); - stan::math::fill(shared_params_p, DUMMY_VAR__); - - current_statement__ = 5; - shared_params_p = in__.template read>( - 3); - std::vector> job_params_p; - job_params_p = std::vector>(3, Eigen::Matrix(3)); - stan::math::fill(job_params_p, DUMMY_VAR__); - - current_statement__ = 6; - job_params_p = in__.template read>>( - 3, 3); - local_scalar_t__ x_r; - x_r = DUMMY_VAR__; - - current_statement__ = 7; - x_r = in__.template read(); - local_scalar_t__ abc1_p; - abc1_p = DUMMY_VAR__; - - current_statement__ = 8; - abc1_p = 3; - local_scalar_t__ abc2_p; - abc2_p = DUMMY_VAR__; - - current_statement__ = 9; - abc2_p = map_rectfake(abc1_p, pstream__); - local_scalar_t__ abc3_p; - abc3_p = DUMMY_VAR__; - - current_statement__ = 10; - abc3_p = map_rectfake(12, pstream__); - Eigen::Matrix y_hat_tp1; - y_hat_tp1 = Eigen::Matrix(3); - stan::math::fill(y_hat_tp1, DUMMY_VAR__); - - current_statement__ = 11; - assign(y_hat_tp1, - map_rect<1, foo_functor__>(shared_params_p, job_params_d, data_r, - data_i, pstream__), "assigning variable y_hat_tp1"); - Eigen::Matrix y_hat_tp2; - y_hat_tp2 = Eigen::Matrix(3); - stan::math::fill(y_hat_tp2, DUMMY_VAR__); - - current_statement__ = 12; - assign(y_hat_tp2, - map_rect<2, foo_functor__>(shared_params_d, job_params_p, data_r, - data_i, pstream__), "assigning variable y_hat_tp2"); - Eigen::Matrix y_hat_tp3; - y_hat_tp3 = Eigen::Matrix(3); - stan::math::fill(y_hat_tp3, DUMMY_VAR__); - - current_statement__ = 13; - assign(y_hat_tp3, - map_rect<3, foo_functor__>(shared_params_p, job_params_d, data_r, - data_i, pstream__), "assigning variable y_hat_tp3"); - Eigen::Matrix theta_p_as; - theta_p_as = Eigen::Matrix(2); - stan::math::fill(theta_p_as, DUMMY_VAR__); - - Eigen::Matrix x_v; - x_v = Eigen::Matrix(2); - stan::math::fill(x_v, DUMMY_VAR__); - - Eigen::Matrix y_v; - y_v = Eigen::Matrix(2); - stan::math::fill(y_v, DUMMY_VAR__); - - Eigen::Matrix y_p; - y_p = Eigen::Matrix(2); - stan::math::fill(y_p, DUMMY_VAR__); - - current_statement__ = 18; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, - pstream__), "assigning variable theta_p_as"); - current_statement__ = 19; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 20; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_v, y_p, x_d_r, x_d_i, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 21; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, - pstream__), "assigning variable theta_p_as"); - current_statement__ = 22; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 23; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_p_v, y_p, x_d_r, x_d_i, - pstream__), "assigning variable theta_p_as"); - current_statement__ = 24; - assign(theta_p_as, - algebra_solver(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"); - current_statement__ = 25; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, - x_d_i, pstream__), "assigning variable theta_p_as"); - current_statement__ = 26; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, - x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 27; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_v, y_p, x_d_r, - x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 28; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, - x_d_i, pstream__), "assigning variable theta_p_as"); - current_statement__ = 29; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, - x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 30; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_p_v, y_p, x_d_r, - x_d_i, pstream__), "assigning variable theta_p_as"); - current_statement__ = 31; - assign(theta_p_as, - 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"); - { - current_statement__ = 80; - validate_non_negative_index("y_hat", "T", T); - std::vector> y_hat; - y_hat = std::vector>(T, std::vector(2, DUMMY_VAR__)); - - - current_statement__ = 82; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_p, x, - x_int, pstream__), "assigning variable y_hat"); - current_statement__ = 83; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_d, x, - x_int, pstream__), "assigning variable y_hat"); - current_statement__ = 84; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_p, x, - x_int, pstream__), "assigning variable y_hat"); - current_statement__ = 85; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_p, x, - x_int, pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 86; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_d, x, - x_int, pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 87; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_p, x, - x_int, pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 88; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 89; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 90; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 91; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 92; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 93; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 94; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 95; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 96; - assign(y_hat, - integrate_ode_rk45(sho_functor__(), y0_d, t0, ts, theta_d, x, - x_int, pstream__), "assigning variable y_hat"); - current_statement__ = 97; - assign(y_hat, - integrate_ode_rk45(sho_functor__(), y0_d, t0, ts, theta_p, x, - x_int, pstream__), "assigning variable y_hat"); - current_statement__ = 98; - assign(y_hat, - integrate_ode_rk45(sho_functor__(), y0_p, t0, ts, theta_d, x, - x_int, pstream__), "assigning variable y_hat"); - current_statement__ = 99; - assign(y_hat, - integrate_ode_rk45(sho_functor__(), y0_p, t0, ts, theta_p, x, - x_int, pstream__), "assigning variable y_hat"); - local_scalar_t__ y_1d; - y_1d = DUMMY_VAR__; - - current_statement__ = 100; - y_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 101; - y_1d = integrate_1d(integrand_functor__(), 0.0, 1, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 102; - y_1d = integrate_1d(integrand_functor__(), 0, 1.0, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 103; - y_1d = integrate_1d(integrand_functor__(), 0.0, 1.0, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 104; - y_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 105; - y_1d = integrate_1d(integrand_functor__(), x_r, 1, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 106; - y_1d = integrate_1d(integrand_functor__(), 0, x_r, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 107; - y_1d = integrate_1d(integrand_functor__(), x_r, x_r, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 108; - y_1d = integrate_1d(integrand_functor__(), x_r, 1, x_d_r, x_d_r, - x_d_i, pstream__); - current_statement__ = 109; - y_1d = integrate_1d(integrand_functor__(), 0, x_r, x_d_r, x_d_r, - x_d_i, pstream__); - current_statement__ = 110; - y_1d = integrate_1d(integrand_functor__(), x_r, x_r, x_d_r, x_d_r, - x_d_i, pstream__); - local_scalar_t__ z_1d; - z_1d = DUMMY_VAR__; - - current_statement__ = 111; - z_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 112; - z_1d = integrate_1d(integrand_functor__(), 0.0, 1, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 113; - z_1d = integrate_1d(integrand_functor__(), 0, 1.0, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 114; - z_1d = integrate_1d(integrand_functor__(), 0.0, 1.0, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 115; - z_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 116; - z_1d = integrate_1d(integrand_functor__(), x_r, 1, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 117; - z_1d = integrate_1d(integrand_functor__(), 0, x_r, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 118; - z_1d = integrate_1d(integrand_functor__(), x_r, x_r, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 119; - z_1d = integrate_1d(integrand_functor__(), x_r, 1, x_d_r, x_d_r, - x_d_i, pstream__, 1e-8); - current_statement__ = 120; - z_1d = integrate_1d(integrand_functor__(), 0, x_r, x_d_r, x_d_r, - x_d_i, pstream__, 1e-8); - current_statement__ = 121; - z_1d = integrate_1d(integrand_functor__(), x_r, x_r, x_d_r, x_d_r, - x_d_i, pstream__, 1e-8); - local_scalar_t__ abc_m; - abc_m = DUMMY_VAR__; - - current_statement__ = 122; - abc_m = map_rectfake(abc1_p, pstream__); - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - lp_accum__.add(lp__); - return lp_accum__.sum(); - } // log_prob_impl() - - 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; - 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__ = "motherHOF_model_namespace::write_array"; - (void) function__; // suppress unused var warning - - try { - std::vector y0_p; - y0_p = std::vector(2, std::numeric_limits::quiet_NaN()); - - current_statement__ = 1; - y0_p = in__.template read>(2); - std::vector theta_p; - theta_p = std::vector(1, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 2; - theta_p = in__.template read>(1); - std::vector x_p; - x_p = std::vector(1, std::numeric_limits::quiet_NaN()); - - current_statement__ = 3; - x_p = in__.template read>(1); - Eigen::Matrix x_p_v; - x_p_v = Eigen::Matrix(2); - stan::math::fill(x_p_v, std::numeric_limits::quiet_NaN()); - - current_statement__ = 4; - x_p_v = in__.template read>(2); - Eigen::Matrix shared_params_p; - shared_params_p = Eigen::Matrix(3); - stan::math::fill(shared_params_p, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 5; - shared_params_p = in__.template read>( - 3); - 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()); - - - current_statement__ = 6; - job_params_p = in__.template read>>( - 3, 3); - double x_r; - x_r = std::numeric_limits::quiet_NaN(); - - current_statement__ = 7; - x_r = in__.template read(); - double abc1_p; - abc1_p = std::numeric_limits::quiet_NaN(); - - double abc2_p; - abc2_p = std::numeric_limits::quiet_NaN(); - - double abc3_p; - abc3_p = std::numeric_limits::quiet_NaN(); - - Eigen::Matrix y_hat_tp1; - y_hat_tp1 = Eigen::Matrix(3); - stan::math::fill(y_hat_tp1, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix y_hat_tp2; - y_hat_tp2 = Eigen::Matrix(3); - stan::math::fill(y_hat_tp2, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix y_hat_tp3; - y_hat_tp3 = Eigen::Matrix(3); - stan::math::fill(y_hat_tp3, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix theta_p_as; - theta_p_as = Eigen::Matrix(2); - stan::math::fill(theta_p_as, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix x_v; - x_v = Eigen::Matrix(2); - stan::math::fill(x_v, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix y_v; - y_v = Eigen::Matrix(2); - stan::math::fill(y_v, std::numeric_limits::quiet_NaN()); - - Eigen::Matrix y_p; - y_p = Eigen::Matrix(2); - stan::math::fill(y_p, std::numeric_limits::quiet_NaN()); - - out__.write(y0_p); - out__.write(theta_p); - out__.write(x_p); - out__.write(x_p_v); - out__.write(shared_params_p); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - out__.write(job_params_p[(sym2__ - 1)][(sym1__ - 1)]); - } - } - out__.write(x_r); - if (logical_negation((primitive_value(emit_transformed_parameters__) || - primitive_value(emit_generated_quantities__)))) { - return ; - } - current_statement__ = 8; - abc1_p = 3; - current_statement__ = 9; - abc2_p = map_rectfake(abc1_p, pstream__); - current_statement__ = 10; - abc3_p = map_rectfake(12, pstream__); - current_statement__ = 11; - assign(y_hat_tp1, - map_rect<4, foo_functor__>(shared_params_p, job_params_d, data_r, - data_i, pstream__), "assigning variable y_hat_tp1"); - current_statement__ = 12; - assign(y_hat_tp2, - map_rect<5, foo_functor__>(shared_params_d, job_params_p, data_r, - data_i, pstream__), "assigning variable y_hat_tp2"); - current_statement__ = 13; - assign(y_hat_tp3, - map_rect<6, foo_functor__>(shared_params_p, job_params_d, data_r, - data_i, pstream__), "assigning variable y_hat_tp3"); - current_statement__ = 18; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, - pstream__), "assigning variable theta_p_as"); - current_statement__ = 19; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 20; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_v, y_p, x_d_r, x_d_i, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 21; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, - pstream__), "assigning variable theta_p_as"); - current_statement__ = 22; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, - pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 23; - assign(theta_p_as, - algebra_solver(algebra_system_functor__(), x_p_v, y_p, x_d_r, x_d_i, - pstream__), "assigning variable theta_p_as"); - current_statement__ = 24; - assign(theta_p_as, - algebra_solver(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"); - current_statement__ = 25; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, - x_d_i, pstream__), "assigning variable theta_p_as"); - current_statement__ = 26; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, - x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 27; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_v, y_p, x_d_r, - x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 28; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, - x_d_i, pstream__), "assigning variable theta_p_as"); - current_statement__ = 29; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, - x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); - current_statement__ = 30; - assign(theta_p_as, - algebra_solver_newton(algebra_system_functor__(), x_p_v, y_p, x_d_r, - x_d_i, pstream__), "assigning variable theta_p_as"); - current_statement__ = 31; - assign(theta_p_as, - 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__) { - 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 ; - } - std::vector> y_hat; - y_hat = std::vector>(T, std::vector(2, std::numeric_limits::quiet_NaN())); - - - current_statement__ = 33; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 34; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 35; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 36; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 37; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 38; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 39; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 40; - assign(y_hat, - integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 41; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 42; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 43; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 44; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 45; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 46; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 47; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 48; - assign(y_hat, - integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, - pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); - current_statement__ = 49; - assign(y_hat, - integrate_ode_rk45(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 50; - assign(y_hat, - integrate_ode_rk45(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 51; - assign(y_hat, - integrate_ode_rk45(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, - pstream__), "assigning variable y_hat"); - current_statement__ = 52; - assign(y_hat, - integrate_ode_rk45(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, - pstream__), "assigning variable y_hat"); - double y_1d; - y_1d = std::numeric_limits::quiet_NaN(); - - current_statement__ = 53; - y_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 54; - y_1d = integrate_1d(integrand_functor__(), 0.0, 1, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 55; - y_1d = integrate_1d(integrand_functor__(), 0, 1.0, x, x_d_r, x_d_i, - pstream__); - current_statement__ = 56; - y_1d = integrate_1d(integrand_functor__(), 0.0, 1.0, x, x_d_r, x_d_i, - pstream__); - double z_1d; - z_1d = std::numeric_limits::quiet_NaN(); - - current_statement__ = 57; - z_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 58; - z_1d = integrate_1d(integrand_functor__(), 0.0, 1, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 59; - z_1d = integrate_1d(integrand_functor__(), 0, 1.0, x, x_d_r, x_d_i, - pstream__, 1e-8); - current_statement__ = 60; - z_1d = integrate_1d(integrand_functor__(), 0.0, 1.0, x, x_d_r, x_d_i, - pstream__, 1e-8); - double abc1_gq; - abc1_gq = std::numeric_limits::quiet_NaN(); - - current_statement__ = 61; - abc1_gq = map_rectfake(12, pstream__); - double abc2_gq; - abc2_gq = std::numeric_limits::quiet_NaN(); - - current_statement__ = 62; - abc2_gq = map_rectfake(abc1_p, pstream__); - Eigen::Matrix y_hat_gq; - y_hat_gq = Eigen::Matrix(3); - stan::math::fill(y_hat_gq, std::numeric_limits::quiet_NaN()); - - current_statement__ = 63; - assign(y_hat_gq, - add( - map_rect<7, foo_functor__>(shared_params_d, job_params_d, data_r, - data_i, pstream__), - map_rect<8, goo_functor__>(shared_params_d, job_params_d, data_r, - data_i, pstream__)), "assigning variable y_hat_gq"); - Eigen::Matrix yy_hat_gq; - yy_hat_gq = Eigen::Matrix(3); - stan::math::fill(yy_hat_gq, std::numeric_limits::quiet_NaN()); - - current_statement__ = 64; - assign(yy_hat_gq, - map_rect<9, goo_functor__>(shared_params_d, job_params_d, data_r, - data_i, pstream__), "assigning variable yy_hat_gq"); - Eigen::Matrix theta_dbl; - theta_dbl = Eigen::Matrix(2); - stan::math::fill(theta_dbl, std::numeric_limits::quiet_NaN()); - - current_statement__ = 66; - assign(theta_dbl, - algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, - pstream__), "assigning variable theta_dbl"); - current_statement__ = 67; - assign(theta_dbl, - algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, - pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); - current_statement__ = 68; - assign(theta_dbl, - algebra_solver(algebra_system_functor__(), x_v, y_p, x_d_r, x_d_i, - pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); - current_statement__ = 69; - assign(theta_dbl, - algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, - pstream__), "assigning variable theta_dbl"); - current_statement__ = 70; - assign(theta_dbl, - algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, - pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); - current_statement__ = 71; - assign(theta_dbl, - algebra_solver(algebra_system_functor__(), x_p_v, y_p, x_d_r, x_d_i, - pstream__), "assigning variable theta_dbl"); - current_statement__ = 72; - assign(theta_dbl, - algebra_solver(algebra_system_functor__(), x_p_v, y_p, x_d_r, x_d_i, - pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); - current_statement__ = 73; - assign(theta_dbl, - algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, - x_d_i, pstream__), "assigning variable theta_dbl"); - current_statement__ = 74; - assign(theta_dbl, - algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, - x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); - current_statement__ = 75; - assign(theta_dbl, - algebra_solver_newton(algebra_system_functor__(), x_v, y_p, x_d_r, - x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); - current_statement__ = 76; - assign(theta_dbl, - algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, - x_d_i, pstream__), "assigning variable theta_dbl"); - current_statement__ = 77; - assign(theta_dbl, - algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, - x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); - current_statement__ = 78; - assign(theta_dbl, - algebra_solver_newton(algebra_system_functor__(), x_p_v, y_p, x_d_r, - x_d_i, pstream__), "assigning variable theta_dbl"); - current_statement__ = 79; - 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__) { - out__.write(y_hat[(sym2__ - 1)][(sym1__ - 1)]); - } - } - 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__]); - } - } // 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 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__); - - 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__); - - 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__); - - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - assign(x_p_v, in__.read(), - "assigning variable x_p_v", index_uni(sym1__)); - } - 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__); - - 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__)); - } - } - out__.write(job_params_p); - local_scalar_t__ x_r; - x_r = DUMMY_VAR__; - - x_r = in__.read(); - out__.write(x_r); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - } // transform_inits_impl() - - inline void get_param_names(std::vector& names__) const { - - names__ = std::vector{"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"}; - - } // get_param_names() - - inline void get_dims(std::vector>& dimss__) const { - - dimss__ = std::vector>{std::vector{ - static_cast(2) - }, - std::vector{static_cast(1)}, - std::vector{static_cast(1)}, - std::vector{static_cast(2)}, - std::vector{static_cast(3)}, - std::vector{static_cast(3), static_cast(3)}, - std::vector{}, std::vector{}, std::vector{ - }, std::vector{}, std::vector{static_cast(3)}, - std::vector{static_cast(3)}, - std::vector{static_cast(3)}, - std::vector{static_cast(2)}, - std::vector{static_cast(2)}, - std::vector{static_cast(2)}, - std::vector{static_cast(2)}, - std::vector{static_cast(T), static_cast(2)}, - std::vector{}, std::vector{}, std::vector{ - }, std::vector{}, std::vector{static_cast(3)}, - std::vector{static_cast(3)}, - std::vector{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 { - - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y0_p" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { - { - param_names__.emplace_back(std::string() + "theta_p" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 1; ++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() + "x_p_v" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "shared_params_p" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - param_names__.emplace_back(std::string() + "job_params_p" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - param_names__.emplace_back(std::string() + "x_r"); - if (emit_transformed_parameters__) { - param_names__.emplace_back(std::string() + "abc1_p"); - param_names__.emplace_back(std::string() + "abc2_p"); - param_names__.emplace_back(std::string() + "abc3_p"); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_hat_tp1" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_hat_tp2" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_hat_tp3" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "theta_p_as" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "x_v" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_v" + '.' + 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_generated_quantities__) { - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= T; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - param_names__.emplace_back(std::string() + "y_1d"); - param_names__.emplace_back(std::string() + "z_1d"); - param_names__.emplace_back(std::string() + "abc1_gq"); - param_names__.emplace_back(std::string() + "abc2_gq"); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_hat_gq" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "yy_hat_gq" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "theta_dbl" + '.' + std::to_string(sym1__)); - } - } - } - - } // constrained_param_names() - - inline void unconstrained_param_names( - std::vector& param_names__, - bool emit_transformed_parameters__ = true, - bool emit_generated_quantities__ = true) const - final { - - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y0_p" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { - { - param_names__.emplace_back(std::string() + "theta_p" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 1; ++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() + "x_p_v" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "shared_params_p" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { - { - param_names__.emplace_back(std::string() + "job_params_p" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - param_names__.emplace_back(std::string() + "x_r"); - if (emit_transformed_parameters__) { - param_names__.emplace_back(std::string() + "abc1_p"); - param_names__.emplace_back(std::string() + "abc2_p"); - param_names__.emplace_back(std::string() + "abc3_p"); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_hat_tp1" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_hat_tp2" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_hat_tp3" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "theta_p_as" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "x_v" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_v" + '.' + 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_generated_quantities__) { - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= T; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - param_names__.emplace_back(std::string() + "y_1d"); - param_names__.emplace_back(std::string() + "z_1d"); - param_names__.emplace_back(std::string() + "abc1_gq"); - param_names__.emplace_back(std::string() + "abc2_gq"); - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y_hat_gq" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - { - param_names__.emplace_back(std::string() + "yy_hat_gq" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "theta_dbl" + '.' + std::to_string(sym1__)); - } - } - } - - } // unconstrained_param_names() - - inline std::string get_constrained_sizedtypes() const { - - return std::string("[{\"name\":\"y0_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"theta_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"x_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"x_p_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"shared_params_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"parameters\"},{\"name\":\"job_params_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "}},\"block\":\"parameters\"},{\"name\":\"x_r\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"abc1_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"abc2_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"abc3_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp1\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp2\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp3\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"theta_p_as\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"x_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(T) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"generated_quantities\"},{\"name\":\"y_1d\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"z_1d\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"abc1_gq\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"abc2_gq\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"y_hat_gq\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"generated_quantities\"},{\"name\":\"yy_hat_gq\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"generated_quantities\"},{\"name\":\"theta_dbl\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"generated_quantities\"}]"); - - } // get_constrained_sizedtypes() - - inline std::string get_unconstrained_sizedtypes() const { - - return std::string("[{\"name\":\"y0_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"theta_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"x_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"x_p_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"shared_params_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"parameters\"},{\"name\":\"job_params_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "}},\"block\":\"parameters\"},{\"name\":\"x_r\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"abc1_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"abc2_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"abc3_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp1\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp2\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp3\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"theta_p_as\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"x_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(T) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"generated_quantities\"},{\"name\":\"y_1d\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"z_1d\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"abc1_gq\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"abc2_gq\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"y_hat_gq\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"generated_quantities\"},{\"name\":\"yy_hat_gq\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"generated_quantities\"},{\"name\":\"theta_dbl\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"generated_quantities\"}]"); - - } // get_unconstrained_sizedtypes() - - - // Begin method overload boilerplate - template - inline void write_array(RNG& base_rng, - Eigen::Matrix& params_r, - Eigen::Matrix& vars, - const bool emit_transformed_parameters = true, - const bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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); - vars = Eigen::Map>( - vars_vec.data(), vars_vec.size()); - } - - template - inline void write_array(RNG& base_rng, std::vector& params_r, - std::vector& params_i, - std::vector& vars, - bool emit_transformed_parameters = true, - bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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 - inline T_ log_prob(Eigen::Matrix& params_r, - std::ostream* pstream = nullptr) const { - Eigen::Matrix params_i; - return log_prob_impl(params_r, params_i, pstream); - } - - template - inline T__ log_prob(std::vector& params_r, - std::vector& params_i, - std::ostream* pstream = nullptr) const { - return log_prob_impl(params_r, params_i, pstream); - } - - - 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.size()); - std::vector params_i; - 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 { - constexpr std::array names__{"y0_p", "theta_p", "x_p", - "x_p_v", "shared_params_p", "job_params_p", "x_r"}; - const std::array constrain_param_sizes__{2, 1, - 1, 2, 3, (3 * 3), 1}; - const auto num_constrained_params__ = std::accumulate( - constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); - - std::vector params_r_flat__(num_constrained_params__); - Eigen::Index size_iter__ = 0; - Eigen::Index flat_iter__ = 0; - for (auto&& param_name__ : names__) { - const auto param_vec__ = context.vals_r(param_name__); - for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { - params_r_flat__[flat_iter__] = param_vec__[i]; - ++flat_iter__; - } - ++size_iter__; - } - vars.resize(num_params_r__); - transform_inits_impl(params_r_flat__, params_i, vars, pstream__); - } // transform_inits() - -}; -} -using stan_model = motherHOF_model_namespace::motherHOF_model; - -#ifndef USING_R - -// Boilerplate -stan::model::model_base& new_model( - stan::io::var_context& data_context, - unsigned int seed, - std::ostream* msg_stream) { - stan_model* m = new stan_model(data_context, seed, msg_stream); - return *m; -} - -stan::math::profile_map& get_stan_profile_data() { - return motherHOF_model_namespace::profiles__; -} - -#endif - - -STAN_REGISTER_MAP_RECT(1, motherHOF_model_namespace::foo_functor__) -STAN_REGISTER_MAP_RECT(2, motherHOF_model_namespace::foo_functor__) -STAN_REGISTER_MAP_RECT(3, motherHOF_model_namespace::foo_functor__) -STAN_REGISTER_MAP_RECT(4, motherHOF_model_namespace::foo_functor__) -STAN_REGISTER_MAP_RECT(5, motherHOF_model_namespace::foo_functor__) -STAN_REGISTER_MAP_RECT(6, motherHOF_model_namespace::foo_functor__) -STAN_REGISTER_MAP_RECT(7, motherHOF_model_namespace::foo_functor__) -STAN_REGISTER_MAP_RECT(8, motherHOF_model_namespace::goo_functor__) -STAN_REGISTER_MAP_RECT(9, motherHOF_model_namespace::goo_functor__) -Warning in 'motherHOF.stan', line 95, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 96, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 97, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 99, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 100, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 101, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 103, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 104, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 105, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 106, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 108, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 109, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 110, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 111, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 113, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 114, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 115, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 116, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 146, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 147, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 148, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 149, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 151, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 152, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 153, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 154, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 156, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 157, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 158, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 159, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 161, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 162, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 163, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 164, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 166, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 167, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 168, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html -Warning in 'motherHOF.stan', line 169, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html - $ ../../../../../install/default/bin/stanc --print-cpp new_integrate_interface.stan - -// Code generated by %%NAME%% %%VERSION%% -#include -namespace new_integrate_interface_model_namespace { - -using stan::io::dump; -using stan::model::assign; -using stan::model::index_uni; -using stan::model::index_max; -using stan::model::index_min; -using stan::model::index_min_max; -using stan::model::index_multi; -using stan::model::index_omni; -using stan::model::model_base_crtp; -using stan::model::rvalue; -using namespace stan::math; - - -stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = -{" (found before start of program)", - " (in 'new_integrate_interface.stan', line 31, column 2 to column 9)", - " (in 'new_integrate_interface.stan', line 32, column 2 to column 13)", - " (in 'new_integrate_interface.stan', line 33, column 2 to column 14)", - " (in 'new_integrate_interface.stan', line 37, column 2 to column 72)", - " (in 'new_integrate_interface.stan', line 39, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 40, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 41, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 42, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 43, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 44, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 45, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 46, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 47, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 48, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 49, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 50, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 51, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 52, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 53, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 54, column 2 to column 55)", - " (in 'new_integrate_interface.stan', line 55, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 56, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 57, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 58, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 59, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 60, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 61, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 62, column 2 to column 55)", - " (in 'new_integrate_interface.stan', line 63, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 64, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 65, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 66, column 2 to column 55)", - " (in 'new_integrate_interface.stan', line 67, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 68, column 2 to column 55)", - " (in 'new_integrate_interface.stan', line 69, column 2 to column 55)", - " (in 'new_integrate_interface.stan', line 70, column 2 to column 54)", - " (in 'new_integrate_interface.stan', line 71, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 72, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 73, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 74, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 75, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 76, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 77, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 78, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 79, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 80, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 81, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 82, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 83, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 84, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 85, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 86, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 87, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 88, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 89, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 90, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 91, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 92, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 93, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 94, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 95, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 96, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 97, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 98, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 99, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 100, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 101, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 102, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 103, column 2 to column 55)", - " (in 'new_integrate_interface.stan', line 104, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 105, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 106, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 107, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 108, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 109, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 110, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 111, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 112, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 113, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 114, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 115, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 116, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 117, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 118, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 119, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 120, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 121, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 122, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 123, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 124, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 125, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 126, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 127, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 128, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 129, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 130, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 131, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 132, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 133, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 134, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 135, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 136, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 137, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 138, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 139, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 140, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 141, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 142, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 143, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 144, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 145, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 146, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 147, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 148, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 149, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 150, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 151, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 152, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 153, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 154, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 155, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 156, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 157, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 158, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 159, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 160, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 161, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 162, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 163, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 164, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 165, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 166, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 167, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 168, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 169, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 170, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 171, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 172, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 173, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 174, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 175, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 176, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 177, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 178, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 179, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 180, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 181, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 182, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 183, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 184, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 185, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 186, column 2 to column 34)", - " (in 'new_integrate_interface.stan', line 187, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 188, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 189, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 190, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 191, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 192, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 193, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 194, column 2 to column 34)", - " (in 'new_integrate_interface.stan', line 195, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 196, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 197, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 198, column 2 to column 34)", - " (in 'new_integrate_interface.stan', line 199, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 200, column 2 to column 34)", - " (in 'new_integrate_interface.stan', line 201, column 2 to column 34)", - " (in 'new_integrate_interface.stan', line 202, column 2 to column 33)", - " (in 'new_integrate_interface.stan', line 203, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 204, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 205, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 206, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 207, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 208, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 209, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 210, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 211, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 212, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 213, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 214, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 215, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 216, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 217, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 218, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 219, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 220, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 221, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 222, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 223, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 224, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 225, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 226, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 227, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 228, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 229, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 230, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 231, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 232, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 233, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 234, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 235, column 2 to column 34)", - " (in 'new_integrate_interface.stan', line 442, column 2 to column 73)", - " (in 'new_integrate_interface.stan', line 443, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 444, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 445, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 446, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 447, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 448, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 449, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 450, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 451, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 452, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 453, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 454, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 455, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 456, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 457, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 458, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 459, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 460, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 461, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 462, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 463, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 464, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 465, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 466, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 467, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 468, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 469, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 470, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 471, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 472, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 473, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 474, column 2 to column 55)", - " (in 'new_integrate_interface.stan', line 475, column 2 to column 62)", - " (in 'new_integrate_interface.stan', line 476, column 2 to column 62)", - " (in 'new_integrate_interface.stan', line 477, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 478, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 479, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 480, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 481, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 482, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 483, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 484, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 485, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 486, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 487, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 488, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 489, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 490, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 491, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 492, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 493, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 494, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 495, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 496, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 497, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 498, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 499, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 500, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 501, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 502, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 503, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 504, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 505, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 506, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 507, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 508, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 509, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 510, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 511, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 512, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 513, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 514, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 515, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 516, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 517, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 518, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 519, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 520, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 521, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 522, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 523, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 524, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 525, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 526, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 527, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 528, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 529, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 530, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 531, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 532, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 533, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 534, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 535, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 536, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 537, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 538, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 539, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 540, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 541, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 542, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 543, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 544, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 545, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 546, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 547, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 548, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 549, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 550, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 551, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 552, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 553, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 554, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 555, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 556, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 557, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 558, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 559, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 560, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 561, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 562, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 563, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 564, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 565, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 566, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 567, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 568, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 569, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 570, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 571, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 572, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 573, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 574, column 2 to column 41)", - " (in 'new_integrate_interface.stan', line 575, column 2 to column 41)", - " (in 'new_integrate_interface.stan', line 576, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 577, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 578, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 579, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 580, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 581, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 582, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 583, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 584, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 585, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 586, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 587, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 588, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 589, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 590, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 591, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 592, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 593, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 594, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 595, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 596, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 597, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 598, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 599, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 600, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 601, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 602, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 603, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 604, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 605, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 606, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 607, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 608, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 609, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 610, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 611, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 612, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 613, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 614, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 615, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 616, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 617, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 618, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 619, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 620, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 621, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 622, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 623, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 624, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 625, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 626, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 627, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 628, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 629, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 630, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 631, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 632, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 633, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 634, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 635, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 636, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 637, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 638, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 639, column 2 to column 34)", - " (in 'new_integrate_interface.stan', line 239, column 15 to column 16)", - " (in 'new_integrate_interface.stan', line 239, column 9 to column 10)", - " (in 'new_integrate_interface.stan', line 239, column 2 to column 73)", - " (in 'new_integrate_interface.stan', line 241, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 242, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 243, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 244, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 245, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 246, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 247, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 248, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 249, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 250, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 251, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 252, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 253, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 254, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 255, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 256, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 257, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 258, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 259, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 260, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 261, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 262, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 263, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 264, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 265, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 266, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 267, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 268, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 269, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 270, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 271, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 272, column 2 to column 55)", - " (in 'new_integrate_interface.stan', line 273, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 274, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 275, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 276, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 277, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 278, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 279, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 280, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 281, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 282, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 283, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 284, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 285, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 286, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 287, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 288, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 289, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 290, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 291, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 292, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 293, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 294, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 295, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 296, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 297, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 298, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 299, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 300, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 301, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 302, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 303, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 304, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 305, column 2 to column 56)", - " (in 'new_integrate_interface.stan', line 306, column 2 to column 62)", - " (in 'new_integrate_interface.stan', line 307, column 2 to column 62)", - " (in 'new_integrate_interface.stan', line 308, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 309, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 310, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 311, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 312, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 313, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 314, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 315, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 316, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 317, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 318, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 319, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 320, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 321, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 322, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 323, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 324, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 325, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 326, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 327, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 328, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 329, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 330, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 331, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 332, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 333, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 334, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 335, column 2 to column 59)", - " (in 'new_integrate_interface.stan', line 336, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 337, column 2 to column 58)", - " (in 'new_integrate_interface.stan', line 338, column 2 to column 57)", - " (in 'new_integrate_interface.stan', line 339, column 2 to column 41)", - " (in 'new_integrate_interface.stan', line 340, column 2 to column 41)", - " (in 'new_integrate_interface.stan', line 341, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 342, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 343, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 344, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 345, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 346, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 347, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 348, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 349, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 350, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 351, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 352, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 353, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 354, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 355, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 356, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 357, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 358, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 359, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 360, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 361, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 362, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 363, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 364, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 365, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 366, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 367, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 368, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 369, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 370, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 371, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 372, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 373, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 374, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 375, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 376, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 377, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 378, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 379, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 380, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 381, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 382, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 383, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 384, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 385, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 386, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 387, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 388, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 389, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 390, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 391, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 392, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 393, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 394, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 395, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 396, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 397, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 398, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 399, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 400, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 401, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 402, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 403, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 404, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 405, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 406, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 407, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 408, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 409, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 410, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 411, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 412, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 413, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 414, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 415, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 416, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 417, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 418, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 419, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 420, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 421, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 422, column 2 to column 38)", - " (in 'new_integrate_interface.stan', line 423, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 424, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 425, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 426, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 427, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 428, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 429, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 430, column 2 to column 37)", - " (in 'new_integrate_interface.stan', line 431, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 432, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 433, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 434, column 2 to column 36)", - " (in 'new_integrate_interface.stan', line 435, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 436, column 2 to column 35)", - " (in 'new_integrate_interface.stan', line 437, column 2 to column 34)", - " (in 'new_integrate_interface.stan', line 438, column 2 to column 19)", - " (in 'new_integrate_interface.stan', line 8, column 2 to column 8)", - " (in 'new_integrate_interface.stan', line 9, column 2 to column 9)", - " (in 'new_integrate_interface.stan', line 10, column 2 to column 10)", - " (in 'new_integrate_interface.stan', line 11, column 11 to column 12)", - " (in 'new_integrate_interface.stan', line 11, column 2 to column 14)", - " (in 'new_integrate_interface.stan', line 12, column 9 to column 10)", - " (in 'new_integrate_interface.stan', line 12, column 2 to column 15)", - " (in 'new_integrate_interface.stan', line 16, column 15 to column 16)", - " (in 'new_integrate_interface.stan', line 16, column 9 to column 10)", - " (in 'new_integrate_interface.stan', line 16, column 2 to column 73)", - " (in 'new_integrate_interface.stan', line 17, column 2 to column 60)", - " (in 'new_integrate_interface.stan', line 18, column 2 to column 62)", - " (in 'new_integrate_interface.stan', line 19, column 2 to column 62)", - " (in 'new_integrate_interface.stan', line 20, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 21, column 2 to column 61)", - " (in 'new_integrate_interface.stan', line 22, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 23, column 2 to column 39)", - " (in 'new_integrate_interface.stan', line 24, column 2 to column 41)", - " (in 'new_integrate_interface.stan', line 25, column 2 to column 41)", - " (in 'new_integrate_interface.stan', line 26, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 27, column 2 to column 40)", - " (in 'new_integrate_interface.stan', line 32, column 10 to column 11)", - " (in 'new_integrate_interface.stan', line 33, column 9 to column 10)", - " (in 'new_integrate_interface.stan', line 37, column 14 to column 15)", - " (in 'new_integrate_interface.stan', line 37, column 9 to column 10)", - " (in 'new_integrate_interface.stan', line 442, column 15 to column 16)", - " (in 'new_integrate_interface.stan', line 442, column 9 to column 10)", - " (in 'new_integrate_interface.stan', line 3, column 4 to column 13)", - " (in 'new_integrate_interface.stan', line 2, column 47 to line 4, column 3)"}; - - -template -Eigen::Matrix, T2__, -stan::value_type_t>, -1, 1> -f(const T0__& t, const T1__& z_arg__, const T2__& a, const T3__& b_arg__, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - T2__, - stan::value_type_t>; - int current_statement__ = 0; - const auto& z = to_ref(z_arg__); - const auto& b = to_ref(b_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 628; - return z; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct f_functor__ { -template -Eigen::Matrix, T2__, -stan::value_type_t>, -1, 1> -operator()(const T0__& t, const T1__& z, const T2__& a, const T3__& b, - std::ostream* pstream__) const -{ -return f(t, z, a, b, pstream__); -} -}; - - -struct f_odefunctor__ { -template -Eigen::Matrix, T2__, -stan::value_type_t>, -1, 1> -operator()(const T0__& t, const T1__& z, std::ostream* pstream__, - const T2__& a, const T3__& b) const -{ -return f(t, z, a, b, pstream__); -} -}; - -class new_integrate_interface_model final : public model_base_crtp { - - private: - int N; - int id; - double rd; - std::vector rad; - Eigen::Matrix vd__; - std::vector> zd; - Eigen::Map> vd{nullptr, 0}; - - public: - ~new_integrate_interface_model() { } - - inline std::string model_name() const final { return "new_integrate_interface_model"; } - - inline std::vector model_compile_info() const noexcept { - return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; - } - - - new_integrate_interface_model(stan::io::var_context& context__, - unsigned int random_seed__ = 0, - std::ostream* pstream__ = nullptr) : model_base_crtp(0) { - int current_statement__ = 0; - using local_scalar_t__ = double ; - boost::ecuyer1988 base_rng__ = - stan::services::util::create_rng(random_seed__, 0); - (void) base_rng__; // suppress unused var warning - static constexpr const char* function__ = "new_integrate_interface_model_namespace::new_integrate_interface_model"; - (void) function__; // suppress unused var warning - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - current_statement__ = 601; - context__.validate_dims("data initialization","N","int", - std::vector{}); - N = std::numeric_limits::min(); - - current_statement__ = 601; - N = context__.vals_i("N")[(1 - 1)]; - current_statement__ = 602; - context__.validate_dims("data initialization","id","int", - std::vector{}); - id = std::numeric_limits::min(); - - current_statement__ = 602; - id = context__.vals_i("id")[(1 - 1)]; - current_statement__ = 603; - context__.validate_dims("data initialization","rd","double", - std::vector{}); - rd = std::numeric_limits::quiet_NaN(); - - current_statement__ = 603; - rd = context__.vals_r("rd")[(1 - 1)]; - current_statement__ = 604; - validate_non_negative_index("rad", "N", N); - current_statement__ = 605; - context__.validate_dims("data initialization","rad","double", - std::vector{static_cast(N)}); - rad = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 605; - rad = context__.vals_r("rad"); - current_statement__ = 606; - validate_non_negative_index("vd", "N", N); - current_statement__ = 607; - context__.validate_dims("data initialization","vd","double", - std::vector{static_cast(N)}); - vd__ = Eigen::Matrix(N); - new (&vd) Eigen::Map>(vd__.data(), N); - - { - std::vector vd_flat__; - current_statement__ = 607; - vd_flat__ = context__.vals_r("vd"); - current_statement__ = 607; - pos__ = 1; - current_statement__ = 607; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 607; - assign(vd, vd_flat__[(pos__ - 1)], - "assigning variable vd", index_uni(sym1__)); - current_statement__ = 607; - pos__ = (pos__ + 1); - } - } - current_statement__ = 608; - validate_non_negative_index("zd", "N", N); - current_statement__ = 609; - validate_non_negative_index("zd", "N", N); - current_statement__ = 610; - zd = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(zd, std::numeric_limits::quiet_NaN()); - - current_statement__ = 610; - assign(zd, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zd"); - current_statement__ = 611; - assign(zd, - ode_bdf_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zd"); - current_statement__ = 612; - assign(zd, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zd"); - current_statement__ = 613; - assign(zd, - ode_adams_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zd"); - current_statement__ = 614; - assign(zd, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zd"); - current_statement__ = 615; - assign(zd, - ode_rk45_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zd"); - current_statement__ = 616; - assign(zd, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable zd"); - current_statement__ = 617; - assign(zd, ode_bdf(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable zd"); - current_statement__ = 618; - assign(zd, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable zd"); - current_statement__ = 619; - assign(zd, ode_adams(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable zd"); - current_statement__ = 620; - assign(zd, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable zd"); - current_statement__ = 621; - assign(zd, ode_rk45(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable zd"); - current_statement__ = 622; - validate_non_negative_index("ra", "N", N); - current_statement__ = 623; - validate_non_negative_index("v", "N", N); - current_statement__ = 624; - validate_non_negative_index("z", "N", N); - current_statement__ = 625; - validate_non_negative_index("z", "N", N); - current_statement__ = 626; - validate_non_negative_index("zg", "N", N); - current_statement__ = 627; - validate_non_negative_index("zg", "N", N); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - num_params_r__ = 1 + N + N; - - } - - 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__ = "new_integrate_interface_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - - try { - local_scalar_t__ r; - r = DUMMY_VAR__; - - current_statement__ = 1; - r = in__.template read(); - std::vector ra; - ra = std::vector(N, DUMMY_VAR__); - - current_statement__ = 2; - ra = in__.template read>(N); - Eigen::Matrix v; - v = Eigen::Matrix(N); - stan::math::fill(v, DUMMY_VAR__); - - current_statement__ = 3; - v = in__.template read>(N); - std::vector> z; - z = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(z, DUMMY_VAR__); - - current_statement__ = 4; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 5; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 6; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 7; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 8; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 9; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 10; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 11; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 12; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 13; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 14; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 15; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 16; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 17; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 18; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 19; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 20; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 21; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 22; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 23; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 24; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 25; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 26; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 27; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 28; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 29; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 30; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 31; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 32; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 33; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 34; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 35; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 36; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 37; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 38; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 39; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 40; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 41; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 42; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 43; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 44; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 45; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 46; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 47; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 48; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 49; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 50; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 51; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 52; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 53; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 54; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 55; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 56; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 57; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 58; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 59; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 60; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 61; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 62; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 63; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 64; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 65; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 66; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 67; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 68; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 69; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 70; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 71; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 72; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 73; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 74; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 75; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 76; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 77; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 78; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 79; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 80; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 81; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 82; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 83; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 84; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 85; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 86; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 87; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 88; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 89; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 90; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 91; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 92; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 93; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 94; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 95; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 96; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 97; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 98; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 99; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 100; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 101; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 102; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 103; - assign(z, ode_adams(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 104; - assign(z, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 105; - assign(z, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 106; - assign(z, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 107; - assign(z, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 108; - assign(z, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 109; - assign(z, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 110; - assign(z, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 111; - assign(z, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 112; - assign(z, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 113; - assign(z, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 114; - assign(z, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 115; - assign(z, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 116; - assign(z, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 117; - assign(z, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 118; - assign(z, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 119; - assign(z, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 120; - assign(z, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 121; - assign(z, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 122; - assign(z, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 123; - assign(z, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 124; - assign(z, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 125; - assign(z, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 126; - assign(z, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 127; - assign(z, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 128; - assign(z, ode_adams(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 129; - assign(z, ode_adams(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 130; - assign(z, ode_adams(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 131; - assign(z, ode_adams(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 132; - assign(z, ode_adams(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 133; - assign(z, ode_adams(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 134; - assign(z, ode_adams(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 135; - assign(z, ode_adams(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 136; - assign(z, ode_bdf(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 137; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 138; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 139; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 140; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 141; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 142; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 143; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 144; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 145; - assign(z, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 146; - assign(z, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 147; - assign(z, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 148; - assign(z, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 149; - assign(z, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 150; - assign(z, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 151; - assign(z, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 152; - assign(z, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 153; - assign(z, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 154; - assign(z, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 155; - assign(z, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 156; - assign(z, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 157; - assign(z, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 158; - assign(z, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 159; - assign(z, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 160; - assign(z, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 161; - assign(z, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 162; - assign(z, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 163; - assign(z, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 164; - assign(z, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 165; - assign(z, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 166; - assign(z, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 167; - assign(z, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 168; - assign(z, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 169; - assign(z, ode_rk45(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 170; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 171; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 172; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 173; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 174; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 175; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 176; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 177; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 178; - assign(z, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 179; - assign(z, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 180; - assign(z, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 181; - assign(z, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 182; - assign(z, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 183; - assign(z, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 184; - assign(z, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 185; - assign(z, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 186; - assign(z, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 187; - assign(z, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 188; - assign(z, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 189; - assign(z, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 190; - assign(z, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 191; - assign(z, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 192; - assign(z, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 193; - assign(z, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 194; - assign(z, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 195; - assign(z, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 196; - assign(z, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 197; - assign(z, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 198; - assign(z, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 199; - assign(z, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 200; - assign(z, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 201; - assign(z, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable z"); - { - current_statement__ = 400; - validate_non_negative_index("zm", "N", N); - current_statement__ = 401; - validate_non_negative_index("zm", "N", N); - std::vector> zm; - zm = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(zm, DUMMY_VAR__); - - current_statement__ = 402; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 403; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 404; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 405; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 406; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 407; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 408; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 409; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 410; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 411; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 412; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 413; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 414; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 415; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 416; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 417; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 418; - assign(zm, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 419; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 420; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 421; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 422; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 423; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 424; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 425; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 426; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 427; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 428; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 429; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 430; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 431; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zm"); - current_statement__ = 432; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zm"); - current_statement__ = 433; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zm"); - current_statement__ = 434; - assign(zm, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zm"); - current_statement__ = 435; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 436; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 437; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 438; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 439; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 440; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 441; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 442; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 443; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 444; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 445; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 446; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 447; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 448; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 449; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 450; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 451; - assign(zm, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 452; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 453; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 454; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 455; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 456; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 457; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 458; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 459; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 460; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 461; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 462; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 463; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 464; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 465; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 466; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 467; - assign(zm, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 468; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 469; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 470; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 471; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 472; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 473; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 474; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 475; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 476; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 477; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 478; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 479; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 480; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 481; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 482; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 483; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 484; - assign(zm, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 485; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 486; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 487; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 488; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 489; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 490; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 491; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 492; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 493; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 494; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 495; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 496; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 497; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zm"); - current_statement__ = 498; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zm"); - current_statement__ = 499; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zm"); - current_statement__ = 500; - assign(zm, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zm"); - current_statement__ = 501; - assign(zm, - ode_adams(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 502; - assign(zm, - ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 503; - assign(zm, - ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 504; - assign(zm, - ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 505; - assign(zm, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 506; - assign(zm, - ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 507; - assign(zm, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 508; - assign(zm, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 509; - assign(zm, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 510; - assign(zm, - ode_adams(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 511; - assign(zm, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 512; - assign(zm, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 513; - assign(zm, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 514; - assign(zm, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 515; - assign(zm, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 516; - assign(zm, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 517; - assign(zm, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 518; - assign(zm, - ode_adams(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 519; - assign(zm, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 520; - assign(zm, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 521; - assign(zm, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 522; - assign(zm, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 523; - assign(zm, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 524; - assign(zm, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 525; - assign(zm, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 526; - assign(zm, ode_adams(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 527; - assign(zm, ode_adams(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 528; - assign(zm, ode_adams(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 529; - assign(zm, ode_adams(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 530; - assign(zm, ode_adams(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 531; - assign(zm, ode_adams(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 532; - assign(zm, ode_adams(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 533; - assign(zm, ode_adams(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 534; - assign(zm, - ode_rk45(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 535; - assign(zm, - ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 536; - assign(zm, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 537; - assign(zm, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 538; - assign(zm, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 539; - assign(zm, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 540; - assign(zm, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 541; - assign(zm, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 542; - assign(zm, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 543; - assign(zm, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 544; - assign(zm, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 545; - assign(zm, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 546; - assign(zm, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 547; - assign(zm, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 548; - assign(zm, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 549; - assign(zm, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 550; - assign(zm, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 551; - assign(zm, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 552; - assign(zm, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 553; - assign(zm, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 554; - assign(zm, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 555; - assign(zm, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 556; - assign(zm, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 557; - assign(zm, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 558; - assign(zm, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 559; - assign(zm, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 560; - assign(zm, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 561; - assign(zm, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 562; - assign(zm, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 563; - assign(zm, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 564; - assign(zm, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 565; - assign(zm, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 566; - assign(zm, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 567; - assign(zm, ode_bdf(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 568; - assign(zm, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 569; - assign(zm, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 570; - assign(zm, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 571; - assign(zm, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 572; - assign(zm, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 573; - assign(zm, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 574; - assign(zm, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 575; - assign(zm, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 576; - assign(zm, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 577; - assign(zm, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 578; - assign(zm, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 579; - assign(zm, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 580; - assign(zm, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 581; - assign(zm, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 582; - assign(zm, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 583; - assign(zm, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 584; - assign(zm, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 585; - assign(zm, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 586; - assign(zm, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 587; - assign(zm, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 588; - assign(zm, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 589; - assign(zm, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 590; - assign(zm, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 591; - assign(zm, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 592; - assign(zm, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 593; - assign(zm, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 594; - assign(zm, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 595; - assign(zm, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 596; - assign(zm, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable zm"); - current_statement__ = 597; - assign(zm, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable zm"); - current_statement__ = 598; - assign(zm, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable zm"); - current_statement__ = 599; - assign(zm, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable zm"); - current_statement__ = 600; - lp_accum__.add(normal_lpdf(r, 0, 1)); - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - lp_accum__.add(lp__); - return lp_accum__.sum(); - } // log_prob_impl() - - 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; - 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__ = "new_integrate_interface_model_namespace::write_array"; - (void) function__; // suppress unused var warning - - try { - double r; - r = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - r = in__.template read(); - std::vector ra; - ra = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 2; - ra = in__.template read>(N); - Eigen::Matrix v; - v = Eigen::Matrix(N); - stan::math::fill(v, std::numeric_limits::quiet_NaN()); - - current_statement__ = 3; - v = in__.template read>(N); - std::vector> z; - z = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(z, std::numeric_limits::quiet_NaN()); - - out__.write(r); - out__.write(ra); - out__.write(v); - if (logical_negation((primitive_value(emit_transformed_parameters__) || - primitive_value(emit_generated_quantities__)))) { - return ; - } - current_statement__ = 4; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 5; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 6; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 7; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 8; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 9; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 10; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 11; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 12; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 13; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 14; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 15; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 16; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 17; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 18; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 19; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 20; - assign(z, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 21; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 22; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 23; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 24; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 25; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 26; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 27; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 28; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 29; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 30; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 31; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 32; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 33; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 34; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 35; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 36; - assign(z, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 37; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 38; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 39; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 40; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 41; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 42; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 43; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 44; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 45; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 46; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 47; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 48; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 49; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 50; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 51; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 52; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 53; - assign(z, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 54; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 55; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 56; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 57; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 58; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 59; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 60; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 61; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 62; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 63; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 64; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 65; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 66; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 67; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 68; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 69; - assign(z, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 70; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 71; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 72; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 73; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 74; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 75; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 76; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 77; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 78; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 79; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 80; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 81; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 82; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 83; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 84; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 85; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 86; - assign(z, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 87; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 88; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 89; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 90; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 91; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 92; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 93; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 94; - assign(z, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 95; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable z"); - current_statement__ = 96; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable z"); - current_statement__ = 97; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable z"); - current_statement__ = 98; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable z"); - current_statement__ = 99; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable z"); - current_statement__ = 100; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable z"); - current_statement__ = 101; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable z"); - current_statement__ = 102; - assign(z, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable z"); - current_statement__ = 103; - assign(z, ode_adams(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 104; - assign(z, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 105; - assign(z, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 106; - assign(z, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 107; - assign(z, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 108; - assign(z, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 109; - assign(z, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 110; - assign(z, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 111; - assign(z, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 112; - assign(z, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 113; - assign(z, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 114; - assign(z, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 115; - assign(z, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 116; - assign(z, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 117; - assign(z, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 118; - assign(z, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 119; - assign(z, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 120; - assign(z, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 121; - assign(z, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 122; - assign(z, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 123; - assign(z, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 124; - assign(z, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 125; - assign(z, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 126; - assign(z, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 127; - assign(z, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 128; - assign(z, ode_adams(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 129; - assign(z, ode_adams(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 130; - assign(z, ode_adams(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 131; - assign(z, ode_adams(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 132; - assign(z, ode_adams(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 133; - assign(z, ode_adams(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 134; - assign(z, ode_adams(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 135; - assign(z, ode_adams(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 136; - assign(z, ode_bdf(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 137; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 138; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 139; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 140; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 141; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 142; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 143; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 144; - assign(z, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 145; - assign(z, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 146; - assign(z, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 147; - assign(z, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 148; - assign(z, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 149; - assign(z, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 150; - assign(z, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 151; - assign(z, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 152; - assign(z, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 153; - assign(z, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 154; - assign(z, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 155; - assign(z, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 156; - assign(z, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 157; - assign(z, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 158; - assign(z, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 159; - assign(z, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 160; - assign(z, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 161; - assign(z, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 162; - assign(z, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 163; - assign(z, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 164; - assign(z, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 165; - assign(z, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 166; - assign(z, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 167; - assign(z, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 168; - assign(z, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 169; - assign(z, ode_rk45(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 170; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 171; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 172; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 173; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 174; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 175; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 176; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 177; - assign(z, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 178; - assign(z, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 179; - assign(z, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 180; - assign(z, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 181; - assign(z, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 182; - assign(z, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 183; - assign(z, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 184; - assign(z, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 185; - assign(z, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 186; - assign(z, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 187; - assign(z, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 188; - assign(z, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 189; - assign(z, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 190; - assign(z, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 191; - assign(z, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 192; - assign(z, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 193; - assign(z, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable z"); - current_statement__ = 194; - assign(z, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 195; - assign(z, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 196; - assign(z, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 197; - assign(z, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable z"); - current_statement__ = 198; - assign(z, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable z"); - current_statement__ = 199; - assign(z, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable z"); - current_statement__ = 200; - assign(z, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable z"); - current_statement__ = 201; - assign(z, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable z"); - if (emit_transformed_parameters__) { - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(z[(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - if (logical_negation(emit_generated_quantities__)) { - return ; - } - std::vector> zg; - zg = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(zg, std::numeric_limits::quiet_NaN()); - - current_statement__ = 202; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 203; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 204; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 205; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 206; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 207; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 208; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 209; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 210; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 211; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 212; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 213; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 214; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 215; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 216; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 217; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 218; - assign(zg, - ode_bdf_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 219; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 220; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 221; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 222; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 223; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 224; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 225; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 226; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 227; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 228; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 229; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 230; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 231; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 232; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 233; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 234; - assign(zg, - ode_bdf_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 235; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 236; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 237; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 238; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 239; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 240; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 241; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 242; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 243; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 244; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 245; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 246; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 247; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 248; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 249; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 250; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 251; - assign(zg, - ode_adams_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 252; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 253; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 254; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 255; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 256; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 257; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 258; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 259; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 260; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 261; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 262; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 263; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 264; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 265; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 266; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 267; - assign(zg, - ode_adams_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 268; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, id, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 269; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 270; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 271; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 272; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 273; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 274; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 275; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 276; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, rd, ra, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 277; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 278; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 279; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 280; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, r, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 281; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 282; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 283; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 284; - assign(zg, - ode_rk45_tol(f_odefunctor__(), vd, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 285; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, vd), "assigning variable zg"); - current_statement__ = 286; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, rd, v), "assigning variable zg"); - current_statement__ = 287; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, vd), "assigning variable zg"); - current_statement__ = 288; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, rd, rad, 1e-6, 1e-6, 100, - pstream__, r, v), "assigning variable zg"); - current_statement__ = 289; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 290; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 291; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 292; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, rd, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 293; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 294; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 295; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 296; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, r, rad, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 297; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, vd), "assigning variable zg"); - current_statement__ = 298; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - rd, v), "assigning variable zg"); - current_statement__ = 299; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, vd), "assigning variable zg"); - current_statement__ = 300; - assign(zg, - ode_rk45_tol(f_odefunctor__(), v, r, ra, 1e-6, 1e-6, 100, pstream__, - r, v), "assigning variable zg"); - current_statement__ = 301; - assign(zg, ode_rk45(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 302; - assign(zg, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 303; - assign(zg, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 304; - assign(zg, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 305; - assign(zg, ode_rk45(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 306; - assign(zg, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 307; - assign(zg, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 308; - assign(zg, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 309; - assign(zg, ode_rk45(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 310; - assign(zg, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 311; - assign(zg, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 312; - assign(zg, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 313; - assign(zg, ode_rk45(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 314; - assign(zg, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 315; - assign(zg, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 316; - assign(zg, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 317; - assign(zg, ode_rk45(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 318; - assign(zg, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 319; - assign(zg, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 320; - assign(zg, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 321; - assign(zg, ode_rk45(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 322; - assign(zg, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 323; - assign(zg, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 324; - assign(zg, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 325; - assign(zg, ode_rk45(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 326; - assign(zg, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 327; - assign(zg, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 328; - assign(zg, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 329; - assign(zg, ode_rk45(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 330; - assign(zg, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 331; - assign(zg, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 332; - assign(zg, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 333; - assign(zg, ode_rk45(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 334; - assign(zg, ode_adams(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 335; - assign(zg, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 336; - assign(zg, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 337; - assign(zg, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 338; - assign(zg, ode_adams(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 339; - assign(zg, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 340; - assign(zg, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 341; - assign(zg, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 342; - assign(zg, ode_adams(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 343; - assign(zg, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 344; - assign(zg, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 345; - assign(zg, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 346; - assign(zg, ode_adams(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 347; - assign(zg, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 348; - assign(zg, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 349; - assign(zg, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 350; - assign(zg, ode_adams(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 351; - assign(zg, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 352; - assign(zg, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 353; - assign(zg, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 354; - assign(zg, ode_adams(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 355; - assign(zg, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 356; - assign(zg, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 357; - assign(zg, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 358; - assign(zg, ode_adams(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 359; - assign(zg, ode_adams(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 360; - assign(zg, ode_adams(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 361; - assign(zg, ode_adams(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 362; - assign(zg, ode_adams(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 363; - assign(zg, ode_adams(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 364; - assign(zg, ode_adams(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 365; - assign(zg, ode_adams(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 366; - assign(zg, ode_adams(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 367; - assign(zg, ode_bdf(f_odefunctor__(), vd, id, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 368; - assign(zg, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 369; - assign(zg, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 370; - assign(zg, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 371; - assign(zg, ode_bdf(f_odefunctor__(), vd, rd, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 372; - assign(zg, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 373; - assign(zg, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 374; - assign(zg, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 375; - assign(zg, ode_bdf(f_odefunctor__(), vd, rd, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 376; - assign(zg, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 377; - assign(zg, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 378; - assign(zg, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 379; - assign(zg, ode_bdf(f_odefunctor__(), vd, r, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 380; - assign(zg, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 381; - assign(zg, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 382; - assign(zg, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 383; - assign(zg, ode_bdf(f_odefunctor__(), vd, r, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 384; - assign(zg, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 385; - assign(zg, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 386; - assign(zg, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 387; - assign(zg, ode_bdf(f_odefunctor__(), v, rd, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 388; - assign(zg, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 389; - assign(zg, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 390; - assign(zg, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 391; - assign(zg, ode_bdf(f_odefunctor__(), v, rd, ra, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 392; - assign(zg, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 393; - assign(zg, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 394; - assign(zg, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 395; - assign(zg, ode_bdf(f_odefunctor__(), v, r, rad, pstream__, r, v), - "assigning variable zg"); - current_statement__ = 396; - assign(zg, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, rd, vd), - "assigning variable zg"); - current_statement__ = 397; - assign(zg, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, rd, v), - "assigning variable zg"); - current_statement__ = 398; - assign(zg, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, r, vd), - "assigning variable zg"); - current_statement__ = 399; - assign(zg, ode_bdf(f_odefunctor__(), v, r, ra, pstream__, r, v), - "assigning variable zg"); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(zg[(sym2__ - 1)][(sym1__ - 1)]); - } - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - } // 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__ r; - r = DUMMY_VAR__; - - r = in__.read(); - out__.write(r); - std::vector ra; - ra = std::vector(N, DUMMY_VAR__); - - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - 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__) { - 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__]); - } - } // transform_inits_impl() - - inline void get_param_names(std::vector& names__) const { - - names__ = std::vector{"r", "ra", "v", "z", "zg"}; - - } // get_param_names() - - inline void get_dims(std::vector>& dimss__) const { - - dimss__ = std::vector>{std::vector{}, - std::vector{static_cast(N)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), 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 { - - param_names__.emplace_back(std::string() + "r"); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "ra" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "v" + '.' + std::to_string(sym1__)); - } - } - if (emit_transformed_parameters__) { - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - - if (emit_generated_quantities__) { - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "zg" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - - } // constrained_param_names() - - inline void unconstrained_param_names( - std::vector& param_names__, - bool emit_transformed_parameters__ = true, - bool emit_generated_quantities__ = true) const - final { - - param_names__.emplace_back(std::string() + "r"); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "ra" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "v" + '.' + std::to_string(sym1__)); - } - } - if (emit_transformed_parameters__) { - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - - if (emit_generated_quantities__) { - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "zg" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - - } // unconstrained_param_names() - - inline std::string get_constrained_sizedtypes() const { - - return std::string("[{\"name\":\"r\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"ra\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"z\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"zg\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"}]"); - - } // get_constrained_sizedtypes() - - inline std::string get_unconstrained_sizedtypes() const { - - return std::string("[{\"name\":\"r\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"ra\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"z\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"zg\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"}]"); - - } // get_unconstrained_sizedtypes() - - - // Begin method overload boilerplate - template - inline void write_array(RNG& base_rng, - Eigen::Matrix& params_r, - Eigen::Matrix& vars, - const bool emit_transformed_parameters = true, - const bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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); - vars = Eigen::Map>( - vars_vec.data(), vars_vec.size()); - } - - template - inline void write_array(RNG& base_rng, std::vector& params_r, - std::vector& params_i, - std::vector& vars, - bool emit_transformed_parameters = true, - bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - const size_t num_params__ = - ((1 + N) + N); - const size_t num_transformed = (N * N); - const size_t num_gen_quantities = - (N * N); - 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 - inline T_ log_prob(Eigen::Matrix& params_r, - std::ostream* pstream = nullptr) const { - Eigen::Matrix params_i; - return log_prob_impl(params_r, params_i, pstream); - } - - template - inline T__ log_prob(std::vector& params_r, - std::vector& params_i, - std::ostream* pstream = nullptr) const { - return log_prob_impl(params_r, params_i, pstream); - } - - - 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.size()); - std::vector params_i; - 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 { - constexpr std::array names__{"r", "ra", "v"}; - const std::array constrain_param_sizes__{1, N, N}; - const auto num_constrained_params__ = std::accumulate( - constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); - - std::vector params_r_flat__(num_constrained_params__); - Eigen::Index size_iter__ = 0; - Eigen::Index flat_iter__ = 0; - for (auto&& param_name__ : names__) { - const auto param_vec__ = context.vals_r(param_name__); - for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { - params_r_flat__[flat_iter__] = param_vec__[i]; - ++flat_iter__; - } - ++size_iter__; - } - vars.resize(num_params_r__); - transform_inits_impl(params_r_flat__, params_i, vars, pstream__); - } // transform_inits() - -}; -} - -using stan_model = new_integrate_interface_model_namespace::new_integrate_interface_model; - -#ifndef USING_R - -// Boilerplate -stan::model::model_base& new_model( - stan::io::var_context& data_context, - unsigned int seed, - std::ostream* msg_stream) { - stan_model* m = new stan_model(data_context, seed, msg_stream); - return *m; -} - -stan::math::profile_map& get_stan_profile_data() { - return new_integrate_interface_model_namespace::profiles__; -} - -#endif - - - - $ ../../../../../install/default/bin/stanc --print-cpp old_integrate_interface.stan - -// Code generated by %%NAME%% %%VERSION%% -#include -namespace old_integrate_interface_model_namespace { - -using stan::io::dump; -using stan::model::assign; -using stan::model::index_uni; -using stan::model::index_max; -using stan::model::index_min; -using stan::model::index_min_max; -using stan::model::index_multi; -using stan::model::index_omni; -using stan::model::model_base_crtp; -using stan::model::rvalue; -using namespace stan::math; - - -stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = -{" (found before start of program)", - " (in 'old_integrate_interface.stan', line 27, column 2 to column 24)", - " (in 'old_integrate_interface.stan', line 28, column 2 to column 23)", - " (in 'old_integrate_interface.stan', line 29, column 2 to column 24)", - " (in 'old_integrate_interface.stan', line 30, column 2 to column 24)", - " (in 'old_integrate_interface.stan', line 31, column 2 to column 28)", - " (in 'old_integrate_interface.stan', line 32, column 2 to column 27)", - " (in 'old_integrate_interface.stan', line 35, column 2 to line 38, column 40)", - " (in 'old_integrate_interface.stan', line 41, column 2 to column 25)", - " (in 'old_integrate_interface.stan', line 42, column 2 to column 25)", - " (in 'old_integrate_interface.stan', line 43, column 2 to column 28)", - " (in 'old_integrate_interface.stan', line 44, column 2 to column 29)", - " (in 'old_integrate_interface.stan', line 45, column 2 to column 27)", - " (in 'old_integrate_interface.stan', line 46, column 2 to column 33)", - " (in 'old_integrate_interface.stan', line 48, column 4 to column 52)", - " (in 'old_integrate_interface.stan', line 49, column 4 to column 47)", - " (in 'old_integrate_interface.stan', line 47, column 17 to line 50, column 3)", - " (in 'old_integrate_interface.stan', line 47, column 2 to line 50, column 3)", - " (in 'old_integrate_interface.stan', line 21, column 2 to column 19)", - " (in 'old_integrate_interface.stan', line 22, column 10 to column 11)", - " (in 'old_integrate_interface.stan', line 22, column 2 to column 13)", - " (in 'old_integrate_interface.stan', line 23, column 2 to column 17)", - " (in 'old_integrate_interface.stan', line 24, column 20 to column 21)", - " (in 'old_integrate_interface.stan', line 24, column 2 to column 26)", - " (in 'old_integrate_interface.stan', line 35, column 9 to column 10)", - " (in 'old_integrate_interface.stan', line 7, column 4 to column 18)", - " (in 'old_integrate_interface.stan', line 8, column 4 to column 18)", - " (in 'old_integrate_interface.stan', line 10, column 4 to column 26)", - " (in 'old_integrate_interface.stan', line 11, column 4 to column 25)", - " (in 'old_integrate_interface.stan', line 12, column 4 to column 26)", - " (in 'old_integrate_interface.stan', line 13, column 4 to column 26)", - " (in 'old_integrate_interface.stan', line 15, column 4 to column 40)", - " (in 'old_integrate_interface.stan', line 16, column 4 to column 42)", - " (in 'old_integrate_interface.stan', line 17, column 4 to column 28)", - " (in 'old_integrate_interface.stan', line 6, column 26 to line 18, column 3)"}; - - -template -std::vector> -dz_dt(const T0__& t, const std::vector& z, - const std::vector& theta, const std::vector& x_r, - const std::vector& x_i, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - local_scalar_t__ u; - u = DUMMY_VAR__; - - current_statement__ = 25; - u = rvalue(z, "z", index_uni(1)); - local_scalar_t__ v; - v = DUMMY_VAR__; - - current_statement__ = 26; - v = rvalue(z, "z", index_uni(2)); - local_scalar_t__ alpha; - alpha = DUMMY_VAR__; - - current_statement__ = 27; - alpha = rvalue(theta, "theta", index_uni(1)); - local_scalar_t__ beta; - beta = DUMMY_VAR__; - - current_statement__ = 28; - beta = rvalue(theta, "theta", index_uni(2)); - local_scalar_t__ gamma; - gamma = DUMMY_VAR__; - - current_statement__ = 29; - gamma = rvalue(theta, "theta", index_uni(3)); - local_scalar_t__ delta; - delta = DUMMY_VAR__; - - current_statement__ = 30; - delta = rvalue(theta, "theta", index_uni(4)); - local_scalar_t__ du_dt; - du_dt = DUMMY_VAR__; - - current_statement__ = 31; - du_dt = ((alpha - (beta * v)) * u); - local_scalar_t__ dv_dt; - dv_dt = DUMMY_VAR__; - - current_statement__ = 32; - dv_dt = ((-gamma + (delta * u)) * v); - current_statement__ = 33; - return std::vector{du_dt, dv_dt}; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct dz_dt_functor__ { -template -std::vector> -operator()(const T0__& t, const std::vector& z, - const std::vector& theta, const std::vector& x_r, - const std::vector& x_i, std::ostream* pstream__) const -{ -return dz_dt(t, z, theta, x_r, x_i, pstream__); -} -}; - -class old_integrate_interface_model final : public model_base_crtp { - - private: - int N; - std::vector ts; - std::vector y_init; - std::vector> y; - - - public: - ~old_integrate_interface_model() { } - - inline std::string model_name() const final { return "old_integrate_interface_model"; } - - inline std::vector model_compile_info() const noexcept { - return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; - } - - - old_integrate_interface_model(stan::io::var_context& context__, - unsigned int random_seed__ = 0, - std::ostream* pstream__ = nullptr) : model_base_crtp(0) { - int current_statement__ = 0; - using local_scalar_t__ = double ; - boost::ecuyer1988 base_rng__ = - stan::services::util::create_rng(random_seed__, 0); - (void) base_rng__; // suppress unused var warning - static constexpr const char* function__ = "old_integrate_interface_model_namespace::old_integrate_interface_model"; - (void) function__; // suppress unused var warning - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - current_statement__ = 18; - context__.validate_dims("data initialization","N","int", - std::vector{}); - N = std::numeric_limits::min(); - - current_statement__ = 18; - N = context__.vals_i("N")[(1 - 1)]; - current_statement__ = 18; - check_greater_or_equal(function__, "N", N, 0); - current_statement__ = 19; - validate_non_negative_index("ts", "N", N); - current_statement__ = 20; - context__.validate_dims("data initialization","ts","double", - std::vector{static_cast(N)}); - ts = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 20; - ts = context__.vals_r("ts"); - current_statement__ = 21; - context__.validate_dims("data initialization","y_init","double", - std::vector{static_cast(2)}); - y_init = std::vector(2, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 21; - y_init = context__.vals_r("y_init"); - current_statement__ = 22; - validate_non_negative_index("y", "N", N); - current_statement__ = 23; - context__.validate_dims("data initialization","y","double", - std::vector{static_cast(N), - static_cast(2)}); - y = std::vector>(N, std::vector(2, std::numeric_limits::quiet_NaN())); - - - { - std::vector y_flat__; - current_statement__ = 23; - y_flat__ = context__.vals_r("y"); - current_statement__ = 23; - pos__ = 1; - current_statement__ = 23; - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - current_statement__ = 23; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 23; - assign(y, y_flat__[(pos__ - 1)], - "assigning variable y", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 23; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 23; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 23; - for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - current_statement__ = 23; - check_greater_or_equal(function__, "y[sym1__, sym2__]", - y[(sym1__ - 1)][(sym2__ - 1)], 0); - } - } - current_statement__ = 24; - validate_non_negative_index("z", "N", N); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - num_params_r__ = 1 + 1 + 1 + 1 + 2 + 2; - - } - - 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__ = "old_integrate_interface_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - - try { - local_scalar_t__ alpha; - alpha = DUMMY_VAR__; - - current_statement__ = 1; - alpha = in__.template read_constrain_lb( - 0, lp__); - local_scalar_t__ beta; - beta = DUMMY_VAR__; - - current_statement__ = 2; - beta = in__.template read_constrain_lb(0, - lp__); - local_scalar_t__ gamma; - gamma = DUMMY_VAR__; - - current_statement__ = 3; - gamma = in__.template read_constrain_lb( - 0, lp__); - local_scalar_t__ delta; - delta = DUMMY_VAR__; - - current_statement__ = 4; - delta = in__.template read_constrain_lb( - 0, lp__); - std::vector z_init; - z_init = std::vector(2, DUMMY_VAR__); - - current_statement__ = 5; - z_init = in__.template read_constrain_lb, jacobian__>( - 0, lp__, 2); - std::vector sigma; - sigma = std::vector(2, DUMMY_VAR__); - - current_statement__ = 6; - sigma = in__.template read_constrain_lb, jacobian__>( - 0, lp__, 2); - std::vector> z; - z = std::vector>(N, std::vector(2, DUMMY_VAR__)); - - - current_statement__ = 7; - assign(z, - integrate_ode_bdf(dz_dt_functor__(), z_init, 0, ts, - std::vector{alpha, beta, gamma, delta}, - rep_array(0.0, 0), rep_array(0, 0), pstream__, 1e-5, 1e-3, 5e2), - "assigning variable z"); - { - current_statement__ = 8; - lp_accum__.add(normal_lpdf(alpha, 1, 0.5)); - current_statement__ = 9; - lp_accum__.add(normal_lpdf(gamma, 1, 0.5)); - current_statement__ = 10; - lp_accum__.add(normal_lpdf(beta, 0.05, 0.05)); - current_statement__ = 11; - lp_accum__.add(normal_lpdf(delta, 0.05, 0.05)); - current_statement__ = 12; - lp_accum__.add(lognormal_lpdf(sigma, -1, 1)); - current_statement__ = 13; - lp_accum__.add( - lognormal_lpdf(z_init, stan::math::log(10), 1)); - current_statement__ = 17; - for (int k = 1; k <= 2; ++k) { - current_statement__ = 14; - lp_accum__.add( - lognormal_lpdf(rvalue(y_init, "y_init", index_uni(k)), - stan::math::log(rvalue(z_init, "z_init", index_uni(k))), - rvalue(sigma, "sigma", index_uni(k)))); - current_statement__ = 15; - lp_accum__.add( - lognormal_lpdf( - rvalue(y, "y", index_omni(), index_uni(k)), - stan::math::log(rvalue(z, "z", index_omni(), index_uni(k))), - rvalue(sigma, "sigma", index_uni(k)))); - } - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - lp_accum__.add(lp__); - return lp_accum__.sum(); - } // log_prob_impl() - - 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; - 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__ = "old_integrate_interface_model_namespace::write_array"; - (void) function__; // suppress unused var warning - - try { - double alpha; - alpha = std::numeric_limits::quiet_NaN(); - - current_statement__ = 1; - alpha = in__.template read_constrain_lb( - 0, lp__); - double beta; - beta = std::numeric_limits::quiet_NaN(); - - current_statement__ = 2; - beta = in__.template read_constrain_lb(0, - lp__); - double gamma; - gamma = std::numeric_limits::quiet_NaN(); - - current_statement__ = 3; - gamma = in__.template read_constrain_lb( - 0, lp__); - double delta; - delta = std::numeric_limits::quiet_NaN(); - - current_statement__ = 4; - delta = in__.template read_constrain_lb( - 0, lp__); - std::vector z_init; - z_init = std::vector(2, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 5; - z_init = in__.template read_constrain_lb, jacobian__>( - 0, lp__, 2); - std::vector sigma; - sigma = std::vector(2, std::numeric_limits::quiet_NaN()); - - - current_statement__ = 6; - sigma = in__.template read_constrain_lb, jacobian__>( - 0, lp__, 2); - std::vector> z; - z = std::vector>(N, std::vector(2, std::numeric_limits::quiet_NaN())); - - - 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 ; - } - current_statement__ = 7; - assign(z, - integrate_ode_bdf(dz_dt_functor__(), z_init, 0, ts, - std::vector{alpha, beta, gamma, delta}, - rep_array(0.0, 0), rep_array(0, 0), pstream__, 1e-5, 1e-3, 5e2), - "assigning variable z"); - if (emit_transformed_parameters__) { - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(z[(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - if (logical_negation(emit_generated_quantities__)) { - return ; - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - } // 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__ alpha; - alpha = DUMMY_VAR__; - - 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__; - - 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__); - - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - z_init[(sym1__ - 1)] = in__.read(); - } - out__.write_free_lb(0, z_init); - std::vector sigma; - sigma = std::vector(2, DUMMY_VAR__); - - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - 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__]); - } - } // transform_inits_impl() - - inline void get_param_names(std::vector& names__) const { - - names__ = std::vector{"alpha", "beta", "gamma", "delta", - "z_init", "sigma", "z"}; - - } // get_param_names() - - inline void get_dims(std::vector>& dimss__) const { - - dimss__ = std::vector>{std::vector{}, - std::vector{}, std::vector{}, std::vector{ - }, std::vector{static_cast(2)}, - std::vector{static_cast(2)}, - std::vector{static_cast(N), 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() + "alpha"); - param_names__.emplace_back(std::string() + "beta"); - param_names__.emplace_back(std::string() + "gamma"); - param_names__.emplace_back(std::string() + "delta"); - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "z_init" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "sigma" + '.' + std::to_string(sym1__)); - } - } - if (emit_transformed_parameters__) { - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - - if (emit_generated_quantities__) { - - } - - } // constrained_param_names() - - inline void unconstrained_param_names( - std::vector& param_names__, - bool emit_transformed_parameters__ = true, - bool emit_generated_quantities__ = true) const - final { - - param_names__.emplace_back(std::string() + "alpha"); - param_names__.emplace_back(std::string() + "beta"); - param_names__.emplace_back(std::string() + "gamma"); - param_names__.emplace_back(std::string() + "delta"); - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "z_init" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - param_names__.emplace_back(std::string() + "sigma" + '.' + std::to_string(sym1__)); - } - } - if (emit_transformed_parameters__) { - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } - - if (emit_generated_quantities__) { - - } - - } // unconstrained_param_names() - - inline std::string get_constrained_sizedtypes() const { - - return std::string("[{\"name\":\"alpha\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"beta\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"gamma\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"delta\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"z_init\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"sigma\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"z\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"transformed_parameters\"}]"); - - } // get_constrained_sizedtypes() - - inline std::string get_unconstrained_sizedtypes() const { - - return std::string("[{\"name\":\"alpha\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"beta\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"gamma\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"delta\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"z_init\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"sigma\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"z\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"transformed_parameters\"}]"); - - } // get_unconstrained_sizedtypes() - - - // Begin method overload boilerplate - template - inline void write_array(RNG& base_rng, - Eigen::Matrix& params_r, - Eigen::Matrix& vars, - const bool emit_transformed_parameters = true, - const bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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); - vars = Eigen::Map>( - vars_vec.data(), vars_vec.size()); - } - - template - inline void write_array(RNG& base_rng, std::vector& params_r, - std::vector& params_i, - std::vector& vars, - bool emit_transformed_parameters = true, - bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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; - 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 - inline T_ log_prob(Eigen::Matrix& params_r, - std::ostream* pstream = nullptr) const { - Eigen::Matrix params_i; - return log_prob_impl(params_r, params_i, pstream); - } - - template - inline T__ log_prob(std::vector& params_r, - std::vector& params_i, - std::ostream* pstream = nullptr) const { - return log_prob_impl(params_r, params_i, pstream); - } - - - 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.size()); - std::vector params_i; - 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 { - constexpr std::array names__{"alpha", "beta", "gamma", - "delta", "z_init", "sigma"}; - const std::array constrain_param_sizes__{1, 1, - 1, 1, 2, 2}; - const auto num_constrained_params__ = std::accumulate( - constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); - - std::vector params_r_flat__(num_constrained_params__); - Eigen::Index size_iter__ = 0; - Eigen::Index flat_iter__ = 0; - for (auto&& param_name__ : names__) { - const auto param_vec__ = context.vals_r(param_name__); - for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { - params_r_flat__[flat_iter__] = param_vec__[i]; - ++flat_iter__; - } - ++size_iter__; - } - vars.resize(num_params_r__); - transform_inits_impl(params_r_flat__, params_i, vars, pstream__); - } // transform_inits() - -}; -} - -using stan_model = old_integrate_interface_model_namespace::old_integrate_interface_model; - -#ifndef USING_R - -// Boilerplate -stan::model::model_base& new_model( - stan::io::var_context& data_context, - unsigned int seed, - std::ostream* msg_stream) { - stan_model* m = new stan_model(data_context, seed, msg_stream); - return *m; -} - -stan::math::profile_map& get_stan_profile_data() { - return old_integrate_interface_model_namespace::profiles__; -} - -#endif - - - -Warning in 'old_integrate_interface.stan', line 36, column 4: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. -The new interface is slightly different, see: -https://mc-stan.org/users/documentation/case-studies/convert_odes.html - $ ../../../../../install/default/bin/stanc --print-cpp optimize_glm.stan - -// Code generated by %%NAME%% %%VERSION%% -#include -namespace optimize_glm_model_namespace { - -using stan::io::dump; -using stan::model::assign; -using stan::model::index_uni; -using stan::model::index_max; -using stan::model::index_min; -using stan::model::index_min_max; -using stan::model::index_multi; -using stan::model::index_omni; -using stan::model::model_base_crtp; -using stan::model::rvalue; -using namespace stan::math; - - -stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = -{" (found before start of program)", - " (in 'optimize_glm.stan', line 27, column 2 to column 20)", - " (in 'optimize_glm.stan', line 28, column 2 to column 17)", - " (in 'optimize_glm.stan', line 29, column 2 to column 17)", - " (in 'optimize_glm.stan', line 30, column 2 to column 22)", - " (in 'optimize_glm.stan', line 31, column 2 to column 13)", - " (in 'optimize_glm.stan', line 32, column 2 to column 11)", - " (in 'optimize_glm.stan', line 33, column 2 to column 19)", - " (in 'optimize_glm.stan', line 34, column 2 to column 22)", - " (in 'optimize_glm.stan', line 35, column 2 to column 23)", - " (in 'optimize_glm.stan', line 39, column 2 to column 64)", - " (in 'optimize_glm.stan', line 40, column 2 to column 49)", - " (in 'optimize_glm.stan', line 42, column 2 to column 64)", - " (in 'optimize_glm.stan', line 43, column 2 to column 49)", - " (in 'optimize_glm.stan', line 45, column 2 to column 63)", - " (in 'optimize_glm.stan', line 46, column 2 to column 48)", - " (in 'optimize_glm.stan', line 48, column 2 to column 63)", - " (in 'optimize_glm.stan', line 49, column 2 to column 48)", - " (in 'optimize_glm.stan', line 51, column 2 to column 66)", - " (in 'optimize_glm.stan', line 52, column 2 to column 51)", - " (in 'optimize_glm.stan', line 54, column 2 to column 66)", - " (in 'optimize_glm.stan', line 55, column 2 to column 51)", - " (in 'optimize_glm.stan', line 57, column 2 to column 70)", - " (in 'optimize_glm.stan', line 58, column 2 to column 55)", - " (in 'optimize_glm.stan', line 60, column 2 to column 67)", - " (in 'optimize_glm.stan', line 61, column 2 to column 52)", - " (in 'optimize_glm.stan', line 63, column 2 to column 69)", - " (in 'optimize_glm.stan', line 64, column 2 to column 54)", - " (in 'optimize_glm.stan', line 66, column 2 to column 66)", - " (in 'optimize_glm.stan', line 67, column 2 to column 51)", - " (in 'optimize_glm.stan', line 69, column 2 to column 72)", - " (in 'optimize_glm.stan', line 70, column 2 to column 57)", - " (in 'optimize_glm.stan', line 72, column 2 to column 69)", - " (in 'optimize_glm.stan', line 73, column 2 to column 54)", - " (in 'optimize_glm.stan', line 75, column 2 to column 63)", - " (in 'optimize_glm.stan', line 76, column 2 to column 49)", - " (in 'optimize_glm.stan', line 78, column 2 to column 63)", - " (in 'optimize_glm.stan', line 79, column 2 to column 49)", - " (in 'optimize_glm.stan', line 81, column 2 to column 66)", - " (in 'optimize_glm.stan', line 82, column 2 to column 52)", - " (in 'optimize_glm.stan', line 84, column 2 to column 66)", - " (in 'optimize_glm.stan', line 85, column 2 to column 52)", - " (in 'optimize_glm.stan', line 87, column 2 to column 62)", - " (in 'optimize_glm.stan', line 88, column 2 to column 48)", - " (in 'optimize_glm.stan', line 90, column 2 to column 62)", - " (in 'optimize_glm.stan', line 91, column 2 to column 48)", - " (in 'optimize_glm.stan', line 93, column 2 to column 69)", - " (in 'optimize_glm.stan', line 94, column 2 to column 55)", - " (in 'optimize_glm.stan', line 96, column 2 to column 66)", - " (in 'optimize_glm.stan', line 97, column 2 to column 52)", - " (in 'optimize_glm.stan', line 99, column 2 to column 72)", - " (in 'optimize_glm.stan', line 100, column 2 to column 58)", - " (in 'optimize_glm.stan', line 102, column 2 to column 69)", - " (in 'optimize_glm.stan', line 103, column 2 to column 55)", - " (in 'optimize_glm.stan', line 105, column 2 to column 68)", - " (in 'optimize_glm.stan', line 106, column 2 to column 54)", - " (in 'optimize_glm.stan', line 108, column 2 to column 65)", - " (in 'optimize_glm.stan', line 109, column 2 to column 51)", - " (in 'optimize_glm.stan', line 111, column 2 to column 59)", - " (in 'optimize_glm.stan', line 112, column 2 to column 45)", - " (in 'optimize_glm.stan', line 114, column 2 to column 59)", - " (in 'optimize_glm.stan', line 115, column 2 to column 45)", - " (in 'optimize_glm.stan', line 117, column 2 to column 58)", - " (in 'optimize_glm.stan', line 118, column 2 to column 44)", - " (in 'optimize_glm.stan', line 120, column 2 to column 58)", - " (in 'optimize_glm.stan', line 121, column 2 to column 44)", - " (in 'optimize_glm.stan', line 123, column 2 to column 62)", - " (in 'optimize_glm.stan', line 124, column 2 to column 48)", - " (in 'optimize_glm.stan', line 126, column 2 to column 62)", - " (in 'optimize_glm.stan', line 127, column 2 to column 48)", - " (in 'optimize_glm.stan', line 129, column 2 to column 65)", - " (in 'optimize_glm.stan', line 130, column 2 to column 51)", - " (in 'optimize_glm.stan', line 132, column 2 to column 62)", - " (in 'optimize_glm.stan', line 133, column 2 to column 48)", - " (in 'optimize_glm.stan', line 135, column 2 to column 64)", - " (in 'optimize_glm.stan', line 136, column 2 to column 50)", - " (in 'optimize_glm.stan', line 138, column 2 to column 61)", - " (in 'optimize_glm.stan', line 139, column 2 to column 47)", - " (in 'optimize_glm.stan', line 141, column 2 to column 68)", - " (in 'optimize_glm.stan', line 142, column 2 to column 54)", - " (in 'optimize_glm.stan', line 144, column 2 to column 65)", - " (in 'optimize_glm.stan', line 145, column 2 to column 51)", - " (in 'optimize_glm.stan', line 147, column 2 to column 71)", - " (in 'optimize_glm.stan', line 148, column 2 to column 57)", - " (in 'optimize_glm.stan', line 150, column 2 to column 71)", - " (in 'optimize_glm.stan', line 151, column 2 to column 57)", - " (in 'optimize_glm.stan', line 153, column 2 to column 70)", - " (in 'optimize_glm.stan', line 154, column 2 to column 56)", - " (in 'optimize_glm.stan', line 156, column 2 to column 70)", - " (in 'optimize_glm.stan', line 157, column 2 to column 56)", - " (in 'optimize_glm.stan', line 159, column 2 to column 74)", - " (in 'optimize_glm.stan', line 160, column 2 to column 60)", - " (in 'optimize_glm.stan', line 162, column 2 to column 74)", - " (in 'optimize_glm.stan', line 163, column 2 to column 60)", - " (in 'optimize_glm.stan', line 165, column 2 to column 77)", - " (in 'optimize_glm.stan', line 166, column 2 to column 63)", - " (in 'optimize_glm.stan', line 168, column 2 to column 74)", - " (in 'optimize_glm.stan', line 169, column 2 to column 60)", - " (in 'optimize_glm.stan', line 171, column 2 to column 76)", - " (in 'optimize_glm.stan', line 172, column 2 to column 62)", - " (in 'optimize_glm.stan', line 174, column 2 to column 73)", - " (in 'optimize_glm.stan', line 175, column 2 to column 59)", - " (in 'optimize_glm.stan', line 177, column 2 to column 80)", - " (in 'optimize_glm.stan', line 178, column 2 to column 66)", - " (in 'optimize_glm.stan', line 180, column 2 to column 77)", - " (in 'optimize_glm.stan', line 181, column 2 to column 63)", - " (in 'optimize_glm.stan', line 183, column 2 to column 62)", - " (in 'optimize_glm.stan', line 184, column 2 to column 48)", - " (in 'optimize_glm.stan', line 186, column 2 to column 62)", - " (in 'optimize_glm.stan', line 187, column 2 to column 48)", - " (in 'optimize_glm.stan', line 189, column 2 to column 68)", - " (in 'optimize_glm.stan', line 190, column 2 to column 54)", - " (in 'optimize_glm.stan', line 192, column 2 to column 65)", - " (in 'optimize_glm.stan', line 193, column 2 to column 51)", - " (in 'optimize_glm.stan', line 195, column 2 to column 62)", - " (in 'optimize_glm.stan', line 196, column 2 to column 48)", - " (in 'optimize_glm.stan', line 198, column 2 to column 62)", - " (in 'optimize_glm.stan', line 199, column 2 to column 48)", - " (in 'optimize_glm.stan', line 201, column 2 to column 68)", - " (in 'optimize_glm.stan', line 202, column 2 to column 54)", - " (in 'optimize_glm.stan', line 204, column 2 to column 65)", - " (in 'optimize_glm.stan', line 205, column 2 to column 51)", - " (in 'optimize_glm.stan', line 207, column 2 to column 65)", - " (in 'optimize_glm.stan', line 208, column 2 to column 51)", - " (in 'optimize_glm.stan', line 210, column 2 to column 65)", - " (in 'optimize_glm.stan', line 211, column 2 to column 51)", - " (in 'optimize_glm.stan', line 213, column 2 to column 63)", - " (in 'optimize_glm.stan', line 214, column 2 to column 49)", - " (in 'optimize_glm.stan', line 216, column 2 to column 63)", - " (in 'optimize_glm.stan', line 217, column 2 to column 49)", - " (in 'optimize_glm.stan', line 219, column 2 to column 69)", - " (in 'optimize_glm.stan', line 220, column 2 to column 55)", - " (in 'optimize_glm.stan', line 222, column 2 to column 66)", - " (in 'optimize_glm.stan', line 223, column 2 to column 53)", - " (in 'optimize_glm.stan', line 225, column 2 to column 66)", - " (in 'optimize_glm.stan', line 226, column 2 to column 52)", - " (in 'optimize_glm.stan', line 228, column 2 to column 66)", - " (in 'optimize_glm.stan', line 229, column 2 to column 52)", - " (in 'optimize_glm.stan', line 231, column 2 to column 68)", - " (in 'optimize_glm.stan', line 232, column 2 to column 54)", - " (in 'optimize_glm.stan', line 234, column 2 to column 68)", - " (in 'optimize_glm.stan', line 235, column 2 to column 54)", - " (in 'optimize_glm.stan', line 237, column 2 to column 74)", - " (in 'optimize_glm.stan', line 238, column 2 to column 60)", - " (in 'optimize_glm.stan', line 240, column 2 to column 71)", - " (in 'optimize_glm.stan', line 241, column 2 to column 57)", - " (in 'optimize_glm.stan', line 243, column 2 to column 71)", - " (in 'optimize_glm.stan', line 244, column 2 to column 57)", - " (in 'optimize_glm.stan', line 246, column 2 to column 71)", - " (in 'optimize_glm.stan', line 247, column 2 to column 57)", - " (in 'optimize_glm.stan', line 249, column 2 to column 77)", - " (in 'optimize_glm.stan', line 250, column 2 to column 63)", - " (in 'optimize_glm.stan', line 252, column 2 to column 74)", - " (in 'optimize_glm.stan', line 253, column 2 to column 60)", - " (in 'optimize_glm.stan', line 255, column 2 to column 69)", - " (in 'optimize_glm.stan', line 256, column 2 to column 55)", - " (in 'optimize_glm.stan', line 258, column 2 to column 69)", - " (in 'optimize_glm.stan', line 259, column 2 to column 55)", - " (in 'optimize_glm.stan', line 261, column 2 to column 75)", - " (in 'optimize_glm.stan', line 262, column 2 to column 61)", - " (in 'optimize_glm.stan', line 264, column 2 to column 72)", - " (in 'optimize_glm.stan', line 265, column 2 to column 58)", - " (in 'optimize_glm.stan', line 267, column 2 to column 72)", - " (in 'optimize_glm.stan', line 268, column 2 to column 58)", - " (in 'optimize_glm.stan', line 270, column 2 to column 72)", - " (in 'optimize_glm.stan', line 271, column 2 to column 58)", - " (in 'optimize_glm.stan', line 273, column 2 to column 78)", - " (in 'optimize_glm.stan', line 274, column 2 to column 64)", - " (in 'optimize_glm.stan', line 276, column 2 to column 75)", - " (in 'optimize_glm.stan', line 277, column 2 to column 61)", - " (in 'optimize_glm.stan', line 279, column 2 to column 73)", - " (in 'optimize_glm.stan', line 280, column 2 to column 59)", - " (in 'optimize_glm.stan', line 282, column 2 to column 76)", - " (in 'optimize_glm.stan', line 283, column 2 to column 62)", - " (in 'optimize_glm.stan', line 285, column 2 to column 69)", - " (in 'optimize_glm.stan', line 286, column 2 to column 54)", - " (in 'optimize_glm.stan', line 2, column 2 to column 17)", - " (in 'optimize_glm.stan', line 3, column 2 to column 17)", - " (in 'optimize_glm.stan', line 4, column 9 to column 10)", - " (in 'optimize_glm.stan', line 4, column 12 to column 13)", - " (in 'optimize_glm.stan', line 4, column 2 to column 19)", - " (in 'optimize_glm.stan', line 5, column 9 to column 10)", - " (in 'optimize_glm.stan', line 5, column 12 to column 13)", - " (in 'optimize_glm.stan', line 5, column 2 to column 24)", - " (in 'optimize_glm.stan', line 6, column 9 to column 10)", - " (in 'optimize_glm.stan', line 6, column 2 to column 18)", - " (in 'optimize_glm.stan', line 7, column 13 to column 14)", - " (in 'optimize_glm.stan', line 7, column 2 to column 23)", - " (in 'optimize_glm.stan', line 8, column 13 to column 14)", - " (in 'optimize_glm.stan', line 8, column 2 to column 16)", - " (in 'optimize_glm.stan', line 9, column 14 to column 15)", - " (in 'optimize_glm.stan', line 9, column 2 to column 17)", - " (in 'optimize_glm.stan', line 10, column 2 to column 12)", - " (in 'optimize_glm.stan', line 11, column 2 to column 13)", - " (in 'optimize_glm.stan', line 15, column 2 to column 20)", - " (in 'optimize_glm.stan', line 16, column 2 to column 20)", - " (in 'optimize_glm.stan', line 17, column 9 to column 10)", - " (in 'optimize_glm.stan', line 17, column 12 to column 13)", - " (in 'optimize_glm.stan', line 17, column 2 to column 22)", - " (in 'optimize_glm.stan', line 18, column 9 to column 10)", - " (in 'optimize_glm.stan', line 18, column 2 to column 21)", - " (in 'optimize_glm.stan', line 19, column 13 to column 14)", - " (in 'optimize_glm.stan', line 19, column 2 to column 26)", - " (in 'optimize_glm.stan', line 20, column 16 to column 17)", - " (in 'optimize_glm.stan', line 20, column 2 to column 19)", - " (in 'optimize_glm.stan', line 21, column 17 to column 18)", - " (in 'optimize_glm.stan', line 21, column 2 to column 20)", - " (in 'optimize_glm.stan', line 22, column 2 to column 15)", - " (in 'optimize_glm.stan', line 23, column 2 to column 16)", - " (in 'optimize_glm.stan', line 27, column 9 to column 10)", - " (in 'optimize_glm.stan', line 28, column 9 to column 10)", - " (in 'optimize_glm.stan', line 29, column 9 to column 10)", - " (in 'optimize_glm.stan', line 33, column 9 to column 10)", - " (in 'optimize_glm.stan', line 33, column 12 to column 13)", - " (in 'optimize_glm.stan', line 34, column 9 to column 10)", - " (in 'optimize_glm.stan', line 34, column 12 to column 13)", - " (in 'optimize_glm.stan', line 35, column 13 to column 14)"}; - - - -class optimize_glm_model final : public model_base_crtp { - - private: - int k; - int n; - Eigen::Matrix X_d__; - std::vector> X_d_a; - Eigen::Matrix y_v_d__; - Eigen::Matrix X_rv_d__; - std::vector y_vi_d; - std::vector y2_vi_d; - int y_s_d; - double y_r_d; - int k_td; - int n_td; - Eigen::Matrix X_d_td__; - Eigen::Matrix y_v_d_td__; - Eigen::Matrix X_rv_d_td__; - std::vector y_vi_d_td; - std::vector y2_vi_d_td; - int y_s_d_td; - double y_r_d_td; - Eigen::Map> X_d{nullptr, 0, 0}; - Eigen::Map> y_v_d{nullptr, 0}; - Eigen::Map> X_rv_d{nullptr, 0}; - Eigen::Map> X_d_td{nullptr, 0, 0}; - Eigen::Map> y_v_d_td{nullptr, 0}; - Eigen::Map> X_rv_d_td{nullptr, 0}; - - public: - ~optimize_glm_model() { } - - inline std::string model_name() const final { return "optimize_glm_model"; } - - inline std::vector model_compile_info() const noexcept { - return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; - } - - - optimize_glm_model(stan::io::var_context& context__, - unsigned int random_seed__ = 0, - std::ostream* pstream__ = nullptr) : model_base_crtp(0) { - int current_statement__ = 0; - using local_scalar_t__ = double ; - boost::ecuyer1988 base_rng__ = - stan::services::util::create_rng(random_seed__, 0); - (void) base_rng__; // suppress unused var warning - static constexpr const char* function__ = "optimize_glm_model_namespace::optimize_glm_model"; - (void) function__; // suppress unused var warning - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - current_statement__ = 176; - context__.validate_dims("data initialization","k","int", - std::vector{}); - k = std::numeric_limits::min(); - - current_statement__ = 176; - k = context__.vals_i("k")[(1 - 1)]; - current_statement__ = 176; - check_greater_or_equal(function__, "k", k, 1); - current_statement__ = 177; - context__.validate_dims("data initialization","n","int", - std::vector{}); - n = std::numeric_limits::min(); - - current_statement__ = 177; - n = context__.vals_i("n")[(1 - 1)]; - current_statement__ = 177; - check_greater_or_equal(function__, "n", n, 0); - current_statement__ = 178; - validate_non_negative_index("X_d", "n", n); - current_statement__ = 179; - validate_non_negative_index("X_d", "k", k); - current_statement__ = 180; - context__.validate_dims("data initialization","X_d","double", - std::vector{static_cast(n), - static_cast(k)}); - X_d__ = Eigen::Matrix(n, k); - new (&X_d) Eigen::Map>(X_d__.data(), n, k); - - - { - std::vector X_d_flat__; - current_statement__ = 180; - X_d_flat__ = context__.vals_r("X_d"); - current_statement__ = 180; - pos__ = 1; - current_statement__ = 180; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 180; - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - current_statement__ = 180; - assign(X_d, X_d_flat__[(pos__ - 1)], - "assigning variable X_d", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 180; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 181; - validate_non_negative_index("X_d_a", "n", n); - current_statement__ = 182; - validate_non_negative_index("X_d_a", "k", k); - current_statement__ = 183; - context__.validate_dims("data initialization","X_d_a","double", - std::vector{static_cast(2), - static_cast(n), static_cast(k)}); - X_d_a = std::vector>(2, Eigen::Matrix(n, k)); - - - { - std::vector X_d_a_flat__; - current_statement__ = 183; - X_d_a_flat__ = context__.vals_r("X_d_a"); - current_statement__ = 183; - pos__ = 1; - current_statement__ = 183; - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - current_statement__ = 183; - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - current_statement__ = 183; - for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { - current_statement__ = 183; - assign(X_d_a, X_d_a_flat__[(pos__ - 1)], - "assigning variable X_d_a", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 183; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 184; - validate_non_negative_index("y_v_d", "n", n); - current_statement__ = 185; - context__.validate_dims("data initialization","y_v_d","double", - std::vector{static_cast(n)}); - y_v_d__ = Eigen::Matrix(n); - new (&y_v_d) Eigen::Map>(y_v_d__.data(), n); - - - { - std::vector y_v_d_flat__; - current_statement__ = 185; - y_v_d_flat__ = context__.vals_r("y_v_d"); - current_statement__ = 185; - pos__ = 1; - current_statement__ = 185; - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 185; - assign(y_v_d, y_v_d_flat__[(pos__ - 1)], - "assigning variable y_v_d", index_uni(sym1__)); - current_statement__ = 185; - pos__ = (pos__ + 1); - } - } - current_statement__ = 186; - validate_non_negative_index("X_rv_d", "n", n); - current_statement__ = 187; - context__.validate_dims("data initialization","X_rv_d","double", - std::vector{static_cast(n)}); - X_rv_d__ = Eigen::Matrix(n); - new (&X_rv_d) Eigen::Map>(X_rv_d__.data(), n); - - - { - std::vector X_rv_d_flat__; - current_statement__ = 187; - X_rv_d_flat__ = context__.vals_r("X_rv_d"); - current_statement__ = 187; - pos__ = 1; - current_statement__ = 187; - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - current_statement__ = 187; - assign(X_rv_d, X_rv_d_flat__[(pos__ - 1)], - "assigning variable X_rv_d", index_uni(sym1__)); - current_statement__ = 187; - pos__ = (pos__ + 1); - } - } - current_statement__ = 188; - validate_non_negative_index("y_vi_d", "n", n); - current_statement__ = 189; - context__.validate_dims("data initialization","y_vi_d","int", - std::vector{static_cast(n)}); - y_vi_d = std::vector(n, std::numeric_limits::min()); - - current_statement__ = 189; - y_vi_d = context__.vals_i("y_vi_d"); - current_statement__ = 190; - validate_non_negative_index("y2_vi_d", "n", n); - current_statement__ = 191; - context__.validate_dims("data initialization","y2_vi_d","int", - std::vector{static_cast(n)}); - y2_vi_d = std::vector(n, std::numeric_limits::min()); - - current_statement__ = 191; - y2_vi_d = context__.vals_i("y2_vi_d"); - current_statement__ = 192; - context__.validate_dims("data initialization","y_s_d","int", - std::vector{}); - y_s_d = std::numeric_limits::min(); - - current_statement__ = 192; - y_s_d = context__.vals_i("y_s_d")[(1 - 1)]; - current_statement__ = 193; - context__.validate_dims("data initialization","y_r_d","double", - std::vector{}); - y_r_d = std::numeric_limits::quiet_NaN(); - - current_statement__ = 193; - y_r_d = context__.vals_r("y_r_d")[(1 - 1)]; - current_statement__ = 194; - k_td = std::numeric_limits::min(); - - current_statement__ = 195; - n_td = std::numeric_limits::min(); - - current_statement__ = 196; - validate_non_negative_index("X_d_td", "n", n); - current_statement__ = 197; - validate_non_negative_index("X_d_td", "k", k); - current_statement__ = 198; - X_d_td__ = Eigen::Matrix(n, k); - new (&X_d_td) Eigen::Map>(X_d_td__.data(), n, k); - stan::math::fill(X_d_td, std::numeric_limits::quiet_NaN()); - - current_statement__ = 199; - validate_non_negative_index("y_v_d_td", "n", n); - current_statement__ = 200; - y_v_d_td__ = Eigen::Matrix(n); - new (&y_v_d_td) Eigen::Map>(y_v_d_td__.data(), n); - stan::math::fill(y_v_d_td, std::numeric_limits::quiet_NaN()); - - current_statement__ = 201; - validate_non_negative_index("X_rv_d_td", "n", n); - current_statement__ = 202; - X_rv_d_td__ = Eigen::Matrix(n); - new (&X_rv_d_td) Eigen::Map>(X_rv_d_td__.data(), n); - stan::math::fill(X_rv_d_td, std::numeric_limits::quiet_NaN()); - - current_statement__ = 203; - validate_non_negative_index("y_vi_d_td", "n", n); - current_statement__ = 204; - y_vi_d_td = std::vector(n, std::numeric_limits::min()); - - current_statement__ = 205; - validate_non_negative_index("y2_vi_d_td", "n", n); - current_statement__ = 206; - y2_vi_d_td = std::vector(n, std::numeric_limits::min()); - - current_statement__ = 207; - y_s_d_td = std::numeric_limits::min(); - - current_statement__ = 208; - y_r_d_td = std::numeric_limits::quiet_NaN(); - - current_statement__ = 194; - check_greater_or_equal(function__, "k_td", k_td, 1); - current_statement__ = 195; - check_greater_or_equal(function__, "n_td", n_td, 0); - current_statement__ = 209; - validate_non_negative_index("alpha_v", "k", k); - current_statement__ = 210; - validate_non_negative_index("beta", "k", k); - current_statement__ = 211; - validate_non_negative_index("cuts", "k", k); - current_statement__ = 212; - validate_non_negative_index("X_p", "n", n); - current_statement__ = 213; - validate_non_negative_index("X_p", "k", k); - current_statement__ = 214; - validate_non_negative_index("beta_m", "n", n); - current_statement__ = 215; - validate_non_negative_index("beta_m", "k", k); - current_statement__ = 216; - validate_non_negative_index("X_rv_p", "n", n); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - num_params_r__ = k + k + k + 1 + 1 + 1 + (n * k) + (n * k) + n; - - } - - 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__ = "optimize_glm_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - - try { - Eigen::Matrix alpha_v; - alpha_v = Eigen::Matrix(k); - stan::math::fill(alpha_v, DUMMY_VAR__); - - current_statement__ = 1; - alpha_v = in__.template read>(k); - Eigen::Matrix beta; - beta = Eigen::Matrix(k); - stan::math::fill(beta, DUMMY_VAR__); - - current_statement__ = 2; - beta = in__.template read>(k); - Eigen::Matrix cuts; - cuts = Eigen::Matrix(k); - stan::math::fill(cuts, DUMMY_VAR__); - - current_statement__ = 3; - cuts = in__.template read>(k); - local_scalar_t__ sigma; - sigma = DUMMY_VAR__; - - current_statement__ = 4; - sigma = in__.template read_constrain_lb( - 0, lp__); - local_scalar_t__ alpha; - alpha = DUMMY_VAR__; - - current_statement__ = 5; - alpha = in__.template read(); - local_scalar_t__ phi; - phi = DUMMY_VAR__; - - current_statement__ = 6; - phi = in__.template read(); - Eigen::Matrix X_p; - X_p = Eigen::Matrix(n, k); - stan::math::fill(X_p, DUMMY_VAR__); - - current_statement__ = 7; - X_p = in__.template read>(n, k); - Eigen::Matrix beta_m; - beta_m = Eigen::Matrix(n, k); - stan::math::fill(beta_m, DUMMY_VAR__); - - current_statement__ = 8; - beta_m = in__.template read>(n, - k); - Eigen::Matrix X_rv_p; - X_rv_p = Eigen::Matrix(n); - stan::math::fill(X_rv_p, DUMMY_VAR__); - - current_statement__ = 9; - X_rv_p = in__.template read>(n); - { - current_statement__ = 10; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d, X_d, alpha, beta, sigma)); - current_statement__ = 11; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d, X_d, alpha, beta, sigma)); - current_statement__ = 12; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d, X_p, alpha, beta, sigma)); - current_statement__ = 13; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d, X_p, alpha, beta, sigma)); - current_statement__ = 14; - lp_accum__.add( - normal_id_glm_lpdf(y_r_d, X_d, alpha, beta, beta)); - current_statement__ = 15; - lp_accum__.add( - normal_id_glm_lpdf(y_r_d, X_d, alpha, beta, beta)); - current_statement__ = 16; - lp_accum__.add( - normal_id_glm_lpdf(y_r_d, X_p, alpha, beta, beta)); - current_statement__ = 17; - lp_accum__.add( - normal_id_glm_lpdf(y_r_d, X_p, alpha, beta, beta)); - current_statement__ = 18; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d, X_rv_d, alpha, beta, beta)); - current_statement__ = 19; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d, X_rv_d, alpha, beta, beta)); - current_statement__ = 20; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d, X_rv_p, alpha, beta, beta)); - current_statement__ = 21; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d, X_rv_p, alpha, beta, beta)); - current_statement__ = 22; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d_td, X_d_td, alpha, beta, sigma)); - current_statement__ = 23; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d_td, X_d_td, alpha, beta, sigma)); - current_statement__ = 24; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d_td, X_p, alpha, beta, sigma)); - current_statement__ = 25; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d_td, X_p, alpha, beta, sigma)); - current_statement__ = 26; - lp_accum__.add( - normal_id_glm_lpdf(y_r_d_td, X_d_td, alpha, beta, beta)); - current_statement__ = 27; - lp_accum__.add( - normal_id_glm_lpdf(y_r_d_td, X_d_td, alpha, beta, beta)); - current_statement__ = 28; - lp_accum__.add( - normal_id_glm_lpdf(y_r_d_td, X_p, alpha, beta, beta)); - current_statement__ = 29; - lp_accum__.add( - normal_id_glm_lpdf(y_r_d_td, X_p, alpha, beta, beta)); - current_statement__ = 30; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d_td, X_rv_d_td, alpha, beta, beta)); - current_statement__ = 31; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d_td, X_rv_d_td, alpha, beta, - beta)); - current_statement__ = 32; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d_td, X_rv_p, alpha, beta, beta)); - current_statement__ = 33; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d_td, X_rv_p, alpha, beta, beta)); - current_statement__ = 34; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d, X_d, alpha, beta)); - current_statement__ = 35; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d, X_d, alpha, beta)); - current_statement__ = 36; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d, X_p, alpha, beta)); - current_statement__ = 37; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d, X_p, alpha, beta)); - current_statement__ = 38; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d, X_rv_d, alpha, beta)); - current_statement__ = 39; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d, X_rv_d, alpha, beta)); - current_statement__ = 40; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d, X_rv_p, alpha, beta)); - current_statement__ = 41; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d, X_rv_p, alpha, beta)); - current_statement__ = 42; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_s_d, X_d, alpha, beta)); - current_statement__ = 43; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_s_d, X_d, alpha, beta)); - current_statement__ = 44; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_s_d, X_p, alpha, beta)); - current_statement__ = 45; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_s_d, X_p, alpha, beta)); - current_statement__ = 46; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d_td, X_d_td, alpha, beta)); - current_statement__ = 47; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d_td, X_d_td, alpha, beta)); - current_statement__ = 48; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d_td, X_p, alpha, beta)); - current_statement__ = 49; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d_td, X_p, alpha, beta)); - current_statement__ = 50; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, beta)); - current_statement__ = 51; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, - beta)); - current_statement__ = 52; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d_td, X_rv_p, alpha, beta)); - current_statement__ = 53; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_vi_d_td, X_rv_p, alpha, beta)); - current_statement__ = 54; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_s_d_td, X_d_td, alpha, beta)); - current_statement__ = 55; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_s_d_td, X_d_td, alpha, beta)); - current_statement__ = 56; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_s_d_td, X_p, alpha, beta)); - current_statement__ = 57; - lp_accum__.add( - bernoulli_logit_glm_lpmf(y_s_d_td, X_p, alpha, beta)); - current_statement__ = 58; - lp_accum__.add(poisson_log_glm_lpmf(y_vi_d, X_d, alpha, beta)); - current_statement__ = 59; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d, X_d, alpha, beta)); - current_statement__ = 60; - lp_accum__.add(poisson_log_glm_lpmf(y_vi_d, X_p, alpha, beta)); - current_statement__ = 61; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d, X_p, alpha, beta)); - current_statement__ = 62; - lp_accum__.add(poisson_log_glm_lpmf(y_s_d, X_d, alpha, beta)); - current_statement__ = 63; - lp_accum__.add( - poisson_log_glm_lpmf(y_s_d, X_d, alpha, beta)); - current_statement__ = 64; - lp_accum__.add(poisson_log_glm_lpmf(y_s_d, X_p, alpha, beta)); - current_statement__ = 65; - lp_accum__.add( - poisson_log_glm_lpmf(y_s_d, X_p, alpha, beta)); - current_statement__ = 66; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d, X_rv_d, alpha, beta)); - current_statement__ = 67; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d, X_rv_d, alpha, beta)); - current_statement__ = 68; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d, X_rv_p, alpha, beta)); - current_statement__ = 69; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d, X_rv_p, alpha, beta)); - current_statement__ = 70; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d_td, X_d_td, alpha, beta)); - current_statement__ = 71; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d_td, X_d_td, alpha, beta)); - current_statement__ = 72; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d_td, X_p, alpha, beta)); - current_statement__ = 73; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d_td, X_p, alpha, beta)); - current_statement__ = 74; - lp_accum__.add( - poisson_log_glm_lpmf(y_s_d_td, X_d_td, alpha, beta)); - current_statement__ = 75; - lp_accum__.add( - poisson_log_glm_lpmf(y_s_d_td, X_d_td, alpha, beta)); - current_statement__ = 76; - lp_accum__.add( - poisson_log_glm_lpmf(y_s_d_td, X_p, alpha, beta)); - current_statement__ = 77; - lp_accum__.add( - poisson_log_glm_lpmf(y_s_d_td, X_p, alpha, beta)); - current_statement__ = 78; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, beta)); - current_statement__ = 79; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, beta)); - current_statement__ = 80; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d_td, X_rv_p, alpha, beta)); - current_statement__ = 81; - lp_accum__.add( - poisson_log_glm_lpmf(y_vi_d_td, X_rv_p, alpha, beta)); - current_statement__ = 82; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d, X_d, alpha, beta, phi)); - current_statement__ = 83; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d, X_d, alpha, beta, - phi)); - current_statement__ = 84; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d, X_p, alpha, beta, phi)); - current_statement__ = 85; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d, X_p, alpha, beta, - phi)); - current_statement__ = 86; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_s_d, X_d, alpha, beta, phi)); - current_statement__ = 87; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_s_d, X_d, alpha, beta, phi)); - current_statement__ = 88; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_s_d, X_p, alpha, beta, phi)); - current_statement__ = 89; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_s_d, X_p, alpha, beta, phi)); - current_statement__ = 90; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d, X_rv_d, alpha, beta, - phi)); - current_statement__ = 91; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d, X_rv_d, alpha, beta, - phi)); - current_statement__ = 92; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d, X_rv_p, alpha, beta, - phi)); - current_statement__ = 93; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d, X_rv_p, alpha, beta, - phi)); - current_statement__ = 94; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_d_td, alpha, beta, - phi)); - current_statement__ = 95; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_d_td, alpha, - beta, phi)); - current_statement__ = 96; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_p, alpha, beta, - phi)); - current_statement__ = 97; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_p, alpha, beta, - phi)); - current_statement__ = 98; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_s_d_td, X_d_td, alpha, beta, - phi)); - current_statement__ = 99; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_s_d_td, X_d_td, alpha, - beta, phi)); - current_statement__ = 100; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_s_d_td, X_p, alpha, beta, phi)); - current_statement__ = 101; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_s_d_td, X_p, alpha, beta, - phi)); - current_statement__ = 102; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, - beta, phi)); - current_statement__ = 103; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, - beta, phi)); - current_statement__ = 104; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_rv_p, alpha, beta, - phi)); - current_statement__ = 105; - lp_accum__.add( - neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_rv_p, alpha, - beta, phi)); - current_statement__ = 106; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_d, beta, cuts)); - current_statement__ = 107; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_d, beta, cuts)); - current_statement__ = 108; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_p, beta, cuts)); - current_statement__ = 109; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_p, beta, cuts)); - current_statement__ = 110; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d_td, X_d_td, beta, cuts)); - current_statement__ = 111; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d_td, X_d_td, beta, cuts)); - current_statement__ = 112; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d_td, X_p, beta, cuts)); - current_statement__ = 113; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d_td, X_p, beta, cuts)); - current_statement__ = 114; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_d, beta, cuts)); - current_statement__ = 115; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_d, beta, cuts)); - current_statement__ = 116; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_p, beta, cuts)); - current_statement__ = 117; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_p, beta, cuts)); - current_statement__ = 118; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d_td, X_d_td, beta, cuts)); - current_statement__ = 119; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d_td, X_d_td, beta, cuts)); - current_statement__ = 120; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d_td, X_p, beta, cuts)); - current_statement__ = 121; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d_td, X_p, beta, cuts)); - current_statement__ = 122; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_rv_d, beta, cuts)); - current_statement__ = 123; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_rv_d, beta, cuts)); - current_statement__ = 124; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_rv_p, beta, cuts)); - current_statement__ = 125; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_s_d, X_rv_p, beta, cuts)); - current_statement__ = 126; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d, X_d, beta, cuts)); - current_statement__ = 127; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d, X_d, beta, cuts)); - current_statement__ = 128; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d, X_p, beta, cuts)); - current_statement__ = 129; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d, X_p, beta, cuts)); - current_statement__ = 130; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d_td, X_d_td, beta, cuts)); - current_statement__ = 131; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d_td, X_d_td, beta, cuts)); - current_statement__ = 132; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d_td, X_p, beta, cuts)); - current_statement__ = 133; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d_td, X_p, beta, cuts)); - current_statement__ = 134; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d, X_rv_d, beta, cuts)); - current_statement__ = 135; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d, X_rv_d, beta, cuts)); - current_statement__ = 136; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d, X_rv_p, beta, cuts)); - current_statement__ = 137; - lp_accum__.add( - ordered_logistic_glm_lpmf(y_vi_d, X_rv_p, beta, cuts)); - current_statement__ = 138; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d, X_d, alpha_v, beta_m)); - current_statement__ = 139; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d, X_d, alpha_v, beta_m)); - current_statement__ = 140; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d, X_p, alpha_v, beta_m)); - current_statement__ = 141; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d, X_p, alpha_v, beta_m)); - current_statement__ = 142; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d_td, X_d_td, alpha_v, - beta_m)); - current_statement__ = 143; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d_td, X_d_td, alpha_v, - beta_m)); - current_statement__ = 144; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d_td, X_p, alpha_v, beta_m)); - current_statement__ = 145; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d_td, X_p, alpha_v, - beta_m)); - current_statement__ = 146; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d, X_rv_d, alpha_v, beta_m)); - current_statement__ = 147; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d, X_rv_d, alpha_v, - beta_m)); - current_statement__ = 148; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d, X_rv_p, alpha_v, beta_m)); - current_statement__ = 149; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d, X_rv_p, alpha_v, - beta_m)); - current_statement__ = 150; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d_td, X_rv_d_td, alpha_v, - beta_m)); - current_statement__ = 151; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d_td, X_rv_d_td, alpha_v, - beta_m)); - current_statement__ = 152; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d_td, X_rv_p, alpha_v, - beta_m)); - current_statement__ = 153; - lp_accum__.add( - categorical_logit_glm_lpmf(y_s_d_td, X_rv_p, alpha_v, - beta_m)); - current_statement__ = 154; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d, X_d, alpha_v, beta_m)); - current_statement__ = 155; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d, X_d, alpha_v, beta_m)); + } + current_statement__ = 704; + return 0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +std::vector> +foo_3(const T0__& t, const int& n, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 706; + return rep_array(t, n); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +foo_lp(const T0__& x, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 708; + return (x + get_lp(lp__, lp_accum__)); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +void +foo_4(const T0__& x, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 710; + std::stringstream errmsg_stream__; + errmsg_stream__ << "user-specified rejection"; + errmsg_stream__ << x; + throw std::domain_error(errmsg_stream__.str()); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +relative_diff(const T0__& x, const T1__& y, const T2__& max_, + const T3__& min_, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ abs_diff; + abs_diff = DUMMY_VAR__; + + local_scalar_t__ avg_scale; + avg_scale = DUMMY_VAR__; + + current_statement__ = 714; + abs_diff = stan::math::fabs((x - y)); + current_statement__ = 715; + avg_scale = ((stan::math::fabs(x) + stan::math::fabs(y)) / 2); + current_statement__ = 717; + if (logical_gt((abs_diff / avg_scale), max_)) { + current_statement__ = 716; + std::stringstream errmsg_stream__; + errmsg_stream__ << "user-specified rejection, difference above "; + errmsg_stream__ << max_; + errmsg_stream__ << " x:"; + errmsg_stream__ << x; + errmsg_stream__ << " y:"; + errmsg_stream__ << y; + throw std::domain_error(errmsg_stream__.str()); + } + current_statement__ = 719; + if (logical_lt((abs_diff / avg_scale), min_)) { + current_statement__ = 718; + std::stringstream errmsg_stream__; + errmsg_stream__ << "user-specified rejection, difference below "; + errmsg_stream__ << min_; + errmsg_stream__ << " x:"; + errmsg_stream__ << x; + errmsg_stream__ << " y:"; + errmsg_stream__ << y; + throw std::domain_error(errmsg_stream__.str()); + } + current_statement__ = 720; + return (abs_diff / avg_scale); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +Eigen::Matrix, +stan::value_type_t>, -1, 1> +foo_5(const T0__& shared_params_arg__, const T1__& job_params_arg__, + const std::vector& data_r, const std::vector& data_i, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t>; + int current_statement__ = 0; + const auto& shared_params = to_ref(shared_params_arg__); + const auto& job_params = to_ref(job_params_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 722; + return (Eigen::Matrix(3) << 1, 2, 3).finished(); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +foo_five_args(const T0__& x1, const T1__& x2, const T2__& x3, const T3__& x4, + const T4__& x5, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 724; + return x1; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t> +foo_five_args_lp(const T0__& x1, const T1__& x2, const T2__& x3, + const T3__& x4, const T4__& x5, const T5__& x6, + T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 726; + return x1; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +Eigen::Matrix>, -1, -1> +covsqrt2corsqrt(const T0__& mat_arg__, const int& invert, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + const auto& mat = to_ref(mat_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 728; + validate_non_negative_index("o", "rows(mat)", rows(mat)); + current_statement__ = 729; + validate_non_negative_index("o", "cols(mat)", cols(mat)); + Eigen::Matrix o; + o = Eigen::Matrix(rows(mat), cols(mat)); + stan::math::fill(o, DUMMY_VAR__); + + current_statement__ = 731; + assign(o, mat, "assigning variable o"); + current_statement__ = 732; + assign(o, stan::model::deep_copy(rvalue(o, "o", index_uni(2))), + "assigning variable o", index_uni(1)); + current_statement__ = 733; + assign(o, stan::model::deep_copy(rvalue(o, "o", index_min_max(1, 2))), + "assigning variable o", index_min_max(3, 4)); + current_statement__ = 734; + return o; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +void +f0(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 736; + if (pstream__) { + stan_print(pstream__, "hi"); + stan_print(pstream__, "\n"); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +int +f1(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 738; + return a1; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +std::vector +f2(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 740; + return a2; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +std::vector> +f3(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 742; + return a3; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t, +T7__, stan::promote_args_t, T10__, +T11__>> +f4(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 744; + return a4; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +std::vector, +T7__, stan::promote_args_t, T10__, +T11__>>> +f5(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 746; + return a5; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +std::vector, +T7__, stan::promote_args_t, T10__, +T11__>>>> +f6(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 748; + return a6; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +Eigen::Matrix, +T7__, stan::promote_args_t, T10__, +T11__>>, -1, 1> +f7(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 750; + return a7; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +std::vector, +T7__, stan::promote_args_t, T10__, +T11__>>, -1, 1>> +f8(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 752; + return a8; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +std::vector, +T7__, stan::promote_args_t, T10__, +T11__>>, -1, 1>>> +f9(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 754; + return a9; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +Eigen::Matrix, +T7__, stan::promote_args_t, T10__, +T11__>>, -1, -1> +f10(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 756; + return a10; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +std::vector, +T7__, stan::promote_args_t, T10__, +T11__>>, -1, -1>> +f11(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 758; + return a11; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +std::vector, +T7__, stan::promote_args_t, T10__, +T11__>>, -1, -1>>> +f12(const int& a1, const std::vector& a2, + const std::vector>& a3, const T3__& a4, + const std::vector& a5, const std::vector>& a6, + const T6__& a7_arg__, const std::vector>& a8, + const std::vector>>& a9, + const T9__& a10_arg__, + const std::vector>& a11, + const std::vector>>& a12, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T7__, stan::promote_args_t, + T10__, + T11__>>; + int current_statement__ = 0; + const auto& a7 = to_ref(a7_arg__); + const auto& a10 = to_ref(a10_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 760; + return a12; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +void +foo_6(std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int a; + a = std::numeric_limits::min(); + + local_scalar_t__ b; + b = DUMMY_VAR__; + + std::vector> c; + c = std::vector>(20, std::vector(30, DUMMY_VAR__)); + + + std::vector>> ar_mat; + ar_mat = std::vector>>(60, std::vector>(70, Eigen::Matrix(40, 50))); + stan::math::fill(ar_mat, DUMMY_VAR__); + + current_statement__ = 766; + assign(ar_mat, b, + "assigning variable ar_mat", index_uni(1), index_uni(1), index_uni(1), + index_uni(1)); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +Eigen::Matrix +matfoo(std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 768; + return stan::math::to_matrix(std::vector>{ + (Eigen::Matrix(10) << 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10).finished(), (Eigen::Matrix(10) << 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10).finished(), (Eigen::Matrix(10) << 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10).finished()}); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +Eigen::Matrix +vecfoo(std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 770; + return (Eigen::Matrix(10) << 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10).finished(); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +Eigen::Matrix, -1, 1> +vecmufoo(const T0__& mu, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + Eigen::Matrix l; + l = Eigen::Matrix(10); + stan::math::fill(l, DUMMY_VAR__); + + current_statement__ = 772; + assign(l, multiply(mu, vecfoo(pstream__)), "assigning variable l"); + current_statement__ = 773; + return l; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +Eigen::Matrix, -1, 1> +vecmubar(const T0__& mu, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + Eigen::Matrix l; + l = Eigen::Matrix(10); + stan::math::fill(l, DUMMY_VAR__); + + current_statement__ = 775; + assign(l, + multiply(mu, (Eigen::Matrix(10) << 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10).finished()), "assigning variable l"); + current_statement__ = 776; + return rvalue(l, "l", index_multi(std::vector{1, 2, 3, 4, 5})); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +Eigen::Matrix, stan::value_type_t, +T2__>, -1, 1> +algebra_system(const T0__& x_arg__, const T1__& y_arg__, + const std::vector& dat, const std::vector& dat_int, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t, + T2__>; + int current_statement__ = 0; + const auto& x = to_ref(x_arg__); + const auto& y = to_ref(y_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + Eigen::Matrix f_x; + f_x = Eigen::Matrix(2); + stan::math::fill(f_x, DUMMY_VAR__); + + current_statement__ = 779; + assign(f_x, + (rvalue(x, "x", index_uni(1)) - rvalue(y, "y", index_uni(1))), + "assigning variable f_x", index_uni(1)); + current_statement__ = 780; + assign(f_x, + (rvalue(x, "x", index_uni(2)) - rvalue(y, "y", index_uni(2))), + "assigning variable f_x", index_uni(2)); + current_statement__ = 781; + return f_x; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +Eigen::Matrix, +stan::value_type_t>, -1, 1> +binomialf(const T0__& phi_arg__, const T1__& theta_arg__, + const std::vector& x_r, const std::vector& x_i, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t>; + int current_statement__ = 0; + const auto& phi = to_ref(phi_arg__); + const auto& theta = to_ref(theta_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + Eigen::Matrix lpmf; + lpmf = Eigen::Matrix(1); + stan::math::fill(lpmf, DUMMY_VAR__); + + current_statement__ = 784; + assign(lpmf, 0.0, "assigning variable lpmf", index_uni(1)); + current_statement__ = 785; + return lpmf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class mother_model final : public model_base_crtp { + + private: + int N; + int M; + int K; + std::vector d_int_1d_ar; + std::vector>> d_int_3d_ar; + double J; + std::vector d_real_1d_ar; + std::vector>> d_real_3d_ar; + Eigen::Matrix d_vec__; + std::vector> d_1d_vec; + std::vector>>> d_3d_vec; + Eigen::Matrix d_row_vec__; + std::vector> d_1d_row_vec; + std::vector>>> d_3d_row_vec; + std::vector>> d_ar_mat; + Eigen::Matrix d_simplex__; + std::vector> d_1d_simplex; + std::vector>>> d_3d_simplex; + Eigen::Matrix d_cfcov_54__; + Eigen::Matrix d_cfcov_33__; + std::vector> d_cfcov_33_ar; + int d_int; + std::vector d_int_array; + std::vector> d_int_array_2d; + std::vector>> d_int_array_3d; + double d_real; + std::vector d_real_array; + std::vector> d_real_array_2d; + std::vector>> d_real_array_3d; + Eigen::Matrix d_matrix__; + std::vector> d_matrix_array; + std::vector>> d_matrix_array_2d; + std::vector>>> d_matrix_array_3d; + Eigen::Matrix d_vector__; + std::vector> d_vector_array; + std::vector>> d_vector_array_2d; + std::vector>>> d_vector_array_3d; + Eigen::Matrix d_row_vector__; + std::vector> d_row_vector_array; + std::vector>> d_row_vector_array_2d; + std::vector>>> d_row_vector_array_3d; + int td_int; + std::vector td_1d; + std::vector td_1dk; + int td_a; + double td_b; + double td_c; + std::vector>> td_ar_mat; + Eigen::Matrix td_simplex__; + std::vector> td_1d_simplex; + std::vector>>> td_3d_simplex; + Eigen::Matrix td_cfcov_54__; + Eigen::Matrix td_cfcov_33__; + Eigen::Matrix x__; + Eigen::Matrix y__; + std::vector dat; + std::vector dat_int; + std::vector> x_r; + std::vector> x_i; + std::vector> arr_mul_ind; + std::vector x_mul_ind; + double transformed_data_real; + std::vector transformed_data_real_array; + std::vector> transformed_data_real_array_2d; + std::vector>> transformed_data_real_array_3d; + Eigen::Matrix transformed_data_matrix__; + std::vector> transformed_data_matrix_array; + std::vector>> transformed_data_matrix_array_2d; + std::vector>>> transformed_data_matrix_array_3d; + Eigen::Matrix transformed_data_vector__; + std::vector> transformed_data_vector_array; + std::vector>> transformed_data_vector_array_2d; + std::vector>>> transformed_data_vector_array_3d; + Eigen::Matrix transformed_data_row_vector__; + std::vector> transformed_data_row_vector_array; + std::vector>> transformed_data_row_vector_array_2d; + std::vector>>> transformed_data_row_vector_array_3d; + Eigen::Map> d_vec{nullptr, 0}; + Eigen::Map> d_row_vec{nullptr, 0}; + Eigen::Map> d_simplex{nullptr, 0}; + Eigen::Map> d_cfcov_54{nullptr, 0, 0}; + Eigen::Map> d_cfcov_33{nullptr, 0, 0}; + Eigen::Map> d_matrix{nullptr, 0, 0}; + Eigen::Map> d_vector{nullptr, 0}; + Eigen::Map> d_row_vector{nullptr, 0}; + Eigen::Map> td_simplex{nullptr, 0}; + Eigen::Map> td_cfcov_54{nullptr, 0, 0}; + Eigen::Map> td_cfcov_33{nullptr, 0, 0}; + Eigen::Map> x{nullptr, 0}; + Eigen::Map> y{nullptr, 0}; + Eigen::Map> transformed_data_matrix{nullptr, 0, 0}; + Eigen::Map> transformed_data_vector{nullptr, 0}; + Eigen::Map> transformed_data_row_vector{nullptr, 0}; + + public: + ~mother_model() { } + + inline std::string model_name() const final { return "mother_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + mother_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "mother_model_namespace::mother_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 190; + context__.validate_dims("data initialization","N","int", + std::vector{}); + N = std::numeric_limits::min(); + + current_statement__ = 190; + N = context__.vals_i("N")[(1 - 1)]; + current_statement__ = 190; + check_greater_or_equal(function__, "N", N, 0); + current_statement__ = 191; + context__.validate_dims("data initialization","M","int", + std::vector{}); + M = std::numeric_limits::min(); + + current_statement__ = 191; + M = context__.vals_i("M")[(1 - 1)]; + current_statement__ = 191; + check_greater_or_equal(function__, "M", M, 0); + current_statement__ = 192; + context__.validate_dims("data initialization","K","int", + std::vector{}); + K = std::numeric_limits::min(); + + current_statement__ = 192; + K = context__.vals_i("K")[(1 - 1)]; + current_statement__ = 192; + check_greater_or_equal(function__, "K", K, 0); + current_statement__ = 192; + check_less_or_equal(function__, "K", K, (N * M)); + current_statement__ = 193; + validate_non_negative_index("d_int_1d_ar", "N", N); + current_statement__ = 194; + context__.validate_dims("data initialization","d_int_1d_ar","int", + std::vector{static_cast(N)}); + d_int_1d_ar = std::vector(N, std::numeric_limits::min()); + + current_statement__ = 194; + d_int_1d_ar = context__.vals_i("d_int_1d_ar"); + current_statement__ = 194; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 194; + check_less_or_equal(function__, "d_int_1d_ar[sym1__]", + d_int_1d_ar[(sym1__ - 1)], N); + } + current_statement__ = 195; + validate_non_negative_index("d_int_3d_ar", "N", N); + current_statement__ = 196; + validate_non_negative_index("d_int_3d_ar", "M", M); + current_statement__ = 197; + validate_non_negative_index("d_int_3d_ar", "K", K); + current_statement__ = 198; + context__.validate_dims("data initialization","d_int_3d_ar","int", + std::vector{static_cast(N), + static_cast(M), static_cast(K)}); + d_int_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::min()))); + + + { + std::vector d_int_3d_ar_flat__; + current_statement__ = 198; + d_int_3d_ar_flat__ = context__.vals_i("d_int_3d_ar"); + current_statement__ = 198; + pos__ = 1; + current_statement__ = 198; + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + current_statement__ = 198; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 198; + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + current_statement__ = 198; + assign(d_int_3d_ar, d_int_3d_ar_flat__[(pos__ - 1)], + "assigning variable d_int_3d_ar", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 198; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 198; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 198; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 198; + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + current_statement__ = 198; + check_less_or_equal(function__, + "d_int_3d_ar[sym1__, sym2__, sym3__]", + d_int_3d_ar[(sym1__ - 1)][(sym2__ - 1)][ + (sym3__ - 1)], N); + } + } + } + current_statement__ = 199; + context__.validate_dims("data initialization","J","double", + std::vector{}); + J = std::numeric_limits::quiet_NaN(); + + current_statement__ = 199; + J = context__.vals_r("J")[(1 - 1)]; + current_statement__ = 199; + check_greater_or_equal(function__, "J", J, -2.0); + current_statement__ = 199; + check_less_or_equal(function__, "J", J, 2.0); + current_statement__ = 200; + validate_non_negative_index("d_real_1d_ar", "N", N); + current_statement__ = 201; + context__.validate_dims("data initialization","d_real_1d_ar","double", + std::vector{static_cast(N)}); + d_real_1d_ar = std::vector(N, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 201; + d_real_1d_ar = context__.vals_r("d_real_1d_ar"); + current_statement__ = 202; + validate_non_negative_index("d_real_3d_ar", "N", N); + current_statement__ = 203; + validate_non_negative_index("d_real_3d_ar", "M", M); + current_statement__ = 204; + validate_non_negative_index("d_real_3d_ar", "K", K); + current_statement__ = 205; + context__.validate_dims("data initialization","d_real_3d_ar","double", + std::vector{static_cast(N), + static_cast(M), static_cast(K)}); + d_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); + + + { + std::vector d_real_3d_ar_flat__; + current_statement__ = 205; + d_real_3d_ar_flat__ = context__.vals_r("d_real_3d_ar"); + current_statement__ = 205; + pos__ = 1; + current_statement__ = 205; + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + current_statement__ = 205; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 205; + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + current_statement__ = 205; + assign(d_real_3d_ar, d_real_3d_ar_flat__[(pos__ - 1)], + "assigning variable d_real_3d_ar", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 205; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 206; + validate_non_negative_index("d_vec", "N", N); + current_statement__ = 207; + context__.validate_dims("data initialization","d_vec","double", + std::vector{static_cast(N)}); + d_vec__ = Eigen::Matrix(N); + new (&d_vec) Eigen::Map>(d_vec__.data(), N); + + + { + std::vector d_vec_flat__; + current_statement__ = 207; + d_vec_flat__ = context__.vals_r("d_vec"); + current_statement__ = 207; + pos__ = 1; + current_statement__ = 207; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 207; + assign(d_vec, d_vec_flat__[(pos__ - 1)], + "assigning variable d_vec", index_uni(sym1__)); + current_statement__ = 207; + pos__ = (pos__ + 1); + } + } + current_statement__ = 208; + validate_non_negative_index("d_1d_vec", "N", N); + current_statement__ = 209; + validate_non_negative_index("d_1d_vec", "N", N); + current_statement__ = 210; + context__.validate_dims("data initialization","d_1d_vec","double", + std::vector{static_cast(N), + static_cast(N)}); + d_1d_vec = std::vector>(N, Eigen::Matrix(N)); + + + { + std::vector d_1d_vec_flat__; + current_statement__ = 210; + d_1d_vec_flat__ = context__.vals_r("d_1d_vec"); + current_statement__ = 210; + pos__ = 1; + current_statement__ = 210; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 210; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 210; + assign(d_1d_vec, d_1d_vec_flat__[(pos__ - 1)], + "assigning variable d_1d_vec", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 210; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 211; + validate_non_negative_index("d_3d_vec", "N", N); + current_statement__ = 212; + validate_non_negative_index("d_3d_vec", "M", M); + current_statement__ = 213; + validate_non_negative_index("d_3d_vec", "K", K); + current_statement__ = 214; + validate_non_negative_index("d_3d_vec", "N", N); + current_statement__ = 215; + context__.validate_dims("data initialization","d_3d_vec","double", + std::vector{static_cast(N), + static_cast(M), static_cast(K), + static_cast(N)}); + d_3d_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + + + { + std::vector d_3d_vec_flat__; + current_statement__ = 215; + d_3d_vec_flat__ = context__.vals_r("d_3d_vec"); + current_statement__ = 215; + pos__ = 1; + current_statement__ = 215; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 215; + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + current_statement__ = 215; + for (int sym3__ = 1; sym3__ <= M; ++sym3__) { + current_statement__ = 215; + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + current_statement__ = 215; + assign(d_3d_vec, d_3d_vec_flat__[(pos__ - 1)], + "assigning variable d_3d_vec", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 215; + pos__ = (pos__ + 1); + } + } + } + } + } + current_statement__ = 216; + validate_non_negative_index("d_row_vec", "N", N); + current_statement__ = 217; + context__.validate_dims("data initialization","d_row_vec","double", + std::vector{static_cast(N)}); + d_row_vec__ = Eigen::Matrix(N); + new (&d_row_vec) Eigen::Map>(d_row_vec__.data(), N); + + + { + std::vector d_row_vec_flat__; + current_statement__ = 217; + d_row_vec_flat__ = context__.vals_r("d_row_vec"); + current_statement__ = 217; + pos__ = 1; + current_statement__ = 217; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 217; + assign(d_row_vec, d_row_vec_flat__[(pos__ - 1)], + "assigning variable d_row_vec", index_uni(sym1__)); + current_statement__ = 217; + pos__ = (pos__ + 1); + } + } + current_statement__ = 218; + validate_non_negative_index("d_1d_row_vec", "N", N); + current_statement__ = 219; + validate_non_negative_index("d_1d_row_vec", "N", N); + current_statement__ = 220; + context__.validate_dims("data initialization","d_1d_row_vec","double", + std::vector{static_cast(N), + static_cast(N)}); + d_1d_row_vec = std::vector>(N, Eigen::Matrix(N)); + + + { + std::vector d_1d_row_vec_flat__; + current_statement__ = 220; + d_1d_row_vec_flat__ = context__.vals_r("d_1d_row_vec"); + current_statement__ = 220; + pos__ = 1; + current_statement__ = 220; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 220; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 220; + assign(d_1d_row_vec, d_1d_row_vec_flat__[(pos__ - 1)], + "assigning variable d_1d_row_vec", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 220; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 221; + validate_non_negative_index("d_3d_row_vec", "N", N); + current_statement__ = 222; + validate_non_negative_index("d_3d_row_vec", "M", M); + current_statement__ = 223; + validate_non_negative_index("d_3d_row_vec", "K", K); + current_statement__ = 224; + validate_non_negative_index("d_3d_row_vec", "N", N); + current_statement__ = 225; + context__.validate_dims("data initialization","d_3d_row_vec","double", + std::vector{static_cast(N), + static_cast(M), static_cast(K), + static_cast(N)}); + d_3d_row_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + + + { + std::vector d_3d_row_vec_flat__; + current_statement__ = 225; + d_3d_row_vec_flat__ = context__.vals_r("d_3d_row_vec"); + current_statement__ = 225; + pos__ = 1; + current_statement__ = 225; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 225; + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + current_statement__ = 225; + for (int sym3__ = 1; sym3__ <= M; ++sym3__) { + current_statement__ = 225; + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + current_statement__ = 225; + assign(d_3d_row_vec, d_3d_row_vec_flat__[(pos__ - 1)], + "assigning variable d_3d_row_vec", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 225; + pos__ = (pos__ + 1); + } + } + } + } + } + current_statement__ = 226; + context__.validate_dims("data initialization","d_ar_mat","double", + std::vector{static_cast(4), + static_cast(5), static_cast(2), + static_cast(3)}); + d_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); + + + { + std::vector d_ar_mat_flat__; + current_statement__ = 226; + d_ar_mat_flat__ = context__.vals_r("d_ar_mat"); + current_statement__ = 226; + pos__ = 1; + current_statement__ = 226; + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + current_statement__ = 226; + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + current_statement__ = 226; + for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { + current_statement__ = 226; + for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { + current_statement__ = 226; + assign(d_ar_mat, d_ar_mat_flat__[(pos__ - 1)], + "assigning variable d_ar_mat", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 226; + pos__ = (pos__ + 1); + } + } + } + } + } + current_statement__ = 226; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 226; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 226; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 226; + for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { + current_statement__ = 226; + check_greater_or_equal(function__, + "d_ar_mat[sym1__, sym2__, sym3__, sym4__]", + rvalue(d_ar_mat, "d_ar_mat", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__), index_uni(sym4__)), + 0); + } + } + } + } + current_statement__ = 226; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 226; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 226; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 226; + for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { + current_statement__ = 226; + check_less_or_equal(function__, + "d_ar_mat[sym1__, sym2__, sym3__, sym4__]", + rvalue(d_ar_mat, "d_ar_mat", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__), index_uni(sym4__)), + 1); + } + } + } + } + current_statement__ = 227; + validate_non_negative_index("d_simplex", "N", N); + current_statement__ = 228; + context__.validate_dims("data initialization","d_simplex","double", + std::vector{static_cast(N)}); + d_simplex__ = Eigen::Matrix(N); + new (&d_simplex) Eigen::Map>(d_simplex__.data(), N); + + + { + std::vector d_simplex_flat__; + current_statement__ = 228; + d_simplex_flat__ = context__.vals_r("d_simplex"); + current_statement__ = 228; + pos__ = 1; + current_statement__ = 228; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 228; + assign(d_simplex, d_simplex_flat__[(pos__ - 1)], + "assigning variable d_simplex", index_uni(sym1__)); + current_statement__ = 228; + pos__ = (pos__ + 1); + } + } + current_statement__ = 228; + check_simplex(function__, "d_simplex", d_simplex); + current_statement__ = 229; + validate_non_negative_index("d_1d_simplex", "N", N); + current_statement__ = 230; + validate_non_negative_index("d_1d_simplex", "N", N); + current_statement__ = 231; + context__.validate_dims("data initialization","d_1d_simplex","double", + std::vector{static_cast(N), + static_cast(N)}); + d_1d_simplex = std::vector>(N, Eigen::Matrix(N)); + + + { + std::vector d_1d_simplex_flat__; + current_statement__ = 231; + d_1d_simplex_flat__ = context__.vals_r("d_1d_simplex"); + current_statement__ = 231; + pos__ = 1; + current_statement__ = 231; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 231; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 231; + assign(d_1d_simplex, d_1d_simplex_flat__[(pos__ - 1)], + "assigning variable d_1d_simplex", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 231; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 231; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 231; + check_simplex(function__, "d_1d_simplex[sym1__]", + d_1d_simplex[(sym1__ - 1)]); + } + current_statement__ = 232; + validate_non_negative_index("d_3d_simplex", "N", N); + current_statement__ = 233; + validate_non_negative_index("d_3d_simplex", "M", M); + current_statement__ = 234; + validate_non_negative_index("d_3d_simplex", "K", K); + current_statement__ = 235; + validate_non_negative_index("d_3d_simplex", "N", N); + current_statement__ = 236; + context__.validate_dims("data initialization","d_3d_simplex","double", + std::vector{static_cast(N), + static_cast(M), static_cast(K), + static_cast(N)}); + d_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + + + { + std::vector d_3d_simplex_flat__; + current_statement__ = 236; + d_3d_simplex_flat__ = context__.vals_r("d_3d_simplex"); + current_statement__ = 236; + pos__ = 1; + current_statement__ = 236; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 236; + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + current_statement__ = 236; + for (int sym3__ = 1; sym3__ <= M; ++sym3__) { + current_statement__ = 236; + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + current_statement__ = 236; + assign(d_3d_simplex, d_3d_simplex_flat__[(pos__ - 1)], + "assigning variable d_3d_simplex", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 236; + pos__ = (pos__ + 1); + } + } + } + } + } + current_statement__ = 236; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 236; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 236; + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + current_statement__ = 236; + check_simplex(function__, "d_3d_simplex[sym1__, sym2__, sym3__]", + d_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - + 1)]); + } + } + } + current_statement__ = 237; + context__.validate_dims("data initialization","d_cfcov_54","double", + std::vector{static_cast(5), + static_cast(4)}); + d_cfcov_54__ = Eigen::Matrix(5, 4); + new (&d_cfcov_54) Eigen::Map>(d_cfcov_54__.data(), 5, 4); + + + { + std::vector d_cfcov_54_flat__; + current_statement__ = 237; + d_cfcov_54_flat__ = context__.vals_r("d_cfcov_54"); + current_statement__ = 237; + pos__ = 1; + current_statement__ = 237; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 237; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 237; + assign(d_cfcov_54, d_cfcov_54_flat__[(pos__ - 1)], + "assigning variable d_cfcov_54", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 237; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 237; + check_cholesky_factor(function__, "d_cfcov_54", d_cfcov_54); + current_statement__ = 238; + context__.validate_dims("data initialization","d_cfcov_33","double", + std::vector{static_cast(3), + static_cast(3)}); + d_cfcov_33__ = Eigen::Matrix(3, 3); + new (&d_cfcov_33) Eigen::Map>(d_cfcov_33__.data(), 3, 3); + + + { + std::vector d_cfcov_33_flat__; + current_statement__ = 238; + d_cfcov_33_flat__ = context__.vals_r("d_cfcov_33"); + current_statement__ = 238; + pos__ = 1; + current_statement__ = 238; + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + current_statement__ = 238; + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + current_statement__ = 238; + assign(d_cfcov_33, d_cfcov_33_flat__[(pos__ - 1)], + "assigning variable d_cfcov_33", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 238; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 238; + check_cholesky_factor(function__, "d_cfcov_33", d_cfcov_33); + current_statement__ = 239; + validate_non_negative_index("d_cfcov_33_ar", "K", K); + current_statement__ = 240; + context__.validate_dims("data initialization","d_cfcov_33_ar","double", + std::vector{static_cast(K), + static_cast(3), static_cast(3)}); + d_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); + + + { + std::vector d_cfcov_33_ar_flat__; + current_statement__ = 240; + d_cfcov_33_ar_flat__ = context__.vals_r("d_cfcov_33_ar"); + current_statement__ = 240; + pos__ = 1; + current_statement__ = 240; + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + current_statement__ = 240; + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + current_statement__ = 240; + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + current_statement__ = 240; + assign(d_cfcov_33_ar, d_cfcov_33_ar_flat__[(pos__ - 1)], + "assigning variable d_cfcov_33_ar", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 240; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 240; + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + current_statement__ = 240; + check_cholesky_factor(function__, "d_cfcov_33_ar[sym1__]", + d_cfcov_33_ar[(sym1__ - 1)]); + } + current_statement__ = 241; + context__.validate_dims("data initialization","d_int","int", + std::vector{}); + d_int = std::numeric_limits::min(); + + current_statement__ = 241; + d_int = context__.vals_i("d_int")[(1 - 1)]; + current_statement__ = 242; + validate_non_negative_index("d_int_array", "d_int", d_int); + current_statement__ = 243; + context__.validate_dims("data initialization","d_int_array","int", + std::vector{static_cast(d_int)}); + d_int_array = std::vector(d_int, std::numeric_limits::min()); + + current_statement__ = 243; + d_int_array = context__.vals_i("d_int_array"); + current_statement__ = 244; + validate_non_negative_index("d_int_array_2d", "d_int", d_int); + current_statement__ = 245; + context__.validate_dims("data initialization","d_int_array_2d","int", + std::vector{static_cast(d_int), + static_cast(2)}); + d_int_array_2d = std::vector>(d_int, std::vector(2, std::numeric_limits::min())); + + + { + std::vector d_int_array_2d_flat__; + current_statement__ = 245; + d_int_array_2d_flat__ = context__.vals_i("d_int_array_2d"); + current_statement__ = 245; + pos__ = 1; + current_statement__ = 245; + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + current_statement__ = 245; + for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { + current_statement__ = 245; + assign(d_int_array_2d, d_int_array_2d_flat__[(pos__ - 1)], + "assigning variable d_int_array_2d", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 245; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 246; + validate_non_negative_index("d_int_array_3d", "d_int", d_int); + current_statement__ = 247; + context__.validate_dims("data initialization","d_int_array_3d","int", + std::vector{static_cast(d_int), + static_cast(2), static_cast(3)}); + d_int_array_3d = std::vector>>(d_int, std::vector>(2, std::vector(3, std::numeric_limits::min()))); + + + { + std::vector d_int_array_3d_flat__; + current_statement__ = 247; + d_int_array_3d_flat__ = context__.vals_i("d_int_array_3d"); + current_statement__ = 247; + pos__ = 1; + current_statement__ = 247; + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + current_statement__ = 247; + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + current_statement__ = 247; + for (int sym3__ = 1; sym3__ <= d_int; ++sym3__) { + current_statement__ = 247; + assign(d_int_array_3d, d_int_array_3d_flat__[(pos__ - 1)], + "assigning variable d_int_array_3d", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 247; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 248; + context__.validate_dims("data initialization","d_real","double", + std::vector{}); + d_real = std::numeric_limits::quiet_NaN(); + + current_statement__ = 248; + d_real = context__.vals_r("d_real")[(1 - 1)]; + current_statement__ = 249; + validate_non_negative_index("d_real_array", "d_int", d_int); + current_statement__ = 250; + context__.validate_dims("data initialization","d_real_array","double", + std::vector{static_cast(d_int)}); + d_real_array = std::vector(d_int, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 250; + d_real_array = context__.vals_r("d_real_array"); + current_statement__ = 251; + validate_non_negative_index("d_real_array_2d", "d_int", d_int); + current_statement__ = 252; + context__.validate_dims("data initialization","d_real_array_2d", + "double", + std::vector{static_cast(d_int), + static_cast(2)}); + d_real_array_2d = std::vector>(d_int, std::vector(2, std::numeric_limits::quiet_NaN())); + + + { + std::vector d_real_array_2d_flat__; + current_statement__ = 252; + d_real_array_2d_flat__ = context__.vals_r("d_real_array_2d"); + current_statement__ = 252; + pos__ = 1; + current_statement__ = 252; + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + current_statement__ = 252; + for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { + current_statement__ = 252; + assign(d_real_array_2d, d_real_array_2d_flat__[(pos__ - 1)], + "assigning variable d_real_array_2d", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 252; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 253; + validate_non_negative_index("d_real_array_3d", "d_int", d_int); + current_statement__ = 254; + context__.validate_dims("data initialization","d_real_array_3d", + "double", + std::vector{static_cast(d_int), + static_cast(2), static_cast(3)}); + d_real_array_3d = std::vector>>(d_int, std::vector>(2, std::vector(3, std::numeric_limits::quiet_NaN()))); + + + { + std::vector d_real_array_3d_flat__; + current_statement__ = 254; + d_real_array_3d_flat__ = context__.vals_r("d_real_array_3d"); + current_statement__ = 254; + pos__ = 1; + current_statement__ = 254; + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + current_statement__ = 254; + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + current_statement__ = 254; + for (int sym3__ = 1; sym3__ <= d_int; ++sym3__) { + current_statement__ = 254; + assign(d_real_array_3d, d_real_array_3d_flat__[(pos__ - 1)], + "assigning variable d_real_array_3d", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 254; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 255; + validate_non_negative_index("d_matrix", "d_int", d_int); + current_statement__ = 256; + validate_non_negative_index("d_matrix", "d_int", d_int); + current_statement__ = 257; + context__.validate_dims("data initialization","d_matrix","double", + std::vector{static_cast(d_int), + static_cast(d_int)}); + d_matrix__ = Eigen::Matrix(d_int, d_int); + new (&d_matrix) Eigen::Map>(d_matrix__.data(), d_int, d_int); + + + { + std::vector d_matrix_flat__; + current_statement__ = 257; + d_matrix_flat__ = context__.vals_r("d_matrix"); + current_statement__ = 257; + pos__ = 1; + current_statement__ = 257; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 257; + for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { + current_statement__ = 257; + assign(d_matrix, d_matrix_flat__[(pos__ - 1)], + "assigning variable d_matrix", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 257; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 258; + validate_non_negative_index("d_matrix_array", "d_int", d_int); + current_statement__ = 259; + validate_non_negative_index("d_matrix_array", "d_int", d_int); + current_statement__ = 260; + validate_non_negative_index("d_matrix_array", "d_int", d_int); + current_statement__ = 261; + context__.validate_dims("data initialization","d_matrix_array", + "double", + std::vector{static_cast(d_int), + static_cast(d_int), static_cast(d_int)}); + d_matrix_array = std::vector>(d_int, Eigen::Matrix(d_int, d_int)); + + + { + std::vector d_matrix_array_flat__; + current_statement__ = 261; + d_matrix_array_flat__ = context__.vals_r("d_matrix_array"); + current_statement__ = 261; + pos__ = 1; + current_statement__ = 261; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 261; + for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { + current_statement__ = 261; + for (int sym3__ = 1; sym3__ <= d_int; ++sym3__) { + current_statement__ = 261; + assign(d_matrix_array, d_matrix_array_flat__[(pos__ - 1)], + "assigning variable d_matrix_array", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 261; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 262; + validate_non_negative_index("d_matrix_array_2d", "d_int", d_int); + current_statement__ = 263; + validate_non_negative_index("d_matrix_array_2d", "d_int", d_int); + current_statement__ = 264; + validate_non_negative_index("d_matrix_array_2d", "d_int", d_int); + current_statement__ = 265; + context__.validate_dims("data initialization","d_matrix_array_2d", + "double", + std::vector{static_cast(d_int), + static_cast(2), static_cast(d_int), + static_cast(d_int)}); + d_matrix_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int, d_int))); + + + { + std::vector d_matrix_array_2d_flat__; + current_statement__ = 265; + d_matrix_array_2d_flat__ = context__.vals_r("d_matrix_array_2d"); + current_statement__ = 265; + pos__ = 1; + current_statement__ = 265; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 265; + for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { + current_statement__ = 265; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 265; + for (int sym4__ = 1; sym4__ <= d_int; ++sym4__) { + current_statement__ = 265; + assign(d_matrix_array_2d, + d_matrix_array_2d_flat__[(pos__ - 1)], + "assigning variable d_matrix_array_2d", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 265; + pos__ = (pos__ + 1); + } + } + } + } + } + current_statement__ = 266; + validate_non_negative_index("d_matrix_array_3d", "d_int", d_int); + current_statement__ = 267; + validate_non_negative_index("d_matrix_array_3d", "d_int", d_int); + current_statement__ = 268; + validate_non_negative_index("d_matrix_array_3d", "d_int", d_int); + current_statement__ = 269; + context__.validate_dims("data initialization","d_matrix_array_3d", + "double", + std::vector{static_cast(d_int), + static_cast(2), static_cast(3), + static_cast(d_int), static_cast(d_int)}); + d_matrix_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int, d_int)))); + + + { + std::vector d_matrix_array_3d_flat__; + current_statement__ = 269; + d_matrix_array_3d_flat__ = context__.vals_r("d_matrix_array_3d"); + current_statement__ = 269; + pos__ = 1; + current_statement__ = 269; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 269; + for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { + current_statement__ = 269; + for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { + current_statement__ = 269; + for (int sym4__ = 1; sym4__ <= 2; ++sym4__) { + current_statement__ = 269; + for (int sym5__ = 1; sym5__ <= d_int; ++sym5__) { + current_statement__ = 269; + assign(d_matrix_array_3d, + d_matrix_array_3d_flat__[(pos__ - 1)], + "assigning variable d_matrix_array_3d", index_uni(sym5__), + index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 269; + pos__ = (pos__ + 1); + } + } + } + } + } + } + current_statement__ = 270; + validate_non_negative_index("d_vector", "d_int", d_int); + current_statement__ = 271; + context__.validate_dims("data initialization","d_vector","double", + std::vector{static_cast(d_int)}); + d_vector__ = Eigen::Matrix(d_int); + new (&d_vector) Eigen::Map>(d_vector__.data(), d_int); + + + { + std::vector d_vector_flat__; + current_statement__ = 271; + d_vector_flat__ = context__.vals_r("d_vector"); + current_statement__ = 271; + pos__ = 1; + current_statement__ = 271; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 271; + assign(d_vector, d_vector_flat__[(pos__ - 1)], + "assigning variable d_vector", index_uni(sym1__)); + current_statement__ = 271; + pos__ = (pos__ + 1); + } + } + current_statement__ = 272; + validate_non_negative_index("d_vector_array", "d_int", d_int); + current_statement__ = 273; + validate_non_negative_index("d_vector_array", "d_int", d_int); + current_statement__ = 274; + context__.validate_dims("data initialization","d_vector_array", + "double", + std::vector{static_cast(d_int), + static_cast(d_int)}); + d_vector_array = std::vector>(d_int, Eigen::Matrix(d_int)); + + + { + std::vector d_vector_array_flat__; + current_statement__ = 274; + d_vector_array_flat__ = context__.vals_r("d_vector_array"); + current_statement__ = 274; + pos__ = 1; + current_statement__ = 274; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 274; + for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { + current_statement__ = 274; + assign(d_vector_array, d_vector_array_flat__[(pos__ - 1)], + "assigning variable d_vector_array", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 274; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 275; + validate_non_negative_index("d_vector_array_2d", "d_int", d_int); + current_statement__ = 276; + validate_non_negative_index("d_vector_array_2d", "d_int", d_int); + current_statement__ = 277; + context__.validate_dims("data initialization","d_vector_array_2d", + "double", + std::vector{static_cast(d_int), + static_cast(2), static_cast(d_int)}); + d_vector_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int))); + + + { + std::vector d_vector_array_2d_flat__; + current_statement__ = 277; + d_vector_array_2d_flat__ = context__.vals_r("d_vector_array_2d"); + current_statement__ = 277; + pos__ = 1; + current_statement__ = 277; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 277; + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + current_statement__ = 277; + for (int sym3__ = 1; sym3__ <= d_int; ++sym3__) { + current_statement__ = 277; + assign(d_vector_array_2d, + d_vector_array_2d_flat__[(pos__ - 1)], + "assigning variable d_vector_array_2d", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 277; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 278; + validate_non_negative_index("d_vector_array_3d", "d_int", d_int); + current_statement__ = 279; + validate_non_negative_index("d_vector_array_3d", "d_int", d_int); + current_statement__ = 280; + context__.validate_dims("data initialization","d_vector_array_3d", + "double", + std::vector{static_cast(d_int), + static_cast(2), static_cast(3), + static_cast(d_int)}); + d_vector_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int)))); + + + { + std::vector d_vector_array_3d_flat__; + current_statement__ = 280; + d_vector_array_3d_flat__ = context__.vals_r("d_vector_array_3d"); + current_statement__ = 280; + pos__ = 1; + current_statement__ = 280; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 280; + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + current_statement__ = 280; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 280; + for (int sym4__ = 1; sym4__ <= d_int; ++sym4__) { + current_statement__ = 280; + assign(d_vector_array_3d, + d_vector_array_3d_flat__[(pos__ - 1)], + "assigning variable d_vector_array_3d", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 280; + pos__ = (pos__ + 1); + } + } + } + } + } + current_statement__ = 281; + validate_non_negative_index("d_row_vector", "d_int", d_int); + current_statement__ = 282; + context__.validate_dims("data initialization","d_row_vector","double", + std::vector{static_cast(d_int)}); + d_row_vector__ = Eigen::Matrix(d_int); + new (&d_row_vector) Eigen::Map>(d_row_vector__.data(), d_int); + + + { + std::vector d_row_vector_flat__; + current_statement__ = 282; + d_row_vector_flat__ = context__.vals_r("d_row_vector"); + current_statement__ = 282; + pos__ = 1; + current_statement__ = 282; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 282; + assign(d_row_vector, d_row_vector_flat__[(pos__ - 1)], + "assigning variable d_row_vector", index_uni(sym1__)); + current_statement__ = 282; + pos__ = (pos__ + 1); + } + } + current_statement__ = 283; + validate_non_negative_index("d_row_vector_array", "d_int", d_int); + current_statement__ = 284; + validate_non_negative_index("d_row_vector_array", "d_int", d_int); + current_statement__ = 285; + context__.validate_dims("data initialization","d_row_vector_array", + "double", + std::vector{static_cast(d_int), + static_cast(d_int)}); + d_row_vector_array = std::vector>(d_int, Eigen::Matrix(d_int)); + + + { + std::vector d_row_vector_array_flat__; + current_statement__ = 285; + d_row_vector_array_flat__ = context__.vals_r("d_row_vector_array"); + current_statement__ = 285; + pos__ = 1; + current_statement__ = 285; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 285; + for (int sym2__ = 1; sym2__ <= d_int; ++sym2__) { + current_statement__ = 285; + assign(d_row_vector_array, + d_row_vector_array_flat__[(pos__ - 1)], + "assigning variable d_row_vector_array", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 285; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 286; + validate_non_negative_index("d_row_vector_array_2d", "d_int", d_int); + current_statement__ = 287; + validate_non_negative_index("d_row_vector_array_2d", "d_int", d_int); + current_statement__ = 288; + context__.validate_dims("data initialization","d_row_vector_array_2d", + "double", + std::vector{static_cast(d_int), + static_cast(2), static_cast(d_int)}); + d_row_vector_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int))); + + + { + std::vector d_row_vector_array_2d_flat__; + current_statement__ = 288; + d_row_vector_array_2d_flat__ = context__.vals_r("d_row_vector_array_2d"); + current_statement__ = 288; + pos__ = 1; + current_statement__ = 288; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 288; + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + current_statement__ = 288; + for (int sym3__ = 1; sym3__ <= d_int; ++sym3__) { + current_statement__ = 288; + assign(d_row_vector_array_2d, + d_row_vector_array_2d_flat__[(pos__ - 1)], + "assigning variable d_row_vector_array_2d", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 288; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 289; + validate_non_negative_index("d_row_vector_array_3d", "d_int", d_int); + current_statement__ = 290; + validate_non_negative_index("d_row_vector_array_3d", "d_int", d_int); + current_statement__ = 291; + context__.validate_dims("data initialization","d_row_vector_array_3d", + "double", + std::vector{static_cast(d_int), + static_cast(2), static_cast(3), + static_cast(d_int)}); + d_row_vector_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int)))); + + + { + std::vector d_row_vector_array_3d_flat__; + current_statement__ = 291; + d_row_vector_array_3d_flat__ = context__.vals_r("d_row_vector_array_3d"); + current_statement__ = 291; + pos__ = 1; + current_statement__ = 291; + for (int sym1__ = 1; sym1__ <= d_int; ++sym1__) { + current_statement__ = 291; + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + current_statement__ = 291; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 291; + for (int sym4__ = 1; sym4__ <= d_int; ++sym4__) { + current_statement__ = 291; + assign(d_row_vector_array_3d, + d_row_vector_array_3d_flat__[(pos__ - 1)], + "assigning variable d_row_vector_array_3d", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 291; + pos__ = (pos__ + 1); + } + } + } + } + } + current_statement__ = 292; + td_int = std::numeric_limits::min(); + + current_statement__ = 293; + validate_non_negative_index("td_1d", "N", N); + current_statement__ = 294; + td_1d = std::vector(N, std::numeric_limits::min()); + + current_statement__ = 295; + validate_non_negative_index("td_1dk", "M", M); + current_statement__ = 296; + td_1dk = std::vector(M, std::numeric_limits::min()); + + current_statement__ = 296; + assign(td_1dk, rep_array(1, M), "assigning variable td_1dk"); + current_statement__ = 297; + td_a = std::numeric_limits::min(); + + current_statement__ = 297; + td_a = N; + current_statement__ = 298; + td_b = std::numeric_limits::quiet_NaN(); + + current_statement__ = 298; + td_b = (N * J); + current_statement__ = 299; + td_c = std::numeric_limits::quiet_NaN(); + + current_statement__ = 299; + td_c = foo_bar1(td_b, pstream__); + current_statement__ = 300; + td_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); + stan::math::fill(td_ar_mat, std::numeric_limits::quiet_NaN()); + + current_statement__ = 301; + validate_non_negative_index("td_simplex", "N", N); + current_statement__ = 302; + td_simplex__ = Eigen::Matrix(N); + new (&td_simplex) Eigen::Map>(td_simplex__.data(), N); + stan::math::fill(td_simplex, std::numeric_limits::quiet_NaN()); + + current_statement__ = 303; + validate_non_negative_index("td_1d_simplex", "N", N); + current_statement__ = 304; + validate_non_negative_index("td_1d_simplex", "N", N); + current_statement__ = 305; + td_1d_simplex = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(td_1d_simplex, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 306; + validate_non_negative_index("td_3d_simplex", "N", N); + current_statement__ = 307; + validate_non_negative_index("td_3d_simplex", "M", M); + current_statement__ = 308; + validate_non_negative_index("td_3d_simplex", "K", K); + current_statement__ = 309; + validate_non_negative_index("td_3d_simplex", "N", N); + current_statement__ = 310; + td_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(td_3d_simplex, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 311; + td_cfcov_54__ = Eigen::Matrix(5, 5); + new (&td_cfcov_54) Eigen::Map>(td_cfcov_54__.data(), 5, 5); + stan::math::fill(td_cfcov_54, std::numeric_limits::quiet_NaN()); + + current_statement__ = 312; + td_cfcov_33__ = Eigen::Matrix(3, 3); + new (&td_cfcov_33) Eigen::Map>(td_cfcov_33__.data(), 3, 3); + stan::math::fill(td_cfcov_33, std::numeric_limits::quiet_NaN()); + + current_statement__ = 313; + x__ = Eigen::Matrix(2); + new (&x) Eigen::Map>(x__.data(), 2); + stan::math::fill(x, std::numeric_limits::quiet_NaN()); + + current_statement__ = 314; + y__ = Eigen::Matrix(2); + new (&y) Eigen::Map>(y__.data(), 2); + stan::math::fill(y, std::numeric_limits::quiet_NaN()); + + current_statement__ = 315; + dat = std::vector(0, std::numeric_limits::quiet_NaN()); + + current_statement__ = 316; + dat_int = std::vector(0, std::numeric_limits::min()); + + current_statement__ = 317; + x_r = std::vector>(0, std::vector(0, std::numeric_limits::quiet_NaN())); + + + current_statement__ = 318; + x_i = std::vector>(0, std::vector(0, std::numeric_limits::min())); + + + current_statement__ = 319; + td_int = (primitive_value(1) || primitive_value(2)); + current_statement__ = 320; + td_int = (primitive_value(1) && primitive_value(2)); + current_statement__ = 329; + for (int i = 1; i <= 2; ++i) { + current_statement__ = 327; + for (int j = 1; j <= 3; ++j) { + current_statement__ = 325; + for (int m = 1; m <= 4; ++m) { + current_statement__ = 323; + for (int n = 1; n <= 5; ++n) { + current_statement__ = 321; + assign(td_ar_mat, 0.4, + "assigning variable td_ar_mat", index_uni(m), index_uni(n), + index_uni(i), index_uni(j)); + } + } + } + } + current_statement__ = 340; + for (int i = 1; i <= N; ++i) { + current_statement__ = 330; + assign(td_simplex, (1.0 / N), + "assigning variable td_simplex", index_uni(i)); + current_statement__ = 338; + for (int n = 1; n <= N; ++n) { + current_statement__ = 331; + assign(td_1d_simplex, (1.0 / N), + "assigning variable td_1d_simplex", index_uni(n), index_uni(i)); + current_statement__ = 336; + for (int m = 1; m <= M; ++m) { + current_statement__ = 334; + for (int k = 1; k <= K; ++k) { + current_statement__ = 332; + assign(td_3d_simplex, (1.0 / N), + "assigning variable td_3d_simplex", index_uni(n), + index_uni(m), + index_uni(k), + index_uni(i)); + } + } + } + } + current_statement__ = 346; + for (int i = 1; i <= 4; ++i) { + current_statement__ = 344; + for (int j = 1; j <= 5; ++j) { + Eigen::Matrix l_mat; + l_mat = Eigen::Matrix(2, 3); + stan::math::fill(l_mat, std::numeric_limits::quiet_NaN()); + + current_statement__ = 341; + assign(l_mat, + rvalue(d_ar_mat, "d_ar_mat", index_uni(i), index_uni(j)), + "assigning variable l_mat"); + current_statement__ = 342; + if (pstream__) { + stan_print(pstream__, "ar dim1: "); + stan_print(pstream__, i); + stan_print(pstream__, " ar dim2: "); + stan_print(pstream__, j); + stan_print(pstream__, " matrix: "); + stan_print(pstream__, l_mat); + stan_print(pstream__, "\n"); + } + } + } + current_statement__ = 347; + assign(td_cfcov_54, diag_matrix(rep_vector(1, rows(td_cfcov_54))), + "assigning variable td_cfcov_54"); + current_statement__ = 348; + assign(td_cfcov_33, diag_matrix(rep_vector(1, rows(td_cfcov_33))), + "assigning variable td_cfcov_33"); + { + double z; + z = std::numeric_limits::quiet_NaN(); + + Eigen::Matrix blocked_tdata_vs; + blocked_tdata_vs = Eigen::Matrix(2); + stan::math::fill(blocked_tdata_vs, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 351; + for (int sym1__ = 1; sym1__ <= stan::math::size(blocked_tdata_vs); + ++sym1__) { + { + double v; + current_statement__ = 351; + v = blocked_tdata_vs[(sym1__ - 1)]; + current_statement__ = 352; + z = 0; + } + } + std::vector indices; + indices = std::vector(4, std::numeric_limits::min()); + + current_statement__ = 353; + assign(indices, std::vector{1, 2, 3, 4}, + "assigning variable indices"); + { + std::vector sym1__; + current_statement__ = 354; + assign(sym1__, rvalue(indices, "indices", index_min_max(1, 3)), + "assigning variable sym1__"); + current_statement__ = 354; + for (int sym2__ = 1; sym2__ <= stan::math::size(sym1__); ++sym2__) { + { + int i; + current_statement__ = 354; + i = sym1__[(sym2__ - 1)]; + current_statement__ = 355; + z = i; + } + } + } + } + current_statement__ = 357; + assign(td_1dk, + rvalue(td_1d, "td_1d", index_multi(stan::model::deep_copy(td_1dk))), + "assigning variable td_1dk"); + current_statement__ = 358; + assign(td_simplex, + rvalue(td_1d_simplex, "td_1d_simplex", index_uni(1), index_omni()), + "assigning variable td_simplex"); + current_statement__ = 359; + assign(td_simplex, + rvalue(td_1d_simplex, "td_1d_simplex", index_uni(1), index_omni()), + "assigning variable td_simplex"); + current_statement__ = 360; + assign(td_simplex, + rvalue(td_1d_simplex, "td_1d_simplex", + index_uni(1), index_min_max(1, N)), "assigning variable td_simplex"); + current_statement__ = 361; + arr_mul_ind = std::vector>(2, std::vector(2, std::numeric_limits::min())); + + + current_statement__ = 362; + assign(arr_mul_ind, std::vector{1, 1}, + "assigning variable arr_mul_ind", index_uni(1), index_min_max(1, 2)); + current_statement__ = 363; + x_mul_ind = std::vector(2, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 363; + assign(x_mul_ind, std::vector{1, 2}, + "assigning variable x_mul_ind"); + current_statement__ = 364; + transformed_data_real = std::numeric_limits::quiet_NaN(); + + current_statement__ = 365; + validate_non_negative_index("transformed_data_real_array", "d_int", + d_int); + current_statement__ = 366; + transformed_data_real_array = std::vector(d_int, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 367; + validate_non_negative_index("transformed_data_real_array_2d", "d_int", + d_int); + current_statement__ = 368; + transformed_data_real_array_2d = std::vector>(d_int, std::vector(2, std::numeric_limits::quiet_NaN())); + + + current_statement__ = 369; + validate_non_negative_index("transformed_data_real_array_3d", "d_int", + d_int); + current_statement__ = 370; + transformed_data_real_array_3d = std::vector>>(d_int, std::vector>(2, std::vector(3, std::numeric_limits::quiet_NaN()))); + + + current_statement__ = 371; + validate_non_negative_index("transformed_data_matrix", "d_int", d_int); + current_statement__ = 372; + validate_non_negative_index("transformed_data_matrix", "d_int", d_int); + current_statement__ = 373; + transformed_data_matrix__ = Eigen::Matrix(d_int, d_int); + new (&transformed_data_matrix) Eigen::Map>(transformed_data_matrix__.data(), d_int, d_int); + stan::math::fill(transformed_data_matrix, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 374; + validate_non_negative_index("transformed_data_matrix_array", "d_int", + d_int); + current_statement__ = 375; + validate_non_negative_index("transformed_data_matrix_array", "d_int", + d_int); + current_statement__ = 376; + validate_non_negative_index("transformed_data_matrix_array", "d_int", + d_int); + current_statement__ = 377; + transformed_data_matrix_array = std::vector>(d_int, Eigen::Matrix(d_int, d_int)); + stan::math::fill(transformed_data_matrix_array, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 378; + validate_non_negative_index("transformed_data_matrix_array_2d", + "d_int", d_int); + current_statement__ = 379; + validate_non_negative_index("transformed_data_matrix_array_2d", + "d_int", d_int); + current_statement__ = 380; + validate_non_negative_index("transformed_data_matrix_array_2d", + "d_int", d_int); + current_statement__ = 381; + transformed_data_matrix_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int, d_int))); + stan::math::fill(transformed_data_matrix_array_2d, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 382; + validate_non_negative_index("transformed_data_matrix_array_3d", + "d_int", d_int); + current_statement__ = 383; + validate_non_negative_index("transformed_data_matrix_array_3d", + "d_int", d_int); + current_statement__ = 384; + validate_non_negative_index("transformed_data_matrix_array_3d", + "d_int", d_int); + current_statement__ = 385; + transformed_data_matrix_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int, d_int)))); + stan::math::fill(transformed_data_matrix_array_3d, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 386; + validate_non_negative_index("transformed_data_vector", "d_int", d_int); + current_statement__ = 387; + transformed_data_vector__ = Eigen::Matrix(d_int); + new (&transformed_data_vector) Eigen::Map>(transformed_data_vector__.data(), d_int); + stan::math::fill(transformed_data_vector, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 388; + validate_non_negative_index("transformed_data_vector_array", "d_int", + d_int); + current_statement__ = 389; + validate_non_negative_index("transformed_data_vector_array", "d_int", + d_int); + current_statement__ = 390; + transformed_data_vector_array = std::vector>(d_int, Eigen::Matrix(d_int)); + stan::math::fill(transformed_data_vector_array, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 391; + validate_non_negative_index("transformed_data_vector_array_2d", + "d_int", d_int); + current_statement__ = 392; + validate_non_negative_index("transformed_data_vector_array_2d", + "d_int", d_int); + current_statement__ = 393; + transformed_data_vector_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int))); + stan::math::fill(transformed_data_vector_array_2d, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 394; + validate_non_negative_index("transformed_data_vector_array_3d", + "d_int", d_int); + current_statement__ = 395; + validate_non_negative_index("transformed_data_vector_array_3d", + "d_int", d_int); + current_statement__ = 396; + transformed_data_vector_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int)))); + stan::math::fill(transformed_data_vector_array_3d, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 397; + validate_non_negative_index("transformed_data_row_vector", "d_int", + d_int); + current_statement__ = 398; + transformed_data_row_vector__ = Eigen::Matrix(d_int); + new (&transformed_data_row_vector) Eigen::Map>(transformed_data_row_vector__.data(), d_int); + stan::math::fill(transformed_data_row_vector, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 399; + validate_non_negative_index("transformed_data_row_vector_array", + "d_int", d_int); + current_statement__ = 400; + validate_non_negative_index("transformed_data_row_vector_array", + "d_int", d_int); + current_statement__ = 401; + transformed_data_row_vector_array = std::vector>(d_int, Eigen::Matrix(d_int)); + stan::math::fill(transformed_data_row_vector_array, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 402; + validate_non_negative_index("transformed_data_row_vector_array_2d", + "d_int", d_int); + current_statement__ = 403; + validate_non_negative_index("transformed_data_row_vector_array_2d", + "d_int", d_int); + current_statement__ = 404; + transformed_data_row_vector_array_2d = std::vector>>(d_int, std::vector>(2, Eigen::Matrix(d_int))); + stan::math::fill(transformed_data_row_vector_array_2d, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 405; + validate_non_negative_index("transformed_data_row_vector_array_3d", + "d_int", d_int); + current_statement__ = 406; + validate_non_negative_index("transformed_data_row_vector_array_3d", + "d_int", d_int); + current_statement__ = 407; + transformed_data_row_vector_array_3d = std::vector>>>(d_int, std::vector>>(2, std::vector>(3, Eigen::Matrix(d_int)))); + stan::math::fill(transformed_data_row_vector_array_3d, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 408; + transformed_data_real = pow(d_int, d_int); + current_statement__ = 409; + transformed_data_real = pow(d_real, d_int); + current_statement__ = 410; + transformed_data_real = pow(d_int, d_real); + current_statement__ = 411; + transformed_data_real = pow(d_real, d_real); + current_statement__ = 412; + assign(transformed_data_real_array, pow(d_int_array, d_int), + "assigning variable transformed_data_real_array"); + current_statement__ = 413; + assign(transformed_data_real_array, pow(d_int_array, d_real), + "assigning variable transformed_data_real_array"); + current_statement__ = 414; + assign(transformed_data_real_array_2d, pow(d_int_array_2d, d_int), + "assigning variable transformed_data_real_array_2d"); + current_statement__ = 415; + assign(transformed_data_real_array_2d, pow(d_int_array_2d, d_real), + "assigning variable transformed_data_real_array_2d"); + current_statement__ = 416; + assign(transformed_data_real_array_3d, pow(d_int_array_3d, d_int), + "assigning variable transformed_data_real_array_3d"); + current_statement__ = 417; + assign(transformed_data_real_array_3d, pow(d_int_array_3d, d_real), + "assigning variable transformed_data_real_array_3d"); + current_statement__ = 418; + assign(transformed_data_real_array, pow(d_int, d_int_array), + "assigning variable transformed_data_real_array"); + current_statement__ = 419; + assign(transformed_data_real_array, pow(d_real, d_int_array), + "assigning variable transformed_data_real_array"); + current_statement__ = 420; + assign(transformed_data_real_array_2d, pow(d_int, d_int_array_2d), + "assigning variable transformed_data_real_array_2d"); + current_statement__ = 421; + assign(transformed_data_real_array_2d, pow(d_real, d_int_array_2d), + "assigning variable transformed_data_real_array_2d"); + current_statement__ = 422; + assign(transformed_data_real_array_3d, pow(d_int, d_int_array_3d), + "assigning variable transformed_data_real_array_3d"); + current_statement__ = 423; + assign(transformed_data_real_array_3d, pow(d_real, d_int_array_3d), + "assigning variable transformed_data_real_array_3d"); + current_statement__ = 424; + assign(transformed_data_real_array, pow(d_int, d_real_array), + "assigning variable transformed_data_real_array"); + current_statement__ = 425; + assign(transformed_data_real_array, pow(d_real, d_real_array), + "assigning variable transformed_data_real_array"); + current_statement__ = 426; + assign(transformed_data_real_array_2d, pow(d_int, d_real_array_2d), + "assigning variable transformed_data_real_array_2d"); + current_statement__ = 427; + assign(transformed_data_real_array_2d, pow(d_real, d_real_array_2d), + "assigning variable transformed_data_real_array_2d"); + current_statement__ = 428; + assign(transformed_data_real_array_3d, pow(d_int, d_real_array_3d), + "assigning variable transformed_data_real_array_3d"); + current_statement__ = 429; + assign(transformed_data_real_array_3d, pow(d_real, d_real_array_3d), + "assigning variable transformed_data_real_array_3d"); + current_statement__ = 430; + assign(transformed_data_real_array, pow(d_real_array, d_int), + "assigning variable transformed_data_real_array"); + current_statement__ = 431; + assign(transformed_data_real_array, pow(d_real_array, d_real), + "assigning variable transformed_data_real_array"); + current_statement__ = 432; + assign(transformed_data_real_array_2d, pow(d_real_array_2d, d_int), + "assigning variable transformed_data_real_array_2d"); + current_statement__ = 433; + assign(transformed_data_real_array_2d, pow(d_real_array_2d, d_real), + "assigning variable transformed_data_real_array_2d"); + current_statement__ = 434; + assign(transformed_data_real_array_3d, pow(d_real_array_3d, d_int), + "assigning variable transformed_data_real_array_3d"); + current_statement__ = 435; + assign(transformed_data_real_array_3d, pow(d_real_array_3d, d_real), + "assigning variable transformed_data_real_array_3d"); + current_statement__ = 436; + assign(transformed_data_real_array, pow(d_int_array, d_int_array), + "assigning variable transformed_data_real_array"); + current_statement__ = 437; + assign(transformed_data_real_array, pow(d_real_array, d_real_array), + "assigning variable transformed_data_real_array"); + current_statement__ = 438; + assign(transformed_data_real_array_2d, + pow(d_int_array_2d, d_int_array_2d), + "assigning variable transformed_data_real_array_2d"); + current_statement__ = 439; + assign(transformed_data_real_array_2d, + pow(d_real_array_2d, d_real_array_2d), + "assigning variable transformed_data_real_array_2d"); + current_statement__ = 440; + assign(transformed_data_real_array_3d, + pow(d_int_array_3d, d_int_array_3d), + "assigning variable transformed_data_real_array_3d"); + current_statement__ = 441; + assign(transformed_data_real_array_3d, + pow(d_real_array_3d, d_real_array_3d), + "assigning variable transformed_data_real_array_3d"); + current_statement__ = 442; + assign(transformed_data_vector, pow(d_vector, d_int), + "assigning variable transformed_data_vector"); + current_statement__ = 443; + assign(transformed_data_vector, pow(d_vector, d_real), + "assigning variable transformed_data_vector"); + current_statement__ = 444; + assign(transformed_data_vector, + stan::math::fma(d_vector, d_vector, d_vector), + "assigning variable transformed_data_vector"); + current_statement__ = 445; + assign(transformed_data_vector, + stan::math::fma(d_vector, d_vector, d_real), + "assigning variable transformed_data_vector"); + current_statement__ = 446; + assign(transformed_data_vector, + stan::math::fma(d_real, d_vector, d_real), + "assigning variable transformed_data_vector"); + current_statement__ = 447; + assign(transformed_data_vector_array, pow(d_vector_array, d_int), + "assigning variable transformed_data_vector_array"); + current_statement__ = 448; + assign(transformed_data_vector_array, pow(d_vector_array, d_real), + "assigning variable transformed_data_vector_array"); + current_statement__ = 449; + assign(transformed_data_vector_array_2d, pow(d_vector_array_2d, d_int), + "assigning variable transformed_data_vector_array_2d"); + current_statement__ = 450; + assign(transformed_data_vector_array_2d, + pow(d_vector_array_2d, d_real), + "assigning variable transformed_data_vector_array_2d"); + current_statement__ = 451; + assign(transformed_data_vector_array_3d, pow(d_vector_array_3d, d_int), + "assigning variable transformed_data_vector_array_3d"); + current_statement__ = 452; + assign(transformed_data_vector_array_3d, + pow(d_vector_array_3d, d_real), + "assigning variable transformed_data_vector_array_3d"); + current_statement__ = 453; + assign(transformed_data_vector, pow(d_int, d_vector), + "assigning variable transformed_data_vector"); + current_statement__ = 454; + assign(transformed_data_vector, pow(d_real, d_vector), + "assigning variable transformed_data_vector"); + current_statement__ = 455; + assign(transformed_data_vector_array, pow(d_int, d_vector_array), + "assigning variable transformed_data_vector_array"); + current_statement__ = 456; + assign(transformed_data_vector_array, pow(d_real, d_vector_array), + "assigning variable transformed_data_vector_array"); + current_statement__ = 457; + assign(transformed_data_vector_array_2d, pow(d_int, d_vector_array_2d), + "assigning variable transformed_data_vector_array_2d"); + current_statement__ = 458; + assign(transformed_data_vector_array_2d, + pow(d_real, d_vector_array_2d), + "assigning variable transformed_data_vector_array_2d"); + current_statement__ = 459; + assign(transformed_data_vector_array_3d, pow(d_int, d_vector_array_3d), + "assigning variable transformed_data_vector_array_3d"); + current_statement__ = 460; + assign(transformed_data_vector_array_3d, + pow(d_real, d_vector_array_3d), + "assigning variable transformed_data_vector_array_3d"); + current_statement__ = 461; + assign(transformed_data_vector, pow(d_vector, d_vector), + "assigning variable transformed_data_vector"); + current_statement__ = 462; + assign(transformed_data_vector, + stan::math::fma(d_vector, d_vector, d_vector), + "assigning variable transformed_data_vector"); + current_statement__ = 463; + assign(transformed_data_vector, + stan::math::fma(d_vector, d_vector, d_real), + "assigning variable transformed_data_vector"); + current_statement__ = 464; + assign(transformed_data_vector_array, + pow(d_vector_array, d_vector_array), + "assigning variable transformed_data_vector_array"); + current_statement__ = 465; + assign(transformed_data_vector_array_2d, + pow(d_vector_array_2d, d_vector_array_2d), + "assigning variable transformed_data_vector_array_2d"); + current_statement__ = 466; + assign(transformed_data_vector_array_3d, + pow(d_vector_array_3d, d_vector_array_3d), + "assigning variable transformed_data_vector_array_3d"); + current_statement__ = 467; + assign(transformed_data_row_vector, pow(d_row_vector, d_int), + "assigning variable transformed_data_row_vector"); + current_statement__ = 468; + assign(transformed_data_row_vector, pow(d_row_vector, d_real), + "assigning variable transformed_data_row_vector"); + current_statement__ = 469; + assign(transformed_data_row_vector_array, + pow(d_row_vector_array, d_int), + "assigning variable transformed_data_row_vector_array"); + current_statement__ = 470; + assign(transformed_data_row_vector_array, + pow(d_row_vector_array, d_real), + "assigning variable transformed_data_row_vector_array"); + current_statement__ = 471; + assign(transformed_data_row_vector_array_2d, + pow(d_row_vector_array_2d, d_int), + "assigning variable transformed_data_row_vector_array_2d"); + current_statement__ = 472; + assign(transformed_data_row_vector_array_2d, + pow(d_row_vector_array_2d, d_real), + "assigning variable transformed_data_row_vector_array_2d"); + current_statement__ = 473; + assign(transformed_data_row_vector_array_3d, + pow(d_row_vector_array_3d, d_int), + "assigning variable transformed_data_row_vector_array_3d"); + current_statement__ = 474; + assign(transformed_data_row_vector_array_3d, + pow(d_row_vector_array_3d, d_real), + "assigning variable transformed_data_row_vector_array_3d"); + current_statement__ = 475; + assign(transformed_data_row_vector, pow(d_int, d_row_vector), + "assigning variable transformed_data_row_vector"); + current_statement__ = 476; + assign(transformed_data_row_vector, pow(d_real, d_row_vector), + "assigning variable transformed_data_row_vector"); + current_statement__ = 477; + assign(transformed_data_row_vector_array, + pow(d_int, d_row_vector_array), + "assigning variable transformed_data_row_vector_array"); + current_statement__ = 478; + assign(transformed_data_row_vector_array, + pow(d_real, d_row_vector_array), + "assigning variable transformed_data_row_vector_array"); + current_statement__ = 479; + assign(transformed_data_row_vector_array_2d, + pow(d_int, d_row_vector_array_2d), + "assigning variable transformed_data_row_vector_array_2d"); + current_statement__ = 480; + assign(transformed_data_row_vector_array_2d, + pow(d_real, d_row_vector_array_2d), + "assigning variable transformed_data_row_vector_array_2d"); + current_statement__ = 481; + assign(transformed_data_row_vector_array_3d, + pow(d_int, d_row_vector_array_3d), + "assigning variable transformed_data_row_vector_array_3d"); + current_statement__ = 482; + assign(transformed_data_row_vector_array_3d, + pow(d_real, d_row_vector_array_3d), + "assigning variable transformed_data_row_vector_array_3d"); + current_statement__ = 483; + assign(transformed_data_row_vector, pow(d_row_vector, d_row_vector), + "assigning variable transformed_data_row_vector"); + current_statement__ = 484; + assign(transformed_data_row_vector_array, + pow(d_row_vector_array, d_row_vector_array), + "assigning variable transformed_data_row_vector_array"); + current_statement__ = 485; + assign(transformed_data_row_vector_array_2d, + pow(d_row_vector_array_2d, d_row_vector_array_2d), + "assigning variable transformed_data_row_vector_array_2d"); + current_statement__ = 486; + assign(transformed_data_row_vector_array_3d, + pow(d_row_vector_array_3d, d_row_vector_array_3d), + "assigning variable transformed_data_row_vector_array_3d"); + current_statement__ = 487; + assign(transformed_data_matrix, pow(d_matrix, d_int), + "assigning variable transformed_data_matrix"); + current_statement__ = 488; + assign(transformed_data_matrix, pow(d_matrix, d_real), + "assigning variable transformed_data_matrix"); + current_statement__ = 489; + assign(transformed_data_matrix, + stan::math::fma(d_matrix, d_matrix, d_matrix), + "assigning variable transformed_data_matrix"); + current_statement__ = 490; + assign(transformed_data_matrix, + stan::math::fma(d_matrix, d_matrix, d_real), + "assigning variable transformed_data_matrix"); + current_statement__ = 491; + assign(transformed_data_matrix_array, pow(d_matrix_array, d_int), + "assigning variable transformed_data_matrix_array"); + current_statement__ = 492; + assign(transformed_data_matrix_array, pow(d_matrix_array, d_real), + "assigning variable transformed_data_matrix_array"); + current_statement__ = 493; + assign(transformed_data_matrix_array_2d, pow(d_matrix_array_2d, d_int), + "assigning variable transformed_data_matrix_array_2d"); + current_statement__ = 494; + assign(transformed_data_matrix_array_2d, + pow(d_matrix_array_2d, d_real), + "assigning variable transformed_data_matrix_array_2d"); + current_statement__ = 495; + assign(transformed_data_matrix_array_3d, pow(d_matrix_array_3d, d_int), + "assigning variable transformed_data_matrix_array_3d"); + current_statement__ = 496; + assign(transformed_data_matrix_array_3d, + pow(d_matrix_array_3d, d_real), + "assigning variable transformed_data_matrix_array_3d"); + current_statement__ = 497; + assign(transformed_data_matrix, pow(d_int, d_matrix), + "assigning variable transformed_data_matrix"); + current_statement__ = 498; + assign(transformed_data_matrix, pow(d_real, d_matrix), + "assigning variable transformed_data_matrix"); + current_statement__ = 499; + assign(transformed_data_matrix_array, pow(d_int, d_matrix_array), + "assigning variable transformed_data_matrix_array"); + current_statement__ = 500; + assign(transformed_data_matrix_array, pow(d_real, d_matrix_array), + "assigning variable transformed_data_matrix_array"); + current_statement__ = 501; + assign(transformed_data_matrix_array_2d, pow(d_int, d_matrix_array_2d), + "assigning variable transformed_data_matrix_array_2d"); + current_statement__ = 502; + assign(transformed_data_matrix_array_2d, + pow(d_real, d_matrix_array_2d), + "assigning variable transformed_data_matrix_array_2d"); + current_statement__ = 503; + assign(transformed_data_matrix_array_3d, pow(d_int, d_matrix_array_3d), + "assigning variable transformed_data_matrix_array_3d"); + current_statement__ = 504; + assign(transformed_data_matrix_array_3d, + pow(d_real, d_matrix_array_3d), + "assigning variable transformed_data_matrix_array_3d"); + current_statement__ = 505; + assign(transformed_data_matrix, pow(d_matrix, d_matrix), + "assigning variable transformed_data_matrix"); + current_statement__ = 506; + assign(transformed_data_matrix_array, + pow(d_matrix_array, d_matrix_array), + "assigning variable transformed_data_matrix_array"); + current_statement__ = 507; + assign(transformed_data_matrix_array_2d, + pow(d_matrix_array_2d, d_matrix_array_2d), + "assigning variable transformed_data_matrix_array_2d"); + current_statement__ = 508; + assign(transformed_data_matrix_array_3d, + pow(d_matrix_array_3d, d_matrix_array_3d), + "assigning variable transformed_data_matrix_array_3d"); + current_statement__ = 509; + td_int = (d_int * d_int); + current_statement__ = 510; + transformed_data_real = (d_real * d_real); + current_statement__ = 300; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 300; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 300; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 300; + for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { + current_statement__ = 300; + check_greater_or_equal(function__, + "td_ar_mat[sym1__, sym2__, sym3__, sym4__]", + rvalue(td_ar_mat, "td_ar_mat", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__), index_uni(sym4__)), + 0); + } + } + } + } + current_statement__ = 300; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 300; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 300; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 300; + for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { + current_statement__ = 300; + check_less_or_equal(function__, + "td_ar_mat[sym1__, sym2__, sym3__, sym4__]", + rvalue(td_ar_mat, "td_ar_mat", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__), index_uni(sym4__)), + 1); + } + } + } + } + current_statement__ = 302; + check_simplex(function__, "td_simplex", td_simplex); + current_statement__ = 305; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 305; + check_simplex(function__, "td_1d_simplex[sym1__]", + td_1d_simplex[(sym1__ - 1)]); + } + current_statement__ = 310; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 310; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 310; + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + current_statement__ = 310; + check_simplex(function__, + "td_3d_simplex[sym1__, sym2__, sym3__]", + td_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - + 1)]); + } + } + } + current_statement__ = 311; + check_cholesky_factor(function__, "td_cfcov_54", td_cfcov_54); + current_statement__ = 312; + check_cholesky_factor(function__, "td_cfcov_33", td_cfcov_33); + current_statement__ = 511; + validate_non_negative_index("p_real_1d_ar", "N", N); + current_statement__ = 512; + validate_non_negative_index("p_real_3d_ar", "N", N); + current_statement__ = 513; + validate_non_negative_index("p_real_3d_ar", "M", M); + current_statement__ = 514; + validate_non_negative_index("p_real_3d_ar", "K", K); + current_statement__ = 515; + validate_non_negative_index("p_vec", "N", N); + current_statement__ = 516; + validate_non_negative_index("p_1d_vec", "N", N); + current_statement__ = 517; + validate_non_negative_index("p_1d_vec", "N", N); + current_statement__ = 518; + validate_non_negative_index("p_3d_vec", "N", N); + current_statement__ = 519; + validate_non_negative_index("p_3d_vec", "M", M); + current_statement__ = 520; + validate_non_negative_index("p_3d_vec", "K", K); + current_statement__ = 521; + validate_non_negative_index("p_3d_vec", "N", N); + current_statement__ = 522; + validate_non_negative_index("p_row_vec", "N", N); + current_statement__ = 523; + validate_non_negative_index("p_1d_row_vec", "N", N); + current_statement__ = 524; + validate_non_negative_index("p_1d_row_vec", "N", N); + current_statement__ = 525; + validate_non_negative_index("p_3d_row_vec", "N", N); + current_statement__ = 526; + validate_non_negative_index("p_3d_row_vec", "M", M); + current_statement__ = 527; + validate_non_negative_index("p_3d_row_vec", "K", K); + current_statement__ = 528; + validate_non_negative_index("p_3d_row_vec", "N", N); + current_statement__ = 529; + validate_positive_index("p_simplex", "N", N); + current_statement__ = 530; + validate_non_negative_index("p_1d_simplex", "N", N); + current_statement__ = 531; + validate_positive_index("p_1d_simplex", "N", N); + current_statement__ = 532; + validate_non_negative_index("p_3d_simplex", "N", N); + current_statement__ = 533; + validate_non_negative_index("p_3d_simplex", "M", M); + current_statement__ = 534; + validate_non_negative_index("p_3d_simplex", "K", K); + current_statement__ = 535; + validate_positive_index("p_3d_simplex", "N", N); + current_statement__ = 536; + check_greater_or_equal("cholesky_factor_cov p_cfcov_54", + "num rows (must be greater or equal to num cols)", + 5, 4); + current_statement__ = 537; + check_greater_or_equal("cholesky_factor_cov p_cfcov_33", + "num rows (must be greater or equal to num cols)", + 3, 3); + current_statement__ = 538; + validate_non_negative_index("p_cfcov_33_ar", "K", K); + current_statement__ = 539; + check_greater_or_equal("cholesky_factor_cov p_cfcov_33_ar", + "num rows (must be greater or equal to num cols)", + 3, 3); + current_statement__ = 540; + validate_non_negative_index("tp_real_1d_ar", "N", N); + current_statement__ = 541; + validate_non_negative_index("tp_real_3d_ar", "N", N); + current_statement__ = 542; + validate_non_negative_index("tp_real_3d_ar", "M", M); + current_statement__ = 543; + validate_non_negative_index("tp_real_3d_ar", "K", K); + current_statement__ = 544; + validate_non_negative_index("tp_vec", "N", N); + current_statement__ = 545; + validate_non_negative_index("tp_1d_vec", "N", N); + current_statement__ = 546; + validate_non_negative_index("tp_1d_vec", "N", N); + current_statement__ = 547; + validate_non_negative_index("tp_3d_vec", "N", N); + current_statement__ = 548; + validate_non_negative_index("tp_3d_vec", "M", M); + current_statement__ = 549; + validate_non_negative_index("tp_3d_vec", "K", K); + current_statement__ = 550; + validate_non_negative_index("tp_3d_vec", "N", N); + current_statement__ = 551; + validate_non_negative_index("tp_row_vec", "N", N); + current_statement__ = 552; + validate_non_negative_index("tp_1d_row_vec", "N", N); + current_statement__ = 553; + validate_non_negative_index("tp_1d_row_vec", "N", N); + current_statement__ = 554; + validate_non_negative_index("tp_3d_row_vec", "N", N); + current_statement__ = 555; + validate_non_negative_index("tp_3d_row_vec", "M", M); + current_statement__ = 556; + validate_non_negative_index("tp_3d_row_vec", "K", K); + current_statement__ = 557; + validate_non_negative_index("tp_3d_row_vec", "N", N); + current_statement__ = 558; + validate_non_negative_index("tp_simplex", "N", N); + current_statement__ = 559; + validate_non_negative_index("tp_1d_simplex", "N", N); + current_statement__ = 560; + validate_non_negative_index("tp_1d_simplex", "N", N); + current_statement__ = 561; + validate_non_negative_index("tp_3d_simplex", "N", N); + current_statement__ = 562; + validate_non_negative_index("tp_3d_simplex", "M", M); + current_statement__ = 563; + validate_non_negative_index("tp_3d_simplex", "K", K); + current_statement__ = 564; + validate_non_negative_index("tp_3d_simplex", "N", N); + current_statement__ = 565; + validate_non_negative_index("tp_cfcov_33_ar", "K", K); + current_statement__ = 566; + validate_non_negative_index("gq_real_1d_ar", "N", N); + current_statement__ = 567; + validate_non_negative_index("gq_real_3d_ar", "N", N); + current_statement__ = 568; + validate_non_negative_index("gq_real_3d_ar", "M", M); + current_statement__ = 569; + validate_non_negative_index("gq_real_3d_ar", "K", K); + current_statement__ = 570; + validate_non_negative_index("gq_vec", "N", N); + current_statement__ = 571; + validate_non_negative_index("gq_1d_vec", "N", N); + current_statement__ = 572; + validate_non_negative_index("gq_1d_vec", "N", N); + current_statement__ = 573; + validate_non_negative_index("gq_3d_vec", "N", N); + current_statement__ = 574; + validate_non_negative_index("gq_3d_vec", "M", M); + current_statement__ = 575; + validate_non_negative_index("gq_3d_vec", "K", K); + current_statement__ = 576; + validate_non_negative_index("gq_3d_vec", "N", N); + current_statement__ = 577; + validate_non_negative_index("gq_row_vec", "N", N); + current_statement__ = 578; + validate_non_negative_index("gq_1d_row_vec", "N", N); + current_statement__ = 579; + validate_non_negative_index("gq_1d_row_vec", "N", N); + current_statement__ = 580; + validate_non_negative_index("gq_3d_row_vec", "N", N); + current_statement__ = 581; + validate_non_negative_index("gq_3d_row_vec", "M", M); + current_statement__ = 582; + validate_non_negative_index("gq_3d_row_vec", "K", K); + current_statement__ = 583; + validate_non_negative_index("gq_3d_row_vec", "N", N); + current_statement__ = 584; + validate_non_negative_index("gq_simplex", "N", N); + current_statement__ = 585; + validate_non_negative_index("gq_1d_simplex", "N", N); + current_statement__ = 586; + validate_non_negative_index("gq_1d_simplex", "N", N); + current_statement__ = 587; + validate_non_negative_index("gq_3d_simplex", "N", N); + current_statement__ = 588; + validate_non_negative_index("gq_3d_simplex", "M", M); + current_statement__ = 589; + validate_non_negative_index("gq_3d_simplex", "K", K); + current_statement__ = 590; + validate_non_negative_index("gq_3d_simplex", "N", N); + current_statement__ = 591; + validate_non_negative_index("gq_cfcov_33_ar", "K", K); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 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 - 1) + (N * (N - 1)) + (N * M * K * (N - 1)) + + ((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4)) + + ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)) + + (K * ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + 2 + 2; + + } + + 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__ = "mother_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + local_scalar_t__ p_real; + p_real = DUMMY_VAR__; + + current_statement__ = 1; + p_real = in__.template read(); + local_scalar_t__ p_upper; + p_upper = DUMMY_VAR__; + + current_statement__ = 2; + p_upper = in__.template read_constrain_lb( + p_real, lp__); + local_scalar_t__ p_lower; + p_lower = DUMMY_VAR__; + + current_statement__ = 3; + p_lower = in__.template read_constrain_ub( + p_upper, lp__); + std::vector offset_multiplier; + offset_multiplier = std::vector(5, DUMMY_VAR__); + + current_statement__ = 4; + offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( + 1, 2, lp__, 5); + std::vector no_offset_multiplier; + no_offset_multiplier = std::vector(5, DUMMY_VAR__); + + current_statement__ = 5; + no_offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( + 0, 2, lp__, 5); + std::vector offset_no_multiplier; + offset_no_multiplier = std::vector(5, DUMMY_VAR__); + + current_statement__ = 6; + offset_no_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( + 3, 1, lp__, 5); + std::vector p_real_1d_ar; + p_real_1d_ar = std::vector(N, DUMMY_VAR__); + + current_statement__ = 7; + p_real_1d_ar = in__.template read_constrain_lb, jacobian__>( + 0, lp__, N); + std::vector>> p_real_3d_ar; + p_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, DUMMY_VAR__))); + + + current_statement__ = 8; + p_real_3d_ar = in__.template read_constrain_lb>>, jacobian__>( + 0, lp__, N, M, K); + Eigen::Matrix p_vec; + p_vec = Eigen::Matrix(N); + stan::math::fill(p_vec, DUMMY_VAR__); + + current_statement__ = 9; + p_vec = in__.template read_constrain_lb, jacobian__>( + 0, lp__, N); + std::vector> p_1d_vec; + p_1d_vec = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(p_1d_vec, DUMMY_VAR__); + + current_statement__ = 10; + p_1d_vec = in__.template read>>( + N, N); + 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__); + + current_statement__ = 11; + p_3d_vec = in__.template read>>>>( + N, M, K, N); + Eigen::Matrix p_row_vec; + p_row_vec = Eigen::Matrix(N); + stan::math::fill(p_row_vec, DUMMY_VAR__); + + current_statement__ = 12; + p_row_vec = in__.template read>( + N); + 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__); + + current_statement__ = 13; + p_1d_row_vec = in__.template read>>( + N, N); + 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__); + + current_statement__ = 14; + p_3d_row_vec = in__.template read>>>>( + N, M, K, N); + Eigen::Matrix p_mat; + p_mat = Eigen::Matrix(5, 4); + stan::math::fill(p_mat, DUMMY_VAR__); + + current_statement__ = 15; + p_mat = in__.template read>(5, + 4); + 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__); + + current_statement__ = 16; + p_ar_mat = in__.template read_constrain_lub>>, jacobian__>( + 0, 1, lp__, 4, 5, 2, 3); + Eigen::Matrix p_simplex; + p_simplex = Eigen::Matrix(N); + stan::math::fill(p_simplex, DUMMY_VAR__); + + current_statement__ = 17; + p_simplex = in__.template read_constrain_simplex, jacobian__>( + lp__, N); + std::vector> p_1d_simplex; + p_1d_simplex = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(p_1d_simplex, DUMMY_VAR__); + + current_statement__ = 18; + p_1d_simplex = in__.template read_constrain_simplex>, jacobian__>( + lp__, N, N); + 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__); + + current_statement__ = 19; + p_3d_simplex = in__.template read_constrain_simplex>>>, jacobian__>( + lp__, N, M, K, N); + Eigen::Matrix p_cfcov_54; + p_cfcov_54 = Eigen::Matrix(5, 4); + stan::math::fill(p_cfcov_54, DUMMY_VAR__); + + current_statement__ = 20; + p_cfcov_54 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( + lp__, 5, 4); + Eigen::Matrix p_cfcov_33; + p_cfcov_33 = Eigen::Matrix(3, 3); + stan::math::fill(p_cfcov_33, DUMMY_VAR__); + + current_statement__ = 21; + p_cfcov_33 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( + lp__, 3, 3); + 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__); + + current_statement__ = 22; + p_cfcov_33_ar = in__.template read_constrain_cholesky_factor_cov>, jacobian__>( + lp__, K, 3, 3); + Eigen::Matrix x_p; + x_p = Eigen::Matrix(2); + stan::math::fill(x_p, DUMMY_VAR__); + + current_statement__ = 23; + x_p = in__.template read>(2); + Eigen::Matrix y_p; + y_p = Eigen::Matrix(2); + stan::math::fill(y_p, DUMMY_VAR__); + + current_statement__ = 24; + y_p = in__.template read>(2); + std::vector tp_real_1d_ar; + tp_real_1d_ar = std::vector(N, DUMMY_VAR__); + + std::vector>> tp_real_3d_ar; + tp_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, DUMMY_VAR__))); + + + Eigen::Matrix tp_vec; + tp_vec = Eigen::Matrix(N); + stan::math::fill(tp_vec, DUMMY_VAR__); + + std::vector> tp_1d_vec; + tp_1d_vec = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(tp_1d_vec, DUMMY_VAR__); + + std::vector>>> tp_3d_vec; + tp_3d_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(tp_3d_vec, DUMMY_VAR__); + + Eigen::Matrix tp_row_vec; + tp_row_vec = Eigen::Matrix(N); + stan::math::fill(tp_row_vec, DUMMY_VAR__); + + std::vector> tp_1d_row_vec; + tp_1d_row_vec = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(tp_1d_row_vec, DUMMY_VAR__); + + std::vector>>> tp_3d_row_vec; + tp_3d_row_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(tp_3d_row_vec, DUMMY_VAR__); + + Eigen::Matrix tp_mat; + tp_mat = Eigen::Matrix(5, 4); + stan::math::fill(tp_mat, DUMMY_VAR__); + + std::vector>> tp_ar_mat; + tp_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); + stan::math::fill(tp_ar_mat, DUMMY_VAR__); + + Eigen::Matrix tp_simplex; + tp_simplex = Eigen::Matrix(N); + stan::math::fill(tp_simplex, DUMMY_VAR__); + + std::vector> tp_1d_simplex; + tp_1d_simplex = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(tp_1d_simplex, DUMMY_VAR__); + + std::vector>>> tp_3d_simplex; + tp_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(tp_3d_simplex, DUMMY_VAR__); + + Eigen::Matrix tp_cfcov_54; + tp_cfcov_54 = Eigen::Matrix(5, 4); + stan::math::fill(tp_cfcov_54, DUMMY_VAR__); + + Eigen::Matrix tp_cfcov_33; + tp_cfcov_33 = Eigen::Matrix(3, 3); + stan::math::fill(tp_cfcov_33, DUMMY_VAR__); + + std::vector> tp_cfcov_33_ar; + tp_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); + stan::math::fill(tp_cfcov_33_ar, DUMMY_VAR__); + + Eigen::Matrix theta_p; + theta_p = Eigen::Matrix(2); + stan::math::fill(theta_p, DUMMY_VAR__); + + local_scalar_t__ tp_real; + tp_real = DUMMY_VAR__; + + current_statement__ = 43; + assign(tp_real_1d_ar, p_real_1d_ar, "assigning variable tp_real_1d_ar"); + current_statement__ = 44; + assign(tp_real_3d_ar, p_real_3d_ar, "assigning variable tp_real_3d_ar"); + current_statement__ = 45; + assign(tp_1d_vec, p_1d_vec, "assigning variable tp_1d_vec"); + current_statement__ = 46; + assign(tp_3d_vec, p_3d_vec, "assigning variable tp_3d_vec"); + current_statement__ = 47; + assign(tp_simplex, p_simplex, "assigning variable tp_simplex"); + current_statement__ = 48; + assign(tp_1d_simplex, p_1d_simplex, "assigning variable tp_1d_simplex"); + current_statement__ = 49; + assign(tp_3d_simplex, p_3d_simplex, "assigning variable tp_3d_simplex"); + current_statement__ = 50; + assign(tp_cfcov_54, p_cfcov_54, "assigning variable tp_cfcov_54"); + current_statement__ = 51; + assign(tp_cfcov_33, p_cfcov_33, "assigning variable tp_cfcov_33"); + current_statement__ = 52; + assign(tp_cfcov_33_ar, p_cfcov_33_ar, + "assigning variable tp_cfcov_33_ar"); + current_statement__ = 53; + assign(tp_mat, stan::math::fma(d_cfcov_54, p_mat, p_mat), + "assigning variable tp_mat"); + current_statement__ = 54; + assign(tp_vec, stan::math::fma(d_vec, p_vec, p_vec), + "assigning variable tp_vec"); + current_statement__ = 63; + for (int i = 1; i <= 2; ++i) { + current_statement__ = 61; + for (int j = 1; j <= 3; ++j) { + current_statement__ = 59; + for (int m = 1; m <= 4; ++m) { + current_statement__ = 57; + for (int n = 1; n <= 5; ++n) { + current_statement__ = 55; + assign(tp_ar_mat, 0.4, + "assigning variable tp_ar_mat", index_uni(m), index_uni(n), + index_uni(i), index_uni(j)); + } + } + } + } + current_statement__ = 65; + for (int i = 1; i <= N; ++i) { + current_statement__ = 64; + assign(tp_vec, (-1.0 * rvalue(p_vec, "p_vec", index_uni(i))), + "assigning variable tp_vec", index_uni(i)); + } + current_statement__ = 66; + assign(tp_row_vec, + transpose(rvalue(tp_1d_vec, "tp_1d_vec", index_uni(1))), + "assigning variable tp_row_vec"); + current_statement__ = 67; + assign(tp_1d_row_vec, p_1d_row_vec, "assigning variable tp_1d_row_vec"); + current_statement__ = 68; + assign(tp_3d_row_vec, p_3d_row_vec, "assigning variable tp_3d_row_vec"); + current_statement__ = 69; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x, y, dat, dat_int, + pstream__), "assigning variable theta_p"); + current_statement__ = 70; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x, y, dat, dat_int, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); + current_statement__ = 71; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x, y_p, dat, dat_int, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); + current_statement__ = 72; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x_p, y, dat, dat_int, + pstream__), "assigning variable theta_p"); + current_statement__ = 73; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x_p, y, dat, dat_int, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); + current_statement__ = 74; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x_p, y_p, dat, dat_int, + pstream__), "assigning variable theta_p"); + current_statement__ = 75; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x_p, y_p, dat, dat_int, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); + current_statement__ = 76; + tp_real = (p_real * p_real); + current_statement__ = 77; + tp_real = (p_real / p_real); + current_statement__ = 25; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 25; + check_greater_or_equal(function__, "tp_real_1d_ar[sym1__]", + tp_real_1d_ar[(sym1__ - 1)], 0); + } + current_statement__ = 26; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 26; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 26; + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + current_statement__ = 26; + check_greater_or_equal(function__, + "tp_real_3d_ar[sym1__, sym2__, sym3__]", + tp_real_3d_ar[(sym1__ - 1)][(sym2__ - 1)][ + (sym3__ - 1)], 0); + } + } + } + current_statement__ = 27; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 27; + check_less_or_equal(function__, "tp_vec[sym1__]", + tp_vec[(sym1__ - 1)], 0); + } + current_statement__ = 34; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 34; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 34; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 34; + for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { + current_statement__ = 34; + check_greater_or_equal(function__, + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]", + rvalue(tp_ar_mat, "tp_ar_mat", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__), index_uni(sym4__)), + 0); + } + } + } + } + current_statement__ = 34; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 34; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 34; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 34; + for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { + current_statement__ = 34; + check_less_or_equal(function__, + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]", + rvalue(tp_ar_mat, "tp_ar_mat", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__), index_uni(sym4__)), + 1); + } + } + } + } + current_statement__ = 35; + check_simplex(function__, "tp_simplex", tp_simplex); + current_statement__ = 36; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 36; + check_simplex(function__, "tp_1d_simplex[sym1__]", + tp_1d_simplex[(sym1__ - 1)]); + } + current_statement__ = 37; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 37; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 37; + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + current_statement__ = 37; + check_simplex(function__, + "tp_3d_simplex[sym1__, sym2__, sym3__]", + tp_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - + 1)]); + } + } + } + current_statement__ = 38; + check_cholesky_factor(function__, "tp_cfcov_54", tp_cfcov_54); + current_statement__ = 39; + check_cholesky_factor(function__, "tp_cfcov_33", tp_cfcov_33); + current_statement__ = 40; + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + current_statement__ = 40; + check_cholesky_factor(function__, "tp_cfcov_33_ar[sym1__]", + tp_cfcov_33_ar[(sym1__ - 1)]); + } + { + Eigen::Matrix tmp; + tmp = Eigen::Matrix(0); + stan::math::fill(tmp, DUMMY_VAR__); + + std::vector> tmp2; + tmp2 = std::vector>(0, Eigen::Matrix(0)); + stan::math::fill(tmp2, DUMMY_VAR__); + + local_scalar_t__ r1; + r1 = DUMMY_VAR__; + current_statement__ = 156; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d, X_p, alpha_v, beta_m)); + r1 = foo_bar1(p_real, pstream__); + local_scalar_t__ r2; + r2 = DUMMY_VAR__; + current_statement__ = 157; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d, X_p, alpha_v, beta_m)); + r2 = foo_bar1(J, pstream__); current_statement__ = 158; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d_td, X_d_td, alpha_v, - beta_m)); + lp_accum__.add(normal_lpdf(p_real, 0, 1)); current_statement__ = 159; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d_td, X_d_td, alpha_v, - beta_m)); + lp_accum__.add(normal_lpdf(offset_multiplier, 0, 1)); current_statement__ = 160; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d_td, X_p, alpha_v, beta_m)); + lp_accum__.add(normal_lpdf(no_offset_multiplier, 0, 1)); current_statement__ = 161; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d_td, X_p, alpha_v, - beta_m)); + lp_accum__.add(normal_lpdf(offset_no_multiplier, 0, 1)); current_statement__ = 162; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d, X_rv_d, alpha_v, beta_m)); - current_statement__ = 163; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d, X_rv_d, alpha_v, - beta_m)); - current_statement__ = 164; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d, X_rv_p, alpha_v, beta_m)); - current_statement__ = 165; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d, X_rv_p, alpha_v, - beta_m)); - current_statement__ = 166; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha_v, - beta_m)); - current_statement__ = 167; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha_v, - beta_m)); - current_statement__ = 168; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d_td, X_rv_p, alpha_v, - beta_m)); - current_statement__ = 169; - lp_accum__.add( - categorical_logit_glm_lpmf(y_vi_d_td, X_rv_p, alpha_v, - beta_m)); - current_statement__ = 170; - lp_accum__.add( - categorical_logit_glm_lpmf(y2_vi_d, X_rv_p, alpha_v, beta_m)); - current_statement__ = 171; - lp_accum__.add( - categorical_logit_glm_lpmf(y2_vi_d, X_rv_p, alpha_v, - beta_m)); - current_statement__ = 172; - lp_accum__.add( - categorical_logit_glm_lpmf(y2_vi_d_td, X_rv_p, alpha_v, - beta_m)); - current_statement__ = 173; - lp_accum__.add( - categorical_logit_glm_lpmf(y2_vi_d_td, X_rv_p, alpha_v, - beta_m)); - current_statement__ = 174; - lp_accum__.add( - normal_id_glm_lpdf(y_v_d, - rvalue(X_d_a, "X_d_a", index_uni(1)), alpha, beta, sigma)); + lp_accum__.add(normal_lpdf(to_vector(p_real_1d_ar), 0, 1)); current_statement__ = 175; + for (int n = 1; n <= N; ++n) { + current_statement__ = 163; + lp_accum__.add( + normal_lpdf( + to_vector(rvalue(p_1d_vec, "p_1d_vec", index_uni(n))), 0, 1)); + current_statement__ = 164; + lp_accum__.add( + normal_lpdf( + to_vector(rvalue(p_1d_row_vec, "p_1d_row_vec", index_uni(n))), + 0, 1)); + current_statement__ = 165; + lp_accum__.add( + normal_lpdf( + to_vector(rvalue(p_1d_simplex, "p_1d_simplex", index_uni(n))), + 0, 1)); + current_statement__ = 173; + for (int m = 1; m <= M; ++m) { + current_statement__ = 171; + for (int k = 1; k <= K; ++k) { + current_statement__ = 166; + lp_accum__.add( + normal_lpdf( + to_vector( + rvalue(p_3d_vec, "p_3d_vec", + index_uni(n), index_uni(m), index_uni(k))), + rvalue(d_3d_vec, "d_3d_vec", + index_uni(n), index_uni(m), index_uni(k)), 1)); + current_statement__ = 167; + lp_accum__.add( + normal_lpdf( + to_vector( + rvalue(p_3d_row_vec, "p_3d_row_vec", + index_uni(n), index_uni(m), index_uni(k))), + rvalue(d_3d_row_vec, "d_3d_row_vec", + index_uni(n), index_uni(m), index_uni(k)), 1)); + current_statement__ = 168; + lp_accum__.add( + normal_lpdf( + to_vector( + rvalue(p_3d_simplex, "p_3d_simplex", + index_uni(n), index_uni(m), index_uni(k))), + rvalue(d_3d_simplex, "d_3d_simplex", + index_uni(n), index_uni(m), index_uni(k)), 1)); + current_statement__ = 169; + lp_accum__.add( + normal_lpdf( + rvalue(p_real_3d_ar, "p_real_3d_ar", + index_uni(n), index_uni(m), index_uni(k)), + rvalue(p_real_3d_ar, "p_real_3d_ar", + index_uni(n), index_uni(m), index_uni(k)), 1)); + } + } + } + current_statement__ = 180; + for (int i = 1; i <= 4; ++i) { + current_statement__ = 178; + for (int j = 1; j <= 5; ++j) { + current_statement__ = 176; + lp_accum__.add( + normal_lpdf( + to_vector( + rvalue(p_ar_mat, "p_ar_mat", index_uni(i), index_uni(j))), + 0, 1)); + } + } + current_statement__ = 183; + for (int k = 1; k <= K; ++k) { + current_statement__ = 181; + lp_accum__.add( + normal_lpdf( + to_vector(rvalue(p_cfcov_33_ar, "p_cfcov_33_ar", index_uni(k))), + 0, 1)); + } + current_statement__ = 184; + lp_accum__.add(normal_lpdf(to_vector(p_vec), d_vec, 1)); + current_statement__ = 185; + lp_accum__.add(normal_lpdf(to_vector(p_row_vec), 0, 1)); + current_statement__ = 186; + lp_accum__.add(normal_lpdf(to_vector(p_simplex), 0, 1)); + current_statement__ = 187; + lp_accum__.add(normal_lpdf(to_vector(p_cfcov_54), 0, 1)); + current_statement__ = 188; + lp_accum__.add(normal_lpdf(to_vector(p_cfcov_33), 0, 1)); + current_statement__ = 189; lp_accum__.add( - normal_id_glm_lpdf(y_v_d, - rvalue(X_d_a, "X_d_a", index_uni(1)), alpha, beta, sigma)); + map_rect<1, binomialf_functor__>(tmp, tmp2, x_r, x_i, pstream__)); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "mother_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + double p_real; + p_real = std::numeric_limits::quiet_NaN(); + + current_statement__ = 1; + p_real = in__.template read(); + double p_upper; + p_upper = std::numeric_limits::quiet_NaN(); + + current_statement__ = 2; + p_upper = in__.template read_constrain_lb( + p_real, lp__); + double p_lower; + p_lower = std::numeric_limits::quiet_NaN(); + + current_statement__ = 3; + p_lower = in__.template read_constrain_ub( + p_upper, lp__); + std::vector offset_multiplier; + offset_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 4; + offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( + 1, 2, lp__, 5); + std::vector no_offset_multiplier; + no_offset_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 5; + no_offset_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( + 0, 2, lp__, 5); + std::vector offset_no_multiplier; + offset_no_multiplier = std::vector(5, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 6; + offset_no_multiplier = in__.template read_constrain_offset_multiplier, jacobian__>( + 3, 1, lp__, 5); + 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 = in__.template read_constrain_lb, jacobian__>( + 0, lp__, N); + std::vector>> p_real_3d_ar; + p_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); + + + current_statement__ = 8; + p_real_3d_ar = in__.template read_constrain_lb>>, jacobian__>( + 0, lp__, N, M, K); + Eigen::Matrix p_vec; + p_vec = Eigen::Matrix(N); + stan::math::fill(p_vec, std::numeric_limits::quiet_NaN()); + + current_statement__ = 9; + p_vec = in__.template read_constrain_lb, jacobian__>( + 0, lp__, N); + 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()); + + current_statement__ = 10; + p_1d_vec = in__.template read>>( + N, N); + 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()); + + current_statement__ = 11; + p_3d_vec = in__.template read>>>>( + N, M, K, N); + Eigen::Matrix p_row_vec; + p_row_vec = Eigen::Matrix(N); + stan::math::fill(p_row_vec, std::numeric_limits::quiet_NaN()); + + current_statement__ = 12; + p_row_vec = in__.template read>( + N); + 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()); + + + current_statement__ = 13; + p_1d_row_vec = in__.template read>>( + N, N); + 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()); + + + current_statement__ = 14; + p_3d_row_vec = in__.template read>>>>( + N, M, K, N); + Eigen::Matrix p_mat; + p_mat = Eigen::Matrix(5, 4); + stan::math::fill(p_mat, std::numeric_limits::quiet_NaN()); + + current_statement__ = 15; + p_mat = in__.template read>(5, + 4); + 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()); + + current_statement__ = 16; + p_ar_mat = in__.template read_constrain_lub>>, jacobian__>( + 0, 1, lp__, 4, 5, 2, 3); + Eigen::Matrix p_simplex; + p_simplex = Eigen::Matrix(N); + stan::math::fill(p_simplex, std::numeric_limits::quiet_NaN()); + + current_statement__ = 17; + p_simplex = in__.template read_constrain_simplex, jacobian__>( + lp__, N); + 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()); + + + current_statement__ = 18; + p_1d_simplex = in__.template read_constrain_simplex>, jacobian__>( + lp__, N, N); + 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()); + + + current_statement__ = 19; + p_3d_simplex = in__.template read_constrain_simplex>>>, jacobian__>( + lp__, N, M, K, N); + Eigen::Matrix p_cfcov_54; + p_cfcov_54 = Eigen::Matrix(5, 4); + stan::math::fill(p_cfcov_54, std::numeric_limits::quiet_NaN()); + + current_statement__ = 20; + p_cfcov_54 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( + lp__, 5, 4); + Eigen::Matrix p_cfcov_33; + p_cfcov_33 = Eigen::Matrix(3, 3); + stan::math::fill(p_cfcov_33, std::numeric_limits::quiet_NaN()); + + current_statement__ = 21; + p_cfcov_33 = in__.template read_constrain_cholesky_factor_cov, jacobian__>( + lp__, 3, 3); + 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()); + + + current_statement__ = 22; + p_cfcov_33_ar = in__.template read_constrain_cholesky_factor_cov>, jacobian__>( + lp__, K, 3, 3); + Eigen::Matrix x_p; + x_p = Eigen::Matrix(2); + stan::math::fill(x_p, std::numeric_limits::quiet_NaN()); + + current_statement__ = 23; + x_p = in__.template read>(2); + Eigen::Matrix y_p; + y_p = Eigen::Matrix(2); + stan::math::fill(y_p, std::numeric_limits::quiet_NaN()); + + current_statement__ = 24; + y_p = in__.template read>(2); + std::vector tp_real_1d_ar; + tp_real_1d_ar = std::vector(N, std::numeric_limits::quiet_NaN()); + + + std::vector>> tp_real_3d_ar; + tp_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); + + + Eigen::Matrix tp_vec; + tp_vec = Eigen::Matrix(N); + stan::math::fill(tp_vec, std::numeric_limits::quiet_NaN()); + + std::vector> tp_1d_vec; + tp_1d_vec = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(tp_1d_vec, std::numeric_limits::quiet_NaN()); + + std::vector>>> tp_3d_vec; + tp_3d_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(tp_3d_vec, std::numeric_limits::quiet_NaN()); + + Eigen::Matrix tp_row_vec; + tp_row_vec = Eigen::Matrix(N); + stan::math::fill(tp_row_vec, std::numeric_limits::quiet_NaN()); + + std::vector> tp_1d_row_vec; + tp_1d_row_vec = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(tp_1d_row_vec, std::numeric_limits::quiet_NaN()); + + + std::vector>>> tp_3d_row_vec; + tp_3d_row_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(tp_3d_row_vec, std::numeric_limits::quiet_NaN()); + + + Eigen::Matrix tp_mat; + tp_mat = Eigen::Matrix(5, 4); + stan::math::fill(tp_mat, std::numeric_limits::quiet_NaN()); + + std::vector>> tp_ar_mat; + tp_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); + stan::math::fill(tp_ar_mat, std::numeric_limits::quiet_NaN()); + + Eigen::Matrix tp_simplex; + tp_simplex = Eigen::Matrix(N); + stan::math::fill(tp_simplex, std::numeric_limits::quiet_NaN()); + + std::vector> tp_1d_simplex; + tp_1d_simplex = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(tp_1d_simplex, std::numeric_limits::quiet_NaN()); + + + std::vector>>> tp_3d_simplex; + tp_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(tp_3d_simplex, std::numeric_limits::quiet_NaN()); + + + Eigen::Matrix tp_cfcov_54; + tp_cfcov_54 = Eigen::Matrix(5, 4); + stan::math::fill(tp_cfcov_54, std::numeric_limits::quiet_NaN()); + + Eigen::Matrix tp_cfcov_33; + tp_cfcov_33 = Eigen::Matrix(3, 3); + stan::math::fill(tp_cfcov_33, std::numeric_limits::quiet_NaN()); + + std::vector> tp_cfcov_33_ar; + tp_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); + stan::math::fill(tp_cfcov_33_ar, std::numeric_limits::quiet_NaN()); + + + Eigen::Matrix theta_p; + theta_p = Eigen::Matrix(2); + stan::math::fill(theta_p, std::numeric_limits::quiet_NaN()); + + double tp_real; + tp_real = std::numeric_limits::quiet_NaN(); + + 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); + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + out__.write( + p_real_3d_ar[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + } + } + } + out__.write(p_vec); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(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__) { + out__.write( + p_3d_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][(sym1__ - + 1)]); + } + } + } + } + out__.write(p_row_vec); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(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__) { + out__.write( + p_3d_row_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ + (sym1__ - 1)]); + } + } + } + } + out__.write(p_mat); + 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__) { + out__.write( + rvalue(p_ar_mat, "p_ar_mat", + index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__))); + } + } + } + } + out__.write(p_simplex); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(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__) { + out__.write( + p_3d_simplex[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ + (sym1__ - 1)]); + } + } + } + } + out__.write(p_cfcov_54); + out__.write(p_cfcov_33); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + out__.write( + rvalue(p_cfcov_33_ar, "p_cfcov_33_ar", + index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); + } + } + } + out__.write(x_p); + out__.write(y_p); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + current_statement__ = 43; + assign(tp_real_1d_ar, p_real_1d_ar, "assigning variable tp_real_1d_ar"); + current_statement__ = 44; + assign(tp_real_3d_ar, p_real_3d_ar, "assigning variable tp_real_3d_ar"); + current_statement__ = 45; + assign(tp_1d_vec, p_1d_vec, "assigning variable tp_1d_vec"); + current_statement__ = 46; + assign(tp_3d_vec, p_3d_vec, "assigning variable tp_3d_vec"); + current_statement__ = 47; + assign(tp_simplex, p_simplex, "assigning variable tp_simplex"); + current_statement__ = 48; + assign(tp_1d_simplex, p_1d_simplex, "assigning variable tp_1d_simplex"); + current_statement__ = 49; + assign(tp_3d_simplex, p_3d_simplex, "assigning variable tp_3d_simplex"); + current_statement__ = 50; + assign(tp_cfcov_54, p_cfcov_54, "assigning variable tp_cfcov_54"); + current_statement__ = 51; + assign(tp_cfcov_33, p_cfcov_33, "assigning variable tp_cfcov_33"); + current_statement__ = 52; + assign(tp_cfcov_33_ar, p_cfcov_33_ar, + "assigning variable tp_cfcov_33_ar"); + current_statement__ = 53; + assign(tp_mat, stan::math::fma(d_cfcov_54, p_mat, p_mat), + "assigning variable tp_mat"); + current_statement__ = 54; + assign(tp_vec, stan::math::fma(d_vec, p_vec, p_vec), + "assigning variable tp_vec"); + current_statement__ = 63; + for (int i = 1; i <= 2; ++i) { + current_statement__ = 61; + for (int j = 1; j <= 3; ++j) { + current_statement__ = 59; + for (int m = 1; m <= 4; ++m) { + current_statement__ = 57; + for (int n = 1; n <= 5; ++n) { + current_statement__ = 55; + assign(tp_ar_mat, 0.4, + "assigning variable tp_ar_mat", index_uni(m), index_uni(n), + index_uni(i), index_uni(j)); + } + } + } + } + current_statement__ = 65; + for (int i = 1; i <= N; ++i) { + current_statement__ = 64; + assign(tp_vec, (-1.0 * rvalue(p_vec, "p_vec", index_uni(i))), + "assigning variable tp_vec", index_uni(i)); + } + current_statement__ = 66; + assign(tp_row_vec, + transpose(rvalue(tp_1d_vec, "tp_1d_vec", index_uni(1))), + "assigning variable tp_row_vec"); + current_statement__ = 67; + assign(tp_1d_row_vec, p_1d_row_vec, "assigning variable tp_1d_row_vec"); + current_statement__ = 68; + assign(tp_3d_row_vec, p_3d_row_vec, "assigning variable tp_3d_row_vec"); + current_statement__ = 69; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x, y, dat, dat_int, + pstream__), "assigning variable theta_p"); + current_statement__ = 70; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x, y, dat, dat_int, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); + current_statement__ = 71; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x, y_p, dat, dat_int, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); + current_statement__ = 72; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x_p, y, dat, dat_int, + pstream__), "assigning variable theta_p"); + current_statement__ = 73; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x_p, y, dat, dat_int, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); + current_statement__ = 74; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x_p, y_p, dat, dat_int, + pstream__), "assigning variable theta_p"); + current_statement__ = 75; + assign(theta_p, + algebra_solver(algebra_system_functor__(), x_p, y_p, dat, dat_int, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p"); + current_statement__ = 76; + tp_real = (p_real * p_real); + current_statement__ = 77; + tp_real = (p_real / p_real); + current_statement__ = 25; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 25; + check_greater_or_equal(function__, "tp_real_1d_ar[sym1__]", + tp_real_1d_ar[(sym1__ - 1)], 0); + } + current_statement__ = 26; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 26; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 26; + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + current_statement__ = 26; + check_greater_or_equal(function__, + "tp_real_3d_ar[sym1__, sym2__, sym3__]", + tp_real_3d_ar[(sym1__ - 1)][(sym2__ - 1)][ + (sym3__ - 1)], 0); + } + } + } + current_statement__ = 27; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 27; + check_less_or_equal(function__, "tp_vec[sym1__]", + tp_vec[(sym1__ - 1)], 0); + } + current_statement__ = 34; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 34; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 34; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 34; + for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { + current_statement__ = 34; + check_greater_or_equal(function__, + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]", + rvalue(tp_ar_mat, "tp_ar_mat", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__), index_uni(sym4__)), + 0); + } + } + } } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - lp_accum__.add(lp__); - return lp_accum__.sum(); - } // log_prob_impl() - - 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; - 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__ = "optimize_glm_model_namespace::write_array"; - (void) function__; // suppress unused var warning - - try { - Eigen::Matrix alpha_v; - alpha_v = Eigen::Matrix(k); - stan::math::fill(alpha_v, std::numeric_limits::quiet_NaN()); - - current_statement__ = 1; - alpha_v = in__.template read>(k); - Eigen::Matrix beta; - beta = Eigen::Matrix(k); - stan::math::fill(beta, std::numeric_limits::quiet_NaN()); - - current_statement__ = 2; - beta = in__.template read>(k); - Eigen::Matrix cuts; - cuts = Eigen::Matrix(k); - stan::math::fill(cuts, std::numeric_limits::quiet_NaN()); - - current_statement__ = 3; - cuts = in__.template read>(k); - double sigma; - sigma = std::numeric_limits::quiet_NaN(); - - current_statement__ = 4; - sigma = in__.template read_constrain_lb( - 0, lp__); - double alpha; - alpha = std::numeric_limits::quiet_NaN(); - - current_statement__ = 5; - alpha = in__.template read(); - double phi; - phi = std::numeric_limits::quiet_NaN(); - - current_statement__ = 6; - phi = in__.template read(); - Eigen::Matrix X_p; - X_p = Eigen::Matrix(n, k); - stan::math::fill(X_p, std::numeric_limits::quiet_NaN()); - - current_statement__ = 7; - X_p = in__.template read>(n, k); - Eigen::Matrix beta_m; - beta_m = Eigen::Matrix(n, k); - stan::math::fill(beta_m, std::numeric_limits::quiet_NaN()); - - current_statement__ = 8; - beta_m = in__.template read>(n, - k); - Eigen::Matrix X_rv_p; - X_rv_p = Eigen::Matrix(n); - stan::math::fill(X_rv_p, std::numeric_limits::quiet_NaN()); - - current_statement__ = 9; - X_rv_p = in__.template read>(n); - 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 ; - } - if (logical_negation(emit_generated_quantities__)) { - return ; - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - } // 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(); + current_statement__ = 34; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 34; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 34; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 34; + for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { + current_statement__ = 34; + check_less_or_equal(function__, + "tp_ar_mat[sym1__, sym2__, sym3__, sym4__]", + rvalue(tp_ar_mat, "tp_ar_mat", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__), index_uni(sym4__)), + 1); + } + } + } + } + current_statement__ = 35; + check_simplex(function__, "tp_simplex", tp_simplex); + current_statement__ = 36; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 36; + check_simplex(function__, "tp_1d_simplex[sym1__]", + tp_1d_simplex[(sym1__ - 1)]); + } + current_statement__ = 37; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 37; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 37; + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + current_statement__ = 37; + check_simplex(function__, + "tp_3d_simplex[sym1__, sym2__, sym3__]", + tp_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - + 1)]); + } + } + } + current_statement__ = 38; + check_cholesky_factor(function__, "tp_cfcov_54", tp_cfcov_54); + current_statement__ = 39; + check_cholesky_factor(function__, "tp_cfcov_33", tp_cfcov_33); + current_statement__ = 40; + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + current_statement__ = 40; + check_cholesky_factor(function__, "tp_cfcov_33_ar[sym1__]", + tp_cfcov_33_ar[(sym1__ - 1)]); + } + if (emit_transformed_parameters__) { + out__.write(tp_real_1d_ar); + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + out__.write( + tp_real_3d_ar[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + } + } + } + out__.write(tp_vec); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(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__) { + out__.write( + tp_3d_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ + (sym1__ - 1)]); + } + } + } + } + out__.write(tp_row_vec); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(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__) { + out__.write( + tp_3d_row_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ + (sym1__ - 1)]); + } + } + } + } + out__.write(tp_mat); + 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__) { + out__.write( + rvalue(tp_ar_mat, "tp_ar_mat", + index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__))); + } + } + } + } + out__.write(tp_simplex); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(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__) { + out__.write( + tp_3d_simplex[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ + (sym1__ - 1)]); + } + } + } + } + out__.write(tp_cfcov_54); + out__.write(tp_cfcov_33); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + out__.write( + rvalue(tp_cfcov_33_ar, "tp_cfcov_33_ar", + index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); + } + } + } + out__.write(theta_p); + out__.write(tp_real); + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + double gq_r1; + gq_r1 = std::numeric_limits::quiet_NaN(); - pos__ = 1; - Eigen::Matrix alpha_v; - alpha_v = Eigen::Matrix(k); - stan::math::fill(alpha_v, DUMMY_VAR__); + current_statement__ = 78; + gq_r1 = foo_bar1(p_real, pstream__); + double gq_r2; + gq_r2 = std::numeric_limits::quiet_NaN(); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - assign(alpha_v, in__.read(), - "assigning variable alpha_v", index_uni(sym1__)); - } - out__.write(alpha_v); - Eigen::Matrix beta; - beta = Eigen::Matrix(k); - stan::math::fill(beta, DUMMY_VAR__); + current_statement__ = 79; + gq_r2 = foo_bar1(J, pstream__); + std::vector gq_real_1d_ar; + gq_real_1d_ar = std::vector(N, std::numeric_limits::quiet_NaN()); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - assign(beta, in__.read(), - "assigning variable beta", index_uni(sym1__)); - } - out__.write(beta); - Eigen::Matrix cuts; - cuts = Eigen::Matrix(k); - stan::math::fill(cuts, DUMMY_VAR__); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - assign(cuts, in__.read(), - "assigning variable cuts", index_uni(sym1__)); - } - out__.write(cuts); - local_scalar_t__ sigma; - sigma = DUMMY_VAR__; + std::vector>> gq_real_3d_ar; + gq_real_3d_ar = std::vector>>(N, std::vector>(M, std::vector(K, std::numeric_limits::quiet_NaN()))); - sigma = in__.read(); - out__.write_free_lb(0, sigma); - local_scalar_t__ alpha; - alpha = DUMMY_VAR__; - alpha = in__.read(); - out__.write(alpha); - local_scalar_t__ phi; - phi = DUMMY_VAR__; + Eigen::Matrix gq_vec; + gq_vec = Eigen::Matrix(N); + stan::math::fill(gq_vec, 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> gq_1d_vec; + gq_1d_vec = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(gq_1d_vec, std::numeric_limits::quiet_NaN()); - 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__)); - } - } - out__.write(X_p); - Eigen::Matrix beta_m; - beta_m = Eigen::Matrix(n, k); - stan::math::fill(beta_m, DUMMY_VAR__); + std::vector>>> gq_3d_vec; + gq_3d_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(gq_3d_vec, std::numeric_limits::quiet_NaN()); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - 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__); + Eigen::Matrix gq_row_vec; + gq_row_vec = Eigen::Matrix(N); + stan::math::fill(gq_row_vec, std::numeric_limits::quiet_NaN()); - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - 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__]); - } - } // transform_inits_impl() - - inline void get_param_names(std::vector& names__) const { - - names__ = std::vector{"alpha_v", "beta", "cuts", "sigma", - "alpha", "phi", "X_p", "beta_m", "X_rv_p"}; - - } // get_param_names() - - inline void get_dims(std::vector>& dimss__) const { - - dimss__ = std::vector>{std::vector{ - static_cast(k) - }, - std::vector{static_cast(k)}, - std::vector{static_cast(k)}, std::vector{ - }, std::vector{}, std::vector{}, - std::vector{static_cast(n), static_cast(k)}, - std::vector{static_cast(n), static_cast(k)}, - 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__ <= k; ++sym1__) { - { - param_names__.emplace_back(std::string() + "alpha_v" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - { - param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - { - param_names__.emplace_back(std::string() + "cuts" + '.' + std::to_string(sym1__)); - } - } - param_names__.emplace_back(std::string() + "sigma"); - param_names__.emplace_back(std::string() + "alpha"); - param_names__.emplace_back(std::string() + "phi"); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - { - param_names__.emplace_back(std::string() + "X_p" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - { - param_names__.emplace_back(std::string() + "beta_m" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - { - param_names__.emplace_back(std::string() + "X_rv_p" + '.' + std::to_string(sym1__)); - } - } - if (emit_transformed_parameters__) { + std::vector> gq_1d_row_vec; + gq_1d_row_vec = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(gq_1d_row_vec, std::numeric_limits::quiet_NaN()); - } - - if (emit_generated_quantities__) { - } - - } // constrained_param_names() - - inline void unconstrained_param_names( - std::vector& param_names__, - bool emit_transformed_parameters__ = true, - bool emit_generated_quantities__ = true) const - final { - - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - { - param_names__.emplace_back(std::string() + "alpha_v" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - { - param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - { - param_names__.emplace_back(std::string() + "cuts" + '.' + std::to_string(sym1__)); - } - } - param_names__.emplace_back(std::string() + "sigma"); - param_names__.emplace_back(std::string() + "alpha"); - param_names__.emplace_back(std::string() + "phi"); - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - { - param_names__.emplace_back(std::string() + "X_p" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= k; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= n; ++sym2__) { - { - param_names__.emplace_back(std::string() + "beta_m" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= n; ++sym1__) { - { - param_names__.emplace_back(std::string() + "X_rv_p" + '.' + std::to_string(sym1__)); - } - } - if (emit_transformed_parameters__) { + std::vector>>> gq_3d_row_vec; + gq_3d_row_vec = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(gq_3d_row_vec, std::numeric_limits::quiet_NaN()); + + + std::vector>> gq_ar_mat; + gq_ar_mat = std::vector>>(4, std::vector>(5, Eigen::Matrix(2, 3))); + stan::math::fill(gq_ar_mat, std::numeric_limits::quiet_NaN()); + + Eigen::Matrix gq_simplex; + gq_simplex = Eigen::Matrix(N); + stan::math::fill(gq_simplex, std::numeric_limits::quiet_NaN()); + + std::vector> gq_1d_simplex; + gq_1d_simplex = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(gq_1d_simplex, std::numeric_limits::quiet_NaN()); + + + std::vector>>> gq_3d_simplex; + gq_3d_simplex = std::vector>>>(N, std::vector>>(M, std::vector>(K, Eigen::Matrix(N)))); + stan::math::fill(gq_3d_simplex, std::numeric_limits::quiet_NaN()); + + + Eigen::Matrix gq_cfcov_54; + gq_cfcov_54 = Eigen::Matrix(5, 4); + stan::math::fill(gq_cfcov_54, std::numeric_limits::quiet_NaN()); - } - - if (emit_generated_quantities__) { + Eigen::Matrix gq_cfcov_33; + gq_cfcov_33 = Eigen::Matrix(3, 3); + stan::math::fill(gq_cfcov_33, std::numeric_limits::quiet_NaN()); - } - - } // unconstrained_param_names() - - inline std::string get_constrained_sizedtypes() const { - - return std::string("[{\"name\":\"alpha_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"beta\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"cuts\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"sigma\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"alpha\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"phi\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"X_p\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(n) + ",\"cols\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"beta_m\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(n) + ",\"cols\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"X_rv_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(n) + "},\"block\":\"parameters\"}]"); - - } // get_constrained_sizedtypes() - - inline std::string get_unconstrained_sizedtypes() const { - - return std::string("[{\"name\":\"alpha_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"beta\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"cuts\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"sigma\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"alpha\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"phi\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"X_p\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(n) + ",\"cols\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"beta_m\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(n) + ",\"cols\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"X_rv_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(n) + "},\"block\":\"parameters\"}]"); - - } // get_unconstrained_sizedtypes() - - - // Begin method overload boilerplate - template - inline void write_array(RNG& base_rng, - Eigen::Matrix& params_r, - Eigen::Matrix& vars, - const bool emit_transformed_parameters = true, - const bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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); - vars = Eigen::Map>( - vars_vec.data(), vars_vec.size()); - } - - template - inline void write_array(RNG& base_rng, std::vector& params_r, - std::vector& params_i, - std::vector& vars, - bool emit_transformed_parameters = true, - bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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 - inline T_ log_prob(Eigen::Matrix& params_r, - std::ostream* pstream = nullptr) const { - Eigen::Matrix params_i; - return log_prob_impl(params_r, params_i, pstream); - } - - template - inline T__ log_prob(std::vector& params_r, - std::vector& params_i, - std::ostream* pstream = nullptr) const { - return log_prob_impl(params_r, params_i, pstream); - } - - - 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.size()); - std::vector params_i; - 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 { - constexpr std::array names__{"alpha_v", "beta", "cuts", - "sigma", "alpha", "phi", "X_p", "beta_m", "X_rv_p"}; - const std::array constrain_param_sizes__{k, k, - k, 1, 1, 1, (n * k), (n * k), n}; - const auto num_constrained_params__ = std::accumulate( - constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); - - std::vector params_r_flat__(num_constrained_params__); - Eigen::Index size_iter__ = 0; - Eigen::Index flat_iter__ = 0; - for (auto&& param_name__ : names__) { - const auto param_vec__ = context.vals_r(param_name__); - for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { - params_r_flat__[flat_iter__] = param_vec__[i]; - ++flat_iter__; - } - ++size_iter__; - } - vars.resize(num_params_r__); - transform_inits_impl(params_r_flat__, params_i, vars, pstream__); - } // transform_inits() - -}; -} -using stan_model = optimize_glm_model_namespace::optimize_glm_model; - -#ifndef USING_R - -// Boilerplate -stan::model::model_base& new_model( - stan::io::var_context& data_context, - unsigned int seed, - std::ostream* msg_stream) { - stan_model* m = new stan_model(data_context, seed, msg_stream); - return *m; -} - -stan::math::profile_map& get_stan_profile_data() { - return optimize_glm_model_namespace::profiles__; -} - -#endif - - - - $ ../../../../../install/default/bin/stanc --print-cpp param-constraint.stan - -// Code generated by %%NAME%% %%VERSION%% -#include -namespace param_constraint_model_namespace { - -using stan::io::dump; -using stan::model::assign; -using stan::model::index_uni; -using stan::model::index_max; -using stan::model::index_min; -using stan::model::index_min_max; -using stan::model::index_multi; -using stan::model::index_omni; -using stan::model::model_base_crtp; -using stan::model::rvalue; -using namespace stan::math; - - -stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = -{" (found before start of program)", - " (in 'param-constraint.stan', line 7, column 2 to column 38)", - " (in 'param-constraint.stan', line 8, column 2 to column 38)", - " (in 'param-constraint.stan', line 2, column 2 to column 9)", - " (in 'param-constraint.stan', line 3, column 2 to column 9)", - " (in 'param-constraint.stan', line 7, column 34 to column 36)", - " (in 'param-constraint.stan', line 8, column 31 to column 33)"}; - - - -class param_constraint_model final : public model_base_crtp { - - private: - int nt; - int NS; - - - public: - ~param_constraint_model() { } - - inline std::string model_name() const final { return "param_constraint_model"; } - - inline std::vector model_compile_info() const noexcept { - return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; - } - - - param_constraint_model(stan::io::var_context& context__, - unsigned int random_seed__ = 0, - std::ostream* pstream__ = nullptr) : model_base_crtp(0) { - int current_statement__ = 0; - using local_scalar_t__ = double ; - boost::ecuyer1988 base_rng__ = - stan::services::util::create_rng(random_seed__, 0); - (void) base_rng__; // suppress unused var warning - static constexpr const char* function__ = "param_constraint_model_namespace::param_constraint_model"; - (void) function__; // suppress unused var warning - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int pos__; - pos__ = std::numeric_limits::min(); + std::vector> gq_cfcov_33_ar; + gq_cfcov_33_ar = std::vector>(K, Eigen::Matrix(3, 3)); + stan::math::fill(gq_cfcov_33_ar, std::numeric_limits::quiet_NaN()); - pos__ = 1; - current_statement__ = 3; - context__.validate_dims("data initialization","nt","int", - std::vector{}); - nt = std::numeric_limits::min(); - current_statement__ = 3; - nt = context__.vals_i("nt")[(1 - 1)]; - current_statement__ = 4; - context__.validate_dims("data initialization","NS","int", - std::vector{}); - NS = std::numeric_limits::min(); + std::vector indices; + indices = std::vector(3, std::numeric_limits::min()); - current_statement__ = 4; - NS = context__.vals_i("NS")[(1 - 1)]; - current_statement__ = 5; - validate_non_negative_index("L_Omega", "nt", nt); - current_statement__ = 6; - validate_non_negative_index("z1", "NS", NS); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - num_params_r__ = (nt * ((2 * (2 - 1)) / 2)) + NS; - - } - - 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__ = "param_constraint_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - - try { - std::vector> L_Omega; - L_Omega = std::vector>(nt, Eigen::Matrix(2, 2)); - stan::math::fill(L_Omega, DUMMY_VAR__); + current_statement__ = 95; + assign(indices, std::vector{2, 3, 1}, "assigning variable indices"); + std::vector> indexing_mat; + indexing_mat = std::vector>(5, Eigen::Matrix(3, 4)); + stan::math::fill(indexing_mat, std::numeric_limits::quiet_NaN()); + + + std::vector> idx_res1; + idx_res1 = std::vector>(3, Eigen::Matrix(3, 4)); + stan::math::fill(idx_res1, std::numeric_limits::quiet_NaN()); - current_statement__ = 1; - L_Omega = in__.template read_constrain_cholesky_factor_corr>, jacobian__>( - lp__, nt, 2); - Eigen::Matrix z1; - z1 = Eigen::Matrix(NS); - stan::math::fill(z1, DUMMY_VAR__); + std::vector> idx_res2; + idx_res2 = std::vector>(5, Eigen::Matrix(3, 4)); + stan::math::fill(idx_res2, std::numeric_limits::quiet_NaN()); - current_statement__ = 2; - z1 = in__.template read_constrain_lb, jacobian__>( - rvalue(L_Omega, "L_Omega", - index_uni(1), index_uni(1), index_uni(2)), lp__, NS); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - lp_accum__.add(lp__); - return lp_accum__.sum(); - } // log_prob_impl() - - 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; - 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__ = "param_constraint_model_namespace::write_array"; - (void) function__; // suppress unused var warning - - try { - 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> idx_res3; + idx_res3 = std::vector>(3, Eigen::Matrix(3, 3)); + stan::math::fill(idx_res3, std::numeric_limits::quiet_NaN()); - current_statement__ = 1; - L_Omega = in__.template read_constrain_cholesky_factor_corr>, jacobian__>( - lp__, nt, 2); - Eigen::Matrix z1; - z1 = Eigen::Matrix(NS); - stan::math::fill(z1, std::numeric_limits::quiet_NaN()); + std::vector> idx_res11; + idx_res11 = std::vector>(3, Eigen::Matrix(3, 4)); + stan::math::fill(idx_res11, std::numeric_limits::quiet_NaN()); - current_statement__ = 2; - z1 = in__.template read_constrain_lb, jacobian__>( - rvalue(L_Omega, "L_Omega", - index_uni(1), index_uni(1), index_uni(2)), lp__, NS); - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + std::vector> idx_res21; + idx_res21 = std::vector>(5, Eigen::Matrix(3, 4)); + stan::math::fill(idx_res21, std::numeric_limits::quiet_NaN()); + + std::vector> idx_res31; + idx_res31 = std::vector>(3, Eigen::Matrix(3, 3)); + stan::math::fill(idx_res31, std::numeric_limits::quiet_NaN()); + + std::vector> idx_res4; + idx_res4 = std::vector>(3, Eigen::Matrix(4)); + stan::math::fill(idx_res4, std::numeric_limits::quiet_NaN()); + + std::vector> idx_res5; + idx_res5 = std::vector>(2, Eigen::Matrix(2)); + stan::math::fill(idx_res5, std::numeric_limits::quiet_NaN()); + + current_statement__ = 105; + assign(gq_real_1d_ar, + rvalue(p_1d_simplex, "p_1d_simplex", index_omni(), index_uni(1)), + "assigning variable gq_real_1d_ar"); + current_statement__ = 106; + assign(gq_real_3d_ar, p_real_3d_ar, "assigning variable gq_real_3d_ar"); + current_statement__ = 107; + assign(gq_1d_vec, p_1d_vec, "assigning variable gq_1d_vec"); + current_statement__ = 108; + assign(gq_3d_vec, p_3d_vec, "assigning variable gq_3d_vec"); + current_statement__ = 109; + assign(gq_row_vec, p_row_vec, "assigning variable gq_row_vec"); + current_statement__ = 110; + assign(gq_1d_row_vec, p_1d_row_vec, "assigning variable gq_1d_row_vec"); + current_statement__ = 111; + assign(gq_3d_row_vec, p_3d_row_vec, "assigning variable gq_3d_row_vec"); + current_statement__ = 112; + assign(gq_simplex, + rvalue(p_1d_simplex, "p_1d_simplex", + index_uni(1), index_min_max(1, N)), "assigning variable gq_simplex"); + current_statement__ = 113; + assign(gq_1d_simplex, p_1d_simplex, "assigning variable gq_1d_simplex"); + current_statement__ = 114; + assign(gq_3d_simplex, p_3d_simplex, "assigning variable gq_3d_simplex"); + current_statement__ = 115; + assign(gq_cfcov_54, p_cfcov_54, "assigning variable gq_cfcov_54"); + current_statement__ = 116; + assign(gq_cfcov_33, p_cfcov_33, "assigning variable gq_cfcov_33"); + current_statement__ = 117; + assign(gq_cfcov_33_ar, p_cfcov_33_ar, + "assigning variable gq_cfcov_33_ar"); + current_statement__ = 126; + for (int i = 1; i <= 2; ++i) { + current_statement__ = 124; + for (int j = 1; j <= 3; ++j) { + current_statement__ = 122; + for (int m = 1; m <= 4; ++m) { + current_statement__ = 120; + for (int n = 1; n <= 5; ++n) { + current_statement__ = 118; + assign(gq_ar_mat, 0.4, + "assigning variable gq_ar_mat", index_uni(m), index_uni(n), + index_uni(i), index_uni(j)); + } + } + } + } + current_statement__ = 128; + for (int i = 1; i <= N; ++i) { + current_statement__ = 127; + assign(gq_vec, (-1.0 * rvalue(p_vec, "p_vec", index_uni(i))), + "assigning variable gq_vec", index_uni(i)); + } + current_statement__ = 132; + for (int i = 1; i <= 3; ++i) { + current_statement__ = 131; + for (int j = 1; j <= 4; ++j) { + current_statement__ = 130; + for (int k = 1; k <= 5; ++k) { + current_statement__ = 129; + assign(indexing_mat, normal_rng(0, 1, base_rng__), + "assigning variable indexing_mat", index_uni(k), index_uni(i), + index_uni(j)); + } + } + } + current_statement__ = 135; + for (int i = 1; i <= size(indices); ++i) { + current_statement__ = 134; + for (int j = 1; j <= size(indices); ++j) { + current_statement__ = 133; + assign(idx_res1, + rvalue(indexing_mat, "indexing_mat", + index_uni(rvalue(indices, "indices", index_uni(i))), + index_uni(rvalue(indices, "indices", index_uni(j)))), + "assigning variable idx_res1", index_uni(i), index_uni(j)); + } + } + current_statement__ = 136; + assign(idx_res11, + rvalue(indexing_mat, "indexing_mat", + index_multi(indices), index_multi(indices)), + "assigning variable idx_res11"); + current_statement__ = 138; + if (logical_neq( + rvalue( + rvalue(indexing_mat, "indexing_mat", + index_multi(indices), index_multi(indices)), + "indexing_mat[indices, indices]", + index_uni(2), index_uni(1), index_uni(1)), + rvalue(idx_res1, "idx_res1", + index_uni(2), index_uni(1), index_uni(1)))) { + current_statement__ = 137; + std::stringstream errmsg_stream__; + errmsg_stream__ << "indexing test 1 failed"; + throw std::domain_error(errmsg_stream__.str()); + } + current_statement__ = 141; + for (int i = 1; i <= 5; ++i) { + current_statement__ = 140; + for (int j = 1; j <= size(indices); ++j) { + current_statement__ = 139; + assign(idx_res2, + rvalue(indexing_mat, "indexing_mat", + index_uni(i), + index_uni(rvalue(indices, "indices", index_uni(j)))), + "assigning variable idx_res2", index_uni(i), index_uni(j)); + } + } + current_statement__ = 142; + assign(idx_res21, + rvalue(indexing_mat, "indexing_mat", + index_omni(), index_multi(indices)), "assigning variable idx_res21"); + current_statement__ = 144; + if (logical_neq( + rvalue( + rvalue(indexing_mat, "indexing_mat", index_omni(), index_multi(indices)), + "indexing_mat[:, indices]", + index_uni(2), index_uni(1), index_uni(1)), + rvalue(idx_res2, "idx_res2", + index_uni(2), index_uni(1), index_uni(1)))) { + current_statement__ = 143; + std::stringstream errmsg_stream__; + errmsg_stream__ << "indexing test 2 failed"; + throw std::domain_error(errmsg_stream__.str()); + } + current_statement__ = 148; + for (int i = 1; i <= size(indices); ++i) { + current_statement__ = 147; + for (int j = 1; j <= 3; ++j) { + current_statement__ = 146; + for (int k = 1; k <= size(indices); ++k) { + current_statement__ = 145; + assign(idx_res3, + rvalue(indexing_mat, "indexing_mat", + index_uni(rvalue(indices, "indices", index_uni(i))), + index_uni(j), + index_uni(rvalue(indices, "indices", index_uni(k)))), + "assigning variable idx_res3", index_uni(i), index_uni(j), + index_uni(k)); + } + } + } + current_statement__ = 149; + assign(idx_res31, + rvalue(indexing_mat, "indexing_mat", + index_multi(indices), index_omni(), index_multi(indices)), + "assigning variable idx_res31"); + current_statement__ = 151; + if (logical_neq( + rvalue( + rvalue(indexing_mat, "indexing_mat", + index_multi(indices), index_omni(), index_multi(indices)), + "indexing_mat[indices, :, indices]", + index_uni(2), index_uni(1), index_uni(1)), + rvalue(idx_res3, "idx_res3", + index_uni(2), index_uni(1), index_uni(1)))) { + current_statement__ = 150; + std::stringstream errmsg_stream__; + errmsg_stream__ << "indexing test 3 failed"; + throw std::domain_error(errmsg_stream__.str()); + } + current_statement__ = 152; + assign(idx_res4, + rvalue(indexing_mat, "indexing_mat", + index_min_max(1, 3), index_uni(1), index_omni()), + "assigning variable idx_res4"); + current_statement__ = 153; + assign(idx_res5, + rvalue(indexing_mat, "indexing_mat", + index_min(4), index_min_max(2, 3), index_uni(1)), + "assigning variable idx_res5"); + current_statement__ = 80; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 80; + check_greater_or_equal(function__, "gq_real_1d_ar[sym1__]", + gq_real_1d_ar[(sym1__ - 1)], 0); + } + current_statement__ = 81; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 81; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 81; + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + current_statement__ = 81; + check_greater_or_equal(function__, + "gq_real_3d_ar[sym1__, sym2__, sym3__]", + gq_real_3d_ar[(sym1__ - 1)][(sym2__ - 1)][ + (sym3__ - 1)], 0); + } + } + } + current_statement__ = 82; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 82; + check_less_or_equal(function__, "gq_vec[sym1__]", + gq_vec[(sym1__ - 1)], 1); + } + current_statement__ = 88; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 88; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 88; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 88; + for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { + current_statement__ = 88; + check_greater_or_equal(function__, + "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]", + rvalue(gq_ar_mat, "gq_ar_mat", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__), index_uni(sym4__)), + 0); + } + } + } + } + current_statement__ = 88; + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + current_statement__ = 88; + for (int sym2__ = 1; sym2__ <= 5; ++sym2__) { + current_statement__ = 88; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 88; + for (int sym4__ = 1; sym4__ <= 3; ++sym4__) { + current_statement__ = 88; + check_less_or_equal(function__, + "gq_ar_mat[sym1__, sym2__, sym3__, sym4__]", + rvalue(gq_ar_mat, "gq_ar_mat", + index_uni(sym1__), index_uni(sym2__), + index_uni(sym3__), index_uni(sym4__)), + 1); + } + } + } + } + current_statement__ = 89; + check_simplex(function__, "gq_simplex", gq_simplex); + current_statement__ = 90; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 90; + check_simplex(function__, "gq_1d_simplex[sym1__]", + gq_1d_simplex[(sym1__ - 1)]); + } + current_statement__ = 91; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 91; + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + current_statement__ = 91; + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { + current_statement__ = 91; + check_simplex(function__, + "gq_3d_simplex[sym1__, sym2__, sym3__]", + gq_3d_simplex[(sym1__ - 1)][(sym2__ - 1)][(sym3__ - + 1)]); + } + } + } + current_statement__ = 92; + check_cholesky_factor(function__, "gq_cfcov_54", gq_cfcov_54); + current_statement__ = 93; + check_cholesky_factor(function__, "gq_cfcov_33", gq_cfcov_33); + current_statement__ = 94; + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + current_statement__ = 94; + check_cholesky_factor(function__, "gq_cfcov_33_ar[sym1__]", + gq_cfcov_33_ar[(sym1__ - 1)]); + } + out__.write(gq_r1); + out__.write(gq_r2); + out__.write(gq_real_1d_ar); + for (int sym1__ = 1; sym1__ <= K; ++sym1__) { + for (int sym2__ = 1; sym2__ <= M; ++sym2__) { + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + out__.write( + gq_real_3d_ar[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + } + } + } + out__.write(gq_vec); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(gq_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__) { + out__.write( + gq_3d_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][(sym1__ - + 1)]); + } + } + } + } + out__.write(gq_row_vec); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(gq_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__) { + out__.write( + gq_3d_row_vec[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ + (sym1__ - 1)]); + } + } + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - for (int sym3__ = 1; sym3__ <= nt; ++sym3__) { + for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { + for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { + out__.write( + rvalue(gq_ar_mat, "gq_ar_mat", + index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__))); + } + } + } + } + out__.write(gq_simplex); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(gq_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__) { + out__.write( + gq_3d_simplex[(sym4__ - 1)][(sym3__ - 1)][(sym2__ - 1)][ + (sym1__ - 1)]); + } + } + } + } + out__.write(gq_cfcov_54); + out__.write(gq_cfcov_33); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + for (int sym3__ = 1; sym3__ <= K; ++sym3__) { out__.write( - rvalue(L_Omega, "L_Omega", + rvalue(gq_cfcov_33_ar, "gq_cfcov_33_ar", index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); } } } - out__.write(z1); - if (logical_negation((primitive_value(emit_transformed_parameters__) || - primitive_value(emit_generated_quantities__)))) { - return ; - } - if (logical_negation(emit_generated_quantities__)) { - return ; - } + out__.write(indices); + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { + out__.write( + 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__) { + out__.write( + 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__) { + out__.write( + 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__) { + out__.write( + 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__) { + out__.write( + 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__) { + out__.write( + 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__) { + out__.write( + rvalue(idx_res31, "idx_res31", + index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); + } + } + } + for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + out__.write(idx_res4[(sym2__ - 1)][(sym1__ - 1)]); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + out__.write(idx_res5[(sym2__ - 1)][(sym1__ - 1)]); + } + } } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -22100,32 +12001,265 @@ class param_constraint_model final : public model_base_crtp::min(); pos__ = 1; - std::vector> L_Omega; - L_Omega = std::vector>(nt, Eigen::Matrix(2, 2)); - stan::math::fill(L_Omega, DUMMY_VAR__); + local_scalar_t__ p_real; + p_real = DUMMY_VAR__; - for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__ <= nt; ++sym3__) { - assign(L_Omega, in__.read(), - "assigning variable L_Omega", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); + for (int sym3__ = 1; sym3__ <= 5; ++sym3__) { + for (int sym4__ = 1; sym4__ <= 4; ++sym4__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + assign(p_cfcov_33_ar, in__.read(), + "assigning variable p_cfcov_33_ar", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); } } } - out__.write_free_cholesky_factor_corr(L_Omega); - Eigen::Matrix z1; - z1 = Eigen::Matrix(NS); - stan::math::fill(z1, DUMMY_VAR__); + 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__ <= NS; ++sym1__) { - assign(z1, in__.read(), - "assigning variable z1", index_uni(sym1__)); + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + assign(y_p, in__.read(), + "assigning variable y_p", index_uni(sym1__)); } - out__.write_free_lb( - rvalue(L_Omega, "L_Omega", index_uni(1), index_uni(1), index_uni(2)), - z1); + out__.write(y_p); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -22133,20 +12267,118 @@ class param_constraint_model final : public model_base_crtp& names__) const { - names__ = std::vector{"L_Omega", "z1"}; + 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{ - static_cast(nt) - , - static_cast(2) - , - static_cast(2) - }, - std::vector{static_cast(NS)}}; + 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() @@ -22156,376 +12388,655 @@ class param_constraint_model final : public model_base_crtp& param_names__, - bool emit_transformed_parameters__ = true, - bool emit_generated_quantities__ = true) const - final { - - for (int sym1__ = 1; sym1__ <= ((2 * (2 - 1)) / 2); ++sym1__) { + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - for (int sym2__ = 1; sym2__ <= nt; ++sym2__) { + 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() + "L_Omega" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + 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__ <= NS; ++sym1__) { + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { { - param_names__.emplace_back(std::string() + "z1" + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "p_simplex" + '.' + std::to_string(sym1__)); } } - if (emit_transformed_parameters__) { - - } - - if (emit_generated_quantities__) { - - } - - } // unconstrained_param_names() - - inline std::string get_constrained_sizedtypes() const { - - return std::string("[{\"name\":\"L_Omega\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(nt) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(2) + "}},\"block\":\"parameters\"},{\"name\":\"z1\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(NS) + "},\"block\":\"parameters\"}]"); - - } // get_constrained_sizedtypes() - - inline std::string get_unconstrained_sizedtypes() const { - - return std::string("[{\"name\":\"L_Omega\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(nt) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(((2 * (2 - 1)) / 2)) + "}},\"block\":\"parameters\"},{\"name\":\"z1\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(NS) + "},\"block\":\"parameters\"}]"); - - } // get_unconstrained_sizedtypes() - - - // Begin method overload boilerplate - template - inline void write_array(RNG& base_rng, - Eigen::Matrix& params_r, - Eigen::Matrix& vars, - const bool emit_transformed_parameters = true, - const bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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); - vars = Eigen::Map>( - vars_vec.data(), vars_vec.size()); - } - - template - inline void write_array(RNG& base_rng, std::vector& params_r, - std::vector& params_i, - std::vector& vars, - bool emit_transformed_parameters = true, - bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - const size_t num_params__ = - (((nt * 2) * 2) + NS); - 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 - inline T_ log_prob(Eigen::Matrix& params_r, - std::ostream* pstream = nullptr) const { - Eigen::Matrix params_i; - return log_prob_impl(params_r, params_i, pstream); - } - - template - inline T__ log_prob(std::vector& params_r, - std::vector& params_i, - std::ostream* pstream = nullptr) const { - return log_prob_impl(params_r, params_i, pstream); - } - - - 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.size()); - std::vector params_i; - 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 { - constexpr std::array names__{"L_Omega", "z1"}; - const std::array constrain_param_sizes__{(nt * 2 * 2), - NS}; - const auto num_constrained_params__ = std::accumulate( - constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); - - std::vector params_r_flat__(num_constrained_params__); - Eigen::Index size_iter__ = 0; - Eigen::Index flat_iter__ = 0; - for (auto&& param_name__ : names__) { - const auto param_vec__ = context.vals_r(param_name__); - for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { - params_r_flat__[flat_iter__] = param_vec__[i]; - ++flat_iter__; - } - ++size_iter__; - } - vars.resize(num_params_r__); - transform_inits_impl(params_r_flat__, params_i, vars, pstream__); - } // transform_inits() - -}; -} -using stan_model = param_constraint_model_namespace::param_constraint_model; - -#ifndef USING_R - -// Boilerplate -stan::model::model_base& new_model( - stan::io::var_context& data_context, - unsigned int seed, - std::ostream* msg_stream) { - stan_model* m = new stan_model(data_context, seed, msg_stream); - return *m; -} - -stan::math::profile_map& get_stan_profile_data() { - return param_constraint_model_namespace::profiles__; -} - -#endif - - - - $ ../../../../../install/default/bin/stanc --print-cpp print_unicode.stan - -// Code generated by %%NAME%% %%VERSION%% -#include -namespace print_unicode_model_namespace { - -using stan::io::dump; -using stan::model::assign; -using stan::model::index_uni; -using stan::model::index_max; -using stan::model::index_min; -using stan::model::index_min_max; -using stan::model::index_multi; -using stan::model::index_omni; -using stan::model::model_base_crtp; -using stan::model::rvalue; -using namespace stan::math; - - -stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = -{" (found before start of program)", - " (in 'print_unicode.stan', line 2, column 2 to column 24)", - " (in 'print_unicode.stan', line 3, column 2 to column 23)"}; - - - -class print_unicode_model final : public model_base_crtp { - - private: - - - - public: - ~print_unicode_model() { } - - inline std::string model_name() const final { return "print_unicode_model"; } - - inline std::vector model_compile_info() const noexcept { - return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; - } - - - print_unicode_model(stan::io::var_context& context__, - unsigned int random_seed__ = 0, - std::ostream* pstream__ = nullptr) : model_base_crtp(0) { - int current_statement__ = 0; - using local_scalar_t__ = double ; - boost::ecuyer1988 base_rng__ = - stan::services::util::create_rng(random_seed__, 0); - (void) base_rng__; // suppress unused var warning - static constexpr const char* function__ = "print_unicode_model_namespace::print_unicode_model"; - (void) function__; // suppress unused var warning - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - current_statement__ = 1; - if (pstream__) { - stan_print(pstream__, "test: \320\211\360\237\230\203"); - stan_print(pstream__, "\n"); - } - current_statement__ = 2; - if (pstream__) { - stan_print(pstream__, "\316\273 \316\262 \316\266 \317\200"); - stan_print(pstream__, "\n"); - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); + 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__)); + } + } + } } - num_params_r__ = 0U; - - } - - 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__ = "print_unicode_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - - try { - - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); + 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__)); + } + } + } + } + } + } + } } - lp_accum__.add(lp__); - return lp_accum__.sum(); - } // log_prob_impl() - - 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; - 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__ = "print_unicode_model_namespace::write_array"; - (void) function__; // suppress unused var warning - - try { - if (logical_negation((primitive_value(emit_transformed_parameters__) || - primitive_value(emit_generated_quantities__)))) { - return ; + 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__)); + } + } } - if (logical_negation(emit_generated_quantities__)) { - return ; + } + 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__)); + } + } } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); } - } // 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; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); + 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__)); + } } - } // transform_inits_impl() - - inline void get_param_names(std::vector& names__) const { - - names__ = std::vector{}; - - } // get_param_names() - - inline void get_dims(std::vector>& dimss__) const { - - dimss__ = std::vector>{}; - - } // get_dims() - - inline void constrained_param_names( - std::vector& param_names__, - bool emit_transformed_parameters__ = true, - bool emit_generated_quantities__ = true) const - final { - - if (emit_transformed_parameters__) { - + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "tp_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() + "tp_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() + "tp_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__)); + } + } + } + } + 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_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() + "tp_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__)); + } + } + } + } + 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_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() + "tp_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() + "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__) { + { + param_names__.emplace_back(std::string() + "tp_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__)); + } + } + } + } + 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__ <= 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__) { + { + 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__) { + { + param_names__.emplace_back(std::string() + "gq_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() + "gq_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() + "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() + "gq_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() + "gq_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() + "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() + "gq_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() + "gq_3d_row_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + 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() + "gq_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() + "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 sym2__ = 1; sym2__ <= 3; ++sym2__) { + { + for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { + { + param_names__.emplace_back(std::string() + "idx_res31" + '.' + 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__) { + { + param_names__.emplace_back(std::string() + "idx_res4" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + { + param_names__.emplace_back(std::string() + "idx_res5" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } } } // constrained_param_names() @@ -22536,616 +13047,641 @@ class print_unicode_model final : public model_base_crtp { bool emit_generated_quantities__ = true) const final { - - if (emit_transformed_parameters__) { - + 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__)); + } } - - if (emit_generated_quantities__) { - + for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { + { + param_names__.emplace_back(std::string() + "no_offset_multiplier" + '.' + std::to_string(sym1__)); + } } - - } // unconstrained_param_names() - - inline std::string get_constrained_sizedtypes() const { - - return std::string("[]"); - - } // get_constrained_sizedtypes() - - inline std::string get_unconstrained_sizedtypes() const { - - return std::string("[]"); - - } // get_unconstrained_sizedtypes() - - - // Begin method overload boilerplate - template - inline void write_array(RNG& base_rng, - Eigen::Matrix& params_r, - Eigen::Matrix& vars, - const bool emit_transformed_parameters = true, - const bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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); - vars = Eigen::Map>( - vars_vec.data(), vars_vec.size()); + for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { + { + param_names__.emplace_back(std::string() + "offset_no_multiplier" + '.' + std::to_string(sym1__)); + } } - - template - inline void write_array(RNG& base_rng, std::vector& params_r, - std::vector& params_i, - std::vector& vars, - bool emit_transformed_parameters = true, - bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "p_real_1d_ar" + '.' + std::to_string(sym1__)); + } } - - template - inline T_ log_prob(Eigen::Matrix& params_r, - std::ostream* pstream = nullptr) const { - Eigen::Matrix params_i; - return log_prob_impl(params_r, params_i, pstream); + 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__)); + } + } + } + } + } } - - template - inline T__ log_prob(std::vector& params_r, - std::vector& params_i, - std::ostream* pstream = nullptr) const { - return log_prob_impl(params_r, params_i, pstream); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "p_vec" + '.' + std::to_string(sym1__)); + } } - - - 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.size()); - std::vector params_i; - transform_inits(context, params_i, params_r_vec, pstream); - params_r = Eigen::Map>( - params_r_vec.data(), params_r_vec.size()); + 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__)); + } + } + } + } + } + } + } } - - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream__ = nullptr) const { - constexpr std::array names__{}; - const std::array constrain_param_sizes__{}; - const auto num_constrained_params__ = std::accumulate( - constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); - - std::vector params_r_flat__(num_constrained_params__); - Eigen::Index size_iter__ = 0; - Eigen::Index flat_iter__ = 0; - for (auto&& param_name__ : names__) { - const auto param_vec__ = context.vals_r(param_name__); - for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { - params_r_flat__[flat_iter__] = param_vec__[i]; - ++flat_iter__; - } - ++size_iter__; - } - vars.resize(num_params_r__); - transform_inits_impl(params_r_flat__, params_i, vars, pstream__); - } // transform_inits() - -}; -} -using stan_model = print_unicode_model_namespace::print_unicode_model; - -#ifndef USING_R - -// Boilerplate -stan::model::model_base& new_model( - stan::io::var_context& data_context, - unsigned int seed, - std::ostream* msg_stream) { - stan_model* m = new stan_model(data_context, seed, msg_stream); - return *m; -} - -stan::math::profile_map& get_stan_profile_data() { - return print_unicode_model_namespace::profiles__; -} - -#endif - - - - $ ../../../../../install/default/bin/stanc --print-cpp reduce_sum_m1.stan - -// Code generated by %%NAME%% %%VERSION%% -#include -namespace reduce_sum_m1_model_namespace { - -using stan::io::dump; -using stan::model::assign; -using stan::model::index_uni; -using stan::model::index_max; -using stan::model::index_min; -using stan::model::index_min_max; -using stan::model::index_multi; -using stan::model::index_omni; -using stan::model::model_base_crtp; -using stan::model::rvalue; -using namespace stan::math; - - -stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = -{" (found before start of program)", - " (in 'reduce_sum_m1.stan', line 26, column 2 to column 13)", - " (in 'reduce_sum_m1.stan', line 27, column 2 to column 13)", - " (in 'reduce_sum_m1.stan', line 28, column 2 to column 13)", - " (in 'reduce_sum_m1.stan', line 32, column 2 to column 33)", - " (in 'reduce_sum_m1.stan', line 33, column 2 to column 37)", - " (in 'reduce_sum_m1.stan', line 34, column 2 to column 40)", - " (in 'reduce_sum_m1.stan', line 35, column 2 to column 41)", - " (in 'reduce_sum_m1.stan', line 22, column 2 to column 14)", - " (in 'reduce_sum_m1.stan', line 26, column 10 to column 11)", - " (in 'reduce_sum_m1.stan', line 27, column 10 to column 11)", - " (in 'reduce_sum_m1.stan', line 28, column 10 to column 11)", - " (in 'reduce_sum_m1.stan', line 6, column 6 to column 41)", - " (in 'reduce_sum_m1.stan', line 5, column 11 to line 7, column 5)", - " (in 'reduce_sum_m1.stan', line 4, column 6 to column 39)", - " (in 'reduce_sum_m1.stan', line 3, column 26 to line 5, column 5)", - " (in 'reduce_sum_m1.stan', line 3, column 4 to line 7, column 5)", - " (in 'reduce_sum_m1.stan', line 2, column 45 to line 8, column 3)", - " (in 'reduce_sum_m1.stan', line 13, column 6 to column 35)", - " (in 'reduce_sum_m1.stan', line 12, column 11 to line 14, column 5)", - " (in 'reduce_sum_m1.stan', line 11, column 6 to column 53)", - " (in 'reduce_sum_m1.stan', line 10, column 20 to line 12, column 5)", - " (in 'reduce_sum_m1.stan', line 10, column 4 to line 14, column 5)", - " (in 'reduce_sum_m1.stan', line 9, column 55 to line 15, column 3)", - " (in 'reduce_sum_m1.stan', line 17, column 4 to column 38)", - " (in 'reduce_sum_m1.stan', line 16, column 52 to line 18, column 3)"}; - -struct g_rsfunctor__; -struct h_rsfunctor__; -template -struct foo_lpdf_rsfunctor__; -template -stan::promote_args_t -g(const std::vector& y_slice, const int& start, const int& end, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 16; - if (logical_gt(size(y_slice), 1)) { - current_statement__ = 14; - return reduce_sum(y_slice, 1, pstream__); - } else { - current_statement__ = 12; - return normal_lpdf(y_slice, 0, 1); + for (int sym1__ = 1; sym1__ <= (N - 1); ++sym1__) { + { + param_names__.emplace_back(std::string() + "p_simplex" + '.' + std::to_string(sym1__)); + } } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct g_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return g(y_slice, start, end, pstream__); -} -}; - - -struct g_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return g(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -h(const std::vector& y_slice, const int& start, const int& end, - const std::vector& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 22; - if (logical_gt(size(a), 1)) { - current_statement__ = 20; - return reduce_sum(y_slice, 1, pstream__, - rvalue(a, "a", index_min_max(start, end))); - } else { - current_statement__ = 18; - return normal_lpdf(a, 0, 1); + for (int sym1__ = 1; sym1__ <= (N - 1); ++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__)); + } + } + } } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct h_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, const std::vector& a, - std::ostream* pstream__) const -{ -return h(y_slice, start, end, a, pstream__); -} -}; - - -struct h_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, - const std::vector& a) const -{ -return h(y_slice, start + 1, end + 1, a, pstream__); -} -}; - -template -stan::promote_args_t -foo_lpdf(const std::vector& y_slice, const int& start, const int& end, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 24; - return normal_lpdf(y_slice, 0, 1); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct foo_lpdf_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return foo_lpdf(y_slice, start, end, pstream__); -} -}; - - -template -struct foo_lpdf_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return foo_lpdf(y_slice, start + 1, end + 1, pstream__); -} -}; - -class reduce_sum_m1_model final : public model_base_crtp { - - private: - int N; - - - public: - ~reduce_sum_m1_model() { } - - inline std::string model_name() const final { return "reduce_sum_m1_model"; } - - inline std::vector model_compile_info() const noexcept { - return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; - } - - - reduce_sum_m1_model(stan::io::var_context& context__, - unsigned int random_seed__ = 0, - std::ostream* pstream__ = nullptr) : model_base_crtp(0) { - int current_statement__ = 0; - using local_scalar_t__ = double ; - boost::ecuyer1988 base_rng__ = - stan::services::util::create_rng(random_seed__, 0); - (void) base_rng__; // suppress unused var warning - static constexpr const char* function__ = "reduce_sum_m1_model_namespace::reduce_sum_m1_model"; - (void) function__; // suppress unused var warning - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - current_statement__ = 8; - N = std::numeric_limits::min(); - - current_statement__ = 8; - N = 100; - current_statement__ = 9; - validate_non_negative_index("y1", "N", N); - current_statement__ = 10; - validate_non_negative_index("y2", "N", N); - current_statement__ = 11; - validate_non_negative_index("y3", "N", N); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); + for (int sym1__ = 1; sym1__ <= (N - 1); ++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__)); + } + } + } + } + } + } + } } - num_params_r__ = N + N + N; - - } - - 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__ = "reduce_sum_m1_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - - try { - std::vector y1; - y1 = std::vector(N, DUMMY_VAR__); - - current_statement__ = 1; - y1 = in__.template read>(N); - std::vector y2; - y2 = std::vector(N, DUMMY_VAR__); - - current_statement__ = 2; - y2 = in__.template read>(N); - std::vector y3; - y3 = std::vector(N, DUMMY_VAR__); - - current_statement__ = 3; - y3 = in__.template read>(N); + for (int sym1__ = 1; + sym1__ <= ((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4)); ++sym1__) { + { + param_names__.emplace_back(std::string() + "p_cfcov_54" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; + sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { { - current_statement__ = 4; - lp_accum__.add(reduce_sum(y1, 1, pstream__)); - current_statement__ = 5; - lp_accum__.add(reduce_sum(y2, 1, pstream__, y2)); - current_statement__ = 6; - lp_accum__.add( - reduce_sum>(y3, 1, pstream__)); - current_statement__ = 7; - lp_accum__.add( - reduce_sum>(y3, 1, pstream__)); - } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); + param_names__.emplace_back(std::string() + "p_cfcov_33" + '.' + std::to_string(sym1__)); + } } - lp_accum__.add(lp__); - return lp_accum__.sum(); - } // log_prob_impl() - - 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; - 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__ = "reduce_sum_m1_model_namespace::write_array"; - (void) function__; // suppress unused var warning - - try { - std::vector y1; - y1 = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 1; - y1 = in__.template read>(N); - std::vector y2; - y2 = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 2; - y2 = in__.template read>(N); - std::vector y3; - y3 = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 3; - y3 = in__.template read>(N); - out__.write(y1); - out__.write(y2); - out__.write(y3); - if (logical_negation((primitive_value(emit_transformed_parameters__) || - primitive_value(emit_generated_quantities__)))) { - return ; + for (int sym1__ = 1; + sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + { + param_names__.emplace_back(std::string() + "p_cfcov_33_ar" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } } - if (logical_negation(emit_generated_quantities__)) { - return ; + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "x_p" + '.' + std::to_string(sym1__)); } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); } - } // 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()); + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_p" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "tp_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() + "tp_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() + "tp_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__)); + } + } + } + } + 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_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() + "tp_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__)); + } + } + } + } + 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_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() + "tp_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() + "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 - 1); ++sym1__) { + { + param_names__.emplace_back(std::string() + "tp_simplex" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= (N - 1); ++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__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= (N - 1); ++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__ <= ((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4)); ++sym1__) { + { + param_names__.emplace_back(std::string() + "tp_cfcov_54" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; + sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { + { + param_names__.emplace_back(std::string() + "tp_cfcov_33" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; + sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + { + param_names__.emplace_back(std::string() + "tp_cfcov_33_ar" + '.' + 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"); + } - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - std::vector y1; - y1 = std::vector(N, DUMMY_VAR__); - + 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__) { - y1[(sym1__ - 1)] = in__.read(); + { + param_names__.emplace_back(std::string() + "gq_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() + "gq_real_3d_ar" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } } - out__.write(y1); - std::vector y2; - y2 = std::vector(N, DUMMY_VAR__); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - y2[(sym1__ - 1)] = in__.read(); + { + 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() + "gq_1d_vec" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } - out__.write(y2); - std::vector y3; - y3 = std::vector(N, DUMMY_VAR__); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - y3[(sym1__ - 1)] = in__.read(); + { + 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_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() + "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() + "gq_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() + "gq_3d_row_vec" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + 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() + "gq_ar_mat" + '.' + std::to_string(sym4__) + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + } + } + } + for (int sym1__ = 1; sym1__ <= (N - 1); ++sym1__) { + { + param_names__.emplace_back(std::string() + "gq_simplex" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= (N - 1); ++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 - 1); ++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 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4)); ++sym1__) { + { + param_names__.emplace_back(std::string() + "gq_cfcov_54" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; + sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { + { + param_names__.emplace_back(std::string() + "gq_cfcov_33" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; + sym1__ <= ((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3)); ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= K; ++sym2__) { + { + param_names__.emplace_back(std::string() + "gq_cfcov_33_ar" + '.' + 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 sym2__ = 1; sym2__ <= 3; ++sym2__) { + { + for (int sym3__ = 1; sym3__ <= 3; ++sym3__) { + { + param_names__.emplace_back(std::string() + "idx_res31" + '.' + 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__) { + { + param_names__.emplace_back(std::string() + "idx_res4" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + { + param_names__.emplace_back(std::string() + "idx_res5" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } } - out__.write(y3); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - } // transform_inits_impl() - - inline void get_param_names(std::vector& names__) const { - - names__ = std::vector{"y1", "y2", "y3"}; - - } // get_param_names() - - inline void get_dims(std::vector>& dimss__) const { - - dimss__ = std::vector>{std::vector{ - static_cast(N) - }, - std::vector{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__) { - { - param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y2" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y3" + '.' + std::to_string(sym1__)); - } - } - if (emit_transformed_parameters__) { - - } - - if (emit_generated_quantities__) { - - } - - } // constrained_param_names() - - inline void unconstrained_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__) { - { - param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y2" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y3" + '.' + std::to_string(sym1__)); - } - } - if (emit_transformed_parameters__) { - - } - - if (emit_generated_quantities__) { - } } // unconstrained_param_names() inline std::string get_constrained_sizedtypes() const { - return std::string("[{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + return std::string("[{\"name\":\"p_real\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"p_upper\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"p_lower\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"offset_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"no_offset_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"offset_no_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"p_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"p_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"parameters\"},{\"name\":\"p_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_mat\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"parameters\"},{\"name\":\"p_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"parameters\"},{\"name\":\"p_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_cfcov_54\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"parameters\"},{\"name\":\"p_cfcov_33\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "},\"block\":\"parameters\"},{\"name\":\"p_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"parameters\"},{\"name\":\"x_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"y_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"tp_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_mat\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_54\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_33\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"theta_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_real\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"gq_r1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"gq_r2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"gq_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"generated_quantities\"},{\"name\":\"gq_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_54\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_33\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"generated_quantities\"},{\"name\":\"indices\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"int\"}},\"block\":\"generated_quantities\"},{\"name\":\"indexing_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res11\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res21\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res31\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "}},\"block\":\"generated_quantities\"}]"); } // get_constrained_sizedtypes() inline std::string get_unconstrained_sizedtypes() const { - return std::string("[{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + return std::string("[{\"name\":\"p_real\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"p_upper\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"p_lower\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"offset_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"no_offset_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"offset_no_multiplier\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"p_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"p_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"parameters\"},{\"name\":\"p_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_mat\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"parameters\"},{\"name\":\"p_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"parameters\"},{\"name\":\"p_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "},\"block\":\"parameters\"},{\"name\":\"p_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}},\"block\":\"parameters\"},{\"name\":\"p_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}}}},\"block\":\"parameters\"},{\"name\":\"p_cfcov_54\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4))) + "},\"block\":\"parameters\"},{\"name\":\"p_cfcov_33\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "},\"block\":\"parameters\"},{\"name\":\"p_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "}},\"block\":\"parameters\"},{\"name\":\"x_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"y_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"tp_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_mat\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(5) + ",\"cols\":" + std::to_string(4) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}}}},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_54\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4))) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_33\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"theta_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"tp_real\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"gq_r1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"gq_r2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"gq_real_1d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"generated_quantities\"},{\"name\":\"gq_real_3d_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_row_vec\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_row_vec\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_ar_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(4) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(3) + "}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_simplex\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_1d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}},\"block\":\"generated_quantities\"},{\"name\":\"gq_3d_simplex\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(M) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string((N - 1)) + "}}}},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_54\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((4 * (4 - 1)) / 2) + 4) + ((5 - 4) * 4))) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_33\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "},\"block\":\"generated_quantities\"},{\"name\":\"gq_cfcov_33_ar\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(K) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(((((3 * (3 - 1)) / 2) + 3) + ((3 - 3) * 3))) + "}},\"block\":\"generated_quantities\"},{\"name\":\"indices\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"int\"}},\"block\":\"generated_quantities\"},{\"name\":\"indexing_mat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res11\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res21\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res31\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(3) + ",\"cols\":" + std::to_string(3) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "}},\"block\":\"generated_quantities\"},{\"name\":\"idx_res5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "}},\"block\":\"generated_quantities\"}]"); } // get_unconstrained_sizedtypes() @@ -23159,9 +13695,24 @@ class reduce_sum_m1_model final : public model_base_crtp { const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { const size_t num_params__ = - ((N + N) + N); - const size_t num_transformed = 0; - const size_t num_gen_quantities = 0; + (((((((((((((((((((((((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)); @@ -23180,9 +13731,24 @@ class reduce_sum_m1_model final : public model_base_crtp { bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { const size_t num_params__ = - ((N + N) + N); - const size_t num_transformed = 0; - const size_t num_gen_quantities = 0; + (((((((((((((((((((((((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)); @@ -23218,8 +13784,16 @@ class reduce_sum_m1_model final : public model_base_crtp { std::vector& params_i, std::vector& vars, std::ostream* pstream__ = nullptr) const { - constexpr std::array names__{"y1", "y2", "y3"}; - const std::array constrain_param_sizes__{N, N, N}; + constexpr std::array names__{"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"}; + const std::array constrain_param_sizes__{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 auto num_constrained_params__ = std::accumulate( constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); @@ -23232,5390 +13806,9358 @@ class reduce_sum_m1_model final : public model_base_crtp { params_r_flat__[flat_iter__] = param_vec__[i]; ++flat_iter__; } - ++size_iter__; - } - vars.resize(num_params_r__); - transform_inits_impl(params_r_flat__, params_i, vars, pstream__); - } // transform_inits() - -}; -} -using stan_model = reduce_sum_m1_model_namespace::reduce_sum_m1_model; - -#ifndef USING_R - -// Boilerplate -stan::model::model_base& new_model( - stan::io::var_context& data_context, - unsigned int seed, - std::ostream* msg_stream) { - stan_model* m = new stan_model(data_context, seed, msg_stream); - return *m; -} - -stan::math::profile_map& get_stan_profile_data() { - return reduce_sum_m1_model_namespace::profiles__; -} - -#endif - - - - $ ../../../../../install/default/bin/stanc --print-cpp reduce_sum_m2.stan - -// Code generated by %%NAME%% %%VERSION%% -#include -namespace reduce_sum_m2_model_namespace { - -using stan::io::dump; -using stan::model::assign; -using stan::model::index_uni; -using stan::model::index_max; -using stan::model::index_min; -using stan::model::index_min_max; -using stan::model::index_multi; -using stan::model::index_omni; -using stan::model::model_base_crtp; -using stan::model::rvalue; -using namespace stan::math; - - -stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = -{" (found before start of program)", - " (in 'reduce_sum_m2.stan', line 130, column 2 to column 24)", - " (in 'reduce_sum_m2.stan', line 131, column 2 to column 25)", - " (in 'reduce_sum_m2.stan', line 132, column 2 to column 21)", - " (in 'reduce_sum_m2.stan', line 133, column 2 to column 16)", - " (in 'reduce_sum_m2.stan', line 134, column 2 to column 21)", - " (in 'reduce_sum_m2.stan', line 135, column 2 to column 22)", - " (in 'reduce_sum_m2.stan', line 136, column 2 to column 18)", - " (in 'reduce_sum_m2.stan', line 137, column 2 to column 13)", - " (in 'reduce_sum_m2.stan', line 139, column 2 to column 24)", - " (in 'reduce_sum_m2.stan', line 140, column 2 to column 25)", - " (in 'reduce_sum_m2.stan', line 141, column 2 to column 21)", - " (in 'reduce_sum_m2.stan', line 142, column 2 to column 16)", - " (in 'reduce_sum_m2.stan', line 143, column 2 to column 21)", - " (in 'reduce_sum_m2.stan', line 144, column 2 to column 22)", - " (in 'reduce_sum_m2.stan', line 145, column 2 to column 18)", - " (in 'reduce_sum_m2.stan', line 146, column 2 to column 13)", - " (in 'reduce_sum_m2.stan', line 150, column 2 to column 37)", - " (in 'reduce_sum_m2.stan', line 151, column 2 to column 37)", - " (in 'reduce_sum_m2.stan', line 152, column 2 to column 37)", - " (in 'reduce_sum_m2.stan', line 153, column 2 to column 37)", - " (in 'reduce_sum_m2.stan', line 154, column 2 to column 37)", - " (in 'reduce_sum_m2.stan', line 155, column 2 to column 37)", - " (in 'reduce_sum_m2.stan', line 156, column 2 to column 37)", - " (in 'reduce_sum_m2.stan', line 157, column 2 to column 37)", - " (in 'reduce_sum_m2.stan', line 159, column 2 to column 34)", - " (in 'reduce_sum_m2.stan', line 160, column 2 to column 34)", - " (in 'reduce_sum_m2.stan', line 161, column 2 to column 34)", - " (in 'reduce_sum_m2.stan', line 162, column 2 to column 34)", - " (in 'reduce_sum_m2.stan', line 163, column 2 to column 34)", - " (in 'reduce_sum_m2.stan', line 164, column 2 to column 34)", - " (in 'reduce_sum_m2.stan', line 165, column 2 to column 34)", - " (in 'reduce_sum_m2.stan', line 166, column 2 to column 34)", - " (in 'reduce_sum_m2.stan', line 125, column 2 to column 12)", - " (in 'reduce_sum_m2.stan', line 126, column 9 to column 10)", - " (in 'reduce_sum_m2.stan', line 126, column 2 to column 12)", - " (in 'reduce_sum_m2.stan', line 130, column 18 to column 19)", - " (in 'reduce_sum_m2.stan', line 130, column 21 to column 22)", - " (in 'reduce_sum_m2.stan', line 130, column 9 to column 10)", - " (in 'reduce_sum_m2.stan', line 130, column 12 to column 13)", - " (in 'reduce_sum_m2.stan', line 131, column 19 to column 20)", - " (in 'reduce_sum_m2.stan', line 131, column 22 to column 23)", - " (in 'reduce_sum_m2.stan', line 131, column 13 to column 14)", - " (in 'reduce_sum_m2.stan', line 132, column 15 to column 16)", - " (in 'reduce_sum_m2.stan', line 132, column 18 to column 19)", - " (in 'reduce_sum_m2.stan', line 132, column 9 to column 10)", - " (in 'reduce_sum_m2.stan', line 133, column 10 to column 11)", - " (in 'reduce_sum_m2.stan', line 133, column 13 to column 14)", - " (in 'reduce_sum_m2.stan', line 134, column 18 to column 19)", - " (in 'reduce_sum_m2.stan', line 134, column 9 to column 10)", - " (in 'reduce_sum_m2.stan', line 134, column 12 to column 13)", - " (in 'reduce_sum_m2.stan', line 135, column 19 to column 20)", - " (in 'reduce_sum_m2.stan', line 135, column 13 to column 14)", - " (in 'reduce_sum_m2.stan', line 136, column 15 to column 16)", - " (in 'reduce_sum_m2.stan', line 136, column 9 to column 10)", - " (in 'reduce_sum_m2.stan', line 137, column 10 to column 11)", - " (in 'reduce_sum_m2.stan', line 139, column 18 to column 19)", - " (in 'reduce_sum_m2.stan', line 139, column 21 to column 22)", - " (in 'reduce_sum_m2.stan', line 139, column 9 to column 10)", - " (in 'reduce_sum_m2.stan', line 139, column 12 to column 13)", - " (in 'reduce_sum_m2.stan', line 140, column 19 to column 20)", - " (in 'reduce_sum_m2.stan', line 140, column 22 to column 23)", - " (in 'reduce_sum_m2.stan', line 140, column 13 to column 14)", - " (in 'reduce_sum_m2.stan', line 141, column 15 to column 16)", - " (in 'reduce_sum_m2.stan', line 141, column 18 to column 19)", - " (in 'reduce_sum_m2.stan', line 141, column 9 to column 10)", - " (in 'reduce_sum_m2.stan', line 142, column 10 to column 11)", - " (in 'reduce_sum_m2.stan', line 142, column 13 to column 14)", - " (in 'reduce_sum_m2.stan', line 143, column 18 to column 19)", - " (in 'reduce_sum_m2.stan', line 143, column 9 to column 10)", - " (in 'reduce_sum_m2.stan', line 143, column 12 to column 13)", - " (in 'reduce_sum_m2.stan', line 144, column 19 to column 20)", - " (in 'reduce_sum_m2.stan', line 144, column 13 to column 14)", - " (in 'reduce_sum_m2.stan', line 145, column 15 to column 16)", - " (in 'reduce_sum_m2.stan', line 145, column 9 to column 10)", - " (in 'reduce_sum_m2.stan', line 146, column 10 to column 11)", - " (in 'reduce_sum_m2.stan', line 3, column 4 to column 39)", - " (in 'reduce_sum_m2.stan', line 2, column 46 to line 4, column 3)", - " (in 'reduce_sum_m2.stan', line 6, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 8, column 6 to column 49)", - " (in 'reduce_sum_m2.stan', line 7, column 30 to line 9, column 5)", - " (in 'reduce_sum_m2.stan', line 7, column 4 to line 9, column 5)", - " (in 'reduce_sum_m2.stan', line 10, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 5, column 48 to line 11, column 3)", - " (in 'reduce_sum_m2.stan', line 13, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 15, column 6 to column 49)", - " (in 'reduce_sum_m2.stan', line 14, column 30 to line 16, column 5)", - " (in 'reduce_sum_m2.stan', line 14, column 4 to line 16, column 5)", - " (in 'reduce_sum_m2.stan', line 17, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 12, column 52 to line 18, column 3)", - " (in 'reduce_sum_m2.stan', line 20, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 22, column 6 to column 60)", - " (in 'reduce_sum_m2.stan', line 21, column 30 to line 23, column 5)", - " (in 'reduce_sum_m2.stan', line 21, column 4 to line 23, column 5)", - " (in 'reduce_sum_m2.stan', line 24, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 19, column 48 to line 25, column 3)", - " (in 'reduce_sum_m2.stan', line 27, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 30, column 8 to column 54)", - " (in 'reduce_sum_m2.stan', line 29, column 35 to line 31, column 7)", - " (in 'reduce_sum_m2.stan', line 29, column 6 to line 31, column 7)", - " (in 'reduce_sum_m2.stan', line 28, column 30 to line 32, column 5)", - " (in 'reduce_sum_m2.stan', line 28, column 4 to line 32, column 5)", - " (in 'reduce_sum_m2.stan', line 33, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 26, column 47 to line 34, column 3)", - " (in 'reduce_sum_m2.stan', line 36, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 39, column 8 to column 65)", - " (in 'reduce_sum_m2.stan', line 38, column 35 to line 40, column 7)", - " (in 'reduce_sum_m2.stan', line 38, column 6 to line 40, column 7)", - " (in 'reduce_sum_m2.stan', line 37, column 30 to line 41, column 5)", - " (in 'reduce_sum_m2.stan', line 37, column 4 to line 41, column 5)", - " (in 'reduce_sum_m2.stan', line 42, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 35, column 49 to line 43, column 3)", - " (in 'reduce_sum_m2.stan', line 45, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 48, column 8 to column 65)", - " (in 'reduce_sum_m2.stan', line 47, column 35 to line 49, column 7)", - " (in 'reduce_sum_m2.stan', line 47, column 6 to line 49, column 7)", - " (in 'reduce_sum_m2.stan', line 46, column 30 to line 50, column 5)", - " (in 'reduce_sum_m2.stan', line 46, column 4 to line 50, column 5)", - " (in 'reduce_sum_m2.stan', line 51, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 44, column 53 to line 52, column 3)", - " (in 'reduce_sum_m2.stan', line 54, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 57, column 8 to column 65)", - " (in 'reduce_sum_m2.stan', line 56, column 35 to line 58, column 7)", - " (in 'reduce_sum_m2.stan', line 56, column 6 to line 58, column 7)", - " (in 'reduce_sum_m2.stan', line 55, column 30 to line 59, column 5)", - " (in 'reduce_sum_m2.stan', line 55, column 4 to line 59, column 5)", - " (in 'reduce_sum_m2.stan', line 60, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 53, column 49 to line 61, column 3)", - " (in 'reduce_sum_m2.stan', line 63, column 4 to column 44)", - " (in 'reduce_sum_m2.stan', line 62, column 50 to line 64, column 3)", - " (in 'reduce_sum_m2.stan', line 66, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 68, column 6 to column 43)", - " (in 'reduce_sum_m2.stan', line 67, column 24 to line 69, column 5)", - " (in 'reduce_sum_m2.stan', line 67, column 4 to line 69, column 5)", - " (in 'reduce_sum_m2.stan', line 70, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 65, column 52 to line 71, column 3)", - " (in 'reduce_sum_m2.stan', line 73, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 75, column 6 to column 43)", - " (in 'reduce_sum_m2.stan', line 74, column 24 to line 76, column 5)", - " (in 'reduce_sum_m2.stan', line 74, column 4 to line 76, column 5)", - " (in 'reduce_sum_m2.stan', line 77, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 72, column 56 to line 78, column 3)", - " (in 'reduce_sum_m2.stan', line 80, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 82, column 6 to column 54)", - " (in 'reduce_sum_m2.stan', line 81, column 24 to line 83, column 5)", - " (in 'reduce_sum_m2.stan', line 81, column 4 to line 83, column 5)", - " (in 'reduce_sum_m2.stan', line 84, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 79, column 52 to line 85, column 3)", - " (in 'reduce_sum_m2.stan', line 87, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 90, column 8 to column 48)", - " (in 'reduce_sum_m2.stan', line 89, column 29 to line 91, column 7)", - " (in 'reduce_sum_m2.stan', line 89, column 6 to line 91, column 7)", - " (in 'reduce_sum_m2.stan', line 88, column 24 to line 92, column 5)", - " (in 'reduce_sum_m2.stan', line 88, column 4 to line 92, column 5)", - " (in 'reduce_sum_m2.stan', line 93, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 86, column 51 to line 94, column 3)", - " (in 'reduce_sum_m2.stan', line 96, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 99, column 8 to column 59)", - " (in 'reduce_sum_m2.stan', line 98, column 29 to line 100, column 7)", - " (in 'reduce_sum_m2.stan', line 98, column 6 to line 100, column 7)", - " (in 'reduce_sum_m2.stan', line 97, column 24 to line 101, column 5)", - " (in 'reduce_sum_m2.stan', line 97, column 4 to line 101, column 5)", - " (in 'reduce_sum_m2.stan', line 102, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 95, column 53 to line 103, column 3)", - " (in 'reduce_sum_m2.stan', line 105, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 108, column 8 to column 59)", - " (in 'reduce_sum_m2.stan', line 107, column 29 to line 109, column 7)", - " (in 'reduce_sum_m2.stan', line 107, column 6 to line 109, column 7)", - " (in 'reduce_sum_m2.stan', line 106, column 24 to line 110, column 5)", - " (in 'reduce_sum_m2.stan', line 106, column 4 to line 110, column 5)", - " (in 'reduce_sum_m2.stan', line 111, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 104, column 57 to line 112, column 3)", - " (in 'reduce_sum_m2.stan', line 114, column 4 to column 24)", - " (in 'reduce_sum_m2.stan', line 117, column 8 to column 59)", - " (in 'reduce_sum_m2.stan', line 116, column 29 to line 118, column 7)", - " (in 'reduce_sum_m2.stan', line 116, column 6 to line 118, column 7)", - " (in 'reduce_sum_m2.stan', line 115, column 24 to line 119, column 5)", - " (in 'reduce_sum_m2.stan', line 115, column 4 to line 119, column 5)", - " (in 'reduce_sum_m2.stan', line 120, column 4 to column 20)", - " (in 'reduce_sum_m2.stan', line 113, column 53 to line 121, column 3)"}; - -struct g1_rsfunctor__; -struct g2_rsfunctor__; -struct g3_rsfunctor__; -struct g4_rsfunctor__; -struct g5_rsfunctor__; -struct g6_rsfunctor__; -struct g7_rsfunctor__; -struct g8_rsfunctor__; -struct h1_rsfunctor__; -struct h2_rsfunctor__; -struct h3_rsfunctor__; -struct h4_rsfunctor__; -struct h5_rsfunctor__; -struct h6_rsfunctor__; -struct h7_rsfunctor__; -struct h8_rsfunctor__; -template -stan::promote_args_t -g1(const std::vector& y_slice, const int& start, const int& end, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 76; - return normal_lpdf(y_slice, 0, 1); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct g1_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return g1(y_slice, start, end, pstream__); -} -}; - - -struct g1_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return g1(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -g2(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 78; - sum_lpdf = 0.0; - current_statement__ = 81; - for (int n = 1; n <= size(y_slice); ++n) { - current_statement__ = 79; - sum_lpdf = (sum_lpdf + - normal_lpdf( - rvalue(y_slice, "y_slice", index_uni(n)), 0, 1)); - } - current_statement__ = 82; - return sum_lpdf; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct g2_functor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return g2(y_slice, start, end, pstream__); -} -}; - - -struct g2_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return g2(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -g3(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 84; - sum_lpdf = 0.0; - current_statement__ = 87; - for (int n = 1; n <= size(y_slice); ++n) { - current_statement__ = 85; - sum_lpdf = (sum_lpdf + - normal_lpdf( - rvalue(y_slice, "y_slice", index_uni(n)), 0, 1)); - } - current_statement__ = 88; - return sum_lpdf; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct g3_functor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return g3(y_slice, start, end, pstream__); -} + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; +} +using stan_model = mother_model_namespace::mother_model; +#ifndef USING_R -struct g3_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return g3(y_slice, start + 1, end + 1, pstream__); +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; } -}; -template -stan::promote_args_t -g4(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 90; - sum_lpdf = 0.0; - current_statement__ = 93; - for (int n = 1; n <= size(y_slice); ++n) { - current_statement__ = 91; - sum_lpdf = (sum_lpdf + - normal_lpdf( - to_vector(rvalue(y_slice, "y_slice", index_uni(n))), 0, - 1)); - } - current_statement__ = 94; - return sum_lpdf; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - +stan::math::profile_map& get_stan_profile_data() { + return mother_model_namespace::profiles__; } -struct g4_functor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return g4(y_slice, start, end, pstream__); -} -}; +#endif -struct g4_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return g4(y_slice, start + 1, end + 1, pstream__); -} -}; +STAN_REGISTER_MAP_RECT(1, mother_model_namespace::binomialf_functor__) +Warning in 'mother.stan', line 63, column 4: increment_log_prob(...); is deprecated and will be removed in the future. Use target += ...; instead. +Warning in 'mother.stan', line 187, column 15: get_lp() function is deprecated. It will be removed in a future release. Use target() instead. +Warning in 'mother.stan', line 63, column 23: normal_log is deprecated and will be removed in the future. Use normal_lpdf instead. +Warning in 'mother.stan', line 187, column 15: The no-argument function `get_lp()` is deprecated. Use the no-argument function `target()` instead. + $ ../../../../../install/default/bin/stanc --print-cpp motherHOF.stan -template -stan::promote_args_t -g5(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 96; - sum_lpdf = 0.0; - current_statement__ = 101; - for (int n = 1; n <= size(y_slice); ++n) { - current_statement__ = 99; - for (int m = 1; m <= size(rvalue(y_slice, "y_slice", index_uni(n))); - ++m) { - current_statement__ = 97; - sum_lpdf = (sum_lpdf + - normal_lpdf( - rvalue(y_slice, "y_slice", index_uni(n), index_uni(m)), - 0, 1)); - } - } - current_statement__ = 102; - return sum_lpdf; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +// Code generated by %%NAME%% %%VERSION%% +#include +namespace motherHOF_model_namespace { -struct g5_functor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return g5(y_slice, start, end, pstream__); -} -}; +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; -struct g5_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return g5(y_slice, start + 1, end + 1, pstream__); -} -}; +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'motherHOF.stan', line 52, column 2 to column 15)", + " (in 'motherHOF.stan', line 53, column 2 to column 18)", + " (in 'motherHOF.stan', line 54, column 2 to column 14)", + " (in 'motherHOF.stan', line 55, column 2 to column 18)", + " (in 'motherHOF.stan', line 56, column 2 to column 28)", + " (in 'motherHOF.stan', line 57, column 2 to column 28)", + " (in 'motherHOF.stan', line 58, column 2 to column 11)", + " (in 'motherHOF.stan', line 61, column 2 to column 18)", + " (in 'motherHOF.stan', line 62, column 2 to column 37)", + " (in 'motherHOF.stan', line 63, column 2 to column 33)", + " (in 'motherHOF.stan', line 64, column 2 to line 65, column 69)", + " (in 'motherHOF.stan', line 66, column 2 to line 67, column 69)", + " (in 'motherHOF.stan', line 68, column 2 to line 69, column 69)", + " (in 'motherHOF.stan', line 70, column 2 to column 23)", + " (in 'motherHOF.stan', line 71, column 2 to column 16)", + " (in 'motherHOF.stan', line 72, column 2 to column 16)", + " (in 'motherHOF.stan', line 73, column 2 to column 16)", + " (in 'motherHOF.stan', line 74, column 2 to column 70)", + " (in 'motherHOF.stan', line 75, column 2 to column 86)", + " (in 'motherHOF.stan', line 76, column 2 to column 86)", + " (in 'motherHOF.stan', line 77, column 2 to column 72)", + " (in 'motherHOF.stan', line 79, column 2 to column 88)", + " (in 'motherHOF.stan', line 80, column 2 to column 72)", + " (in 'motherHOF.stan', line 81, column 2 to column 88)", + " (in 'motherHOF.stan', line 83, column 2 to column 77)", + " (in 'motherHOF.stan', line 84, column 2 to column 93)", + " (in 'motherHOF.stan', line 85, column 2 to column 93)", + " (in 'motherHOF.stan', line 86, column 2 to column 79)", + " (in 'motherHOF.stan', line 88, column 2 to column 95)", + " (in 'motherHOF.stan', line 89, column 2 to column 79)", + " (in 'motherHOF.stan', line 90, column 2 to column 95)", + " (in 'motherHOF.stan', line 145, column 2 to column 18)", + " (in 'motherHOF.stan', line 146, column 2 to column 68)", + " (in 'motherHOF.stan', line 147, column 2 to column 68)", + " (in 'motherHOF.stan', line 148, column 2 to column 68)", + " (in 'motherHOF.stan', line 149, column 2 to column 68)", + " (in 'motherHOF.stan', line 151, column 2 to column 87)", + " (in 'motherHOF.stan', line 152, column 2 to column 87)", + " (in 'motherHOF.stan', line 153, column 2 to column 87)", + " (in 'motherHOF.stan', line 154, column 2 to column 87)", + " (in 'motherHOF.stan', line 156, column 2 to column 66)", + " (in 'motherHOF.stan', line 157, column 2 to column 66)", + " (in 'motherHOF.stan', line 158, column 2 to column 66)", + " (in 'motherHOF.stan', line 159, column 2 to column 66)", + " (in 'motherHOF.stan', line 161, column 2 to column 85)", + " (in 'motherHOF.stan', line 162, column 2 to column 85)", + " (in 'motherHOF.stan', line 163, column 2 to column 85)", + " (in 'motherHOF.stan', line 164, column 2 to column 85)", + " (in 'motherHOF.stan', line 166, column 2 to column 67)", + " (in 'motherHOF.stan', line 167, column 2 to column 67)", + " (in 'motherHOF.stan', line 168, column 2 to column 67)", + " (in 'motherHOF.stan', line 169, column 2 to column 67)", + " (in 'motherHOF.stan', line 171, column 2 to column 61)", + " (in 'motherHOF.stan', line 172, column 2 to column 58)", + " (in 'motherHOF.stan', line 173, column 2 to column 58)", + " (in 'motherHOF.stan', line 174, column 2 to column 60)", + " (in 'motherHOF.stan', line 176, column 2 to column 67)", + " (in 'motherHOF.stan', line 177, column 2 to column 64)", + " (in 'motherHOF.stan', line 178, column 2 to column 64)", + " (in 'motherHOF.stan', line 179, column 2 to column 66)", + " (in 'motherHOF.stan', line 181, column 2 to column 34)", + " (in 'motherHOF.stan', line 182, column 2 to column 38)", + " (in 'motherHOF.stan', line 183, column 2 to line 185, column 71)", + " (in 'motherHOF.stan', line 187, column 2 to line 188, column 69)", + " (in 'motherHOF.stan', line 190, column 2 to column 22)", + " (in 'motherHOF.stan', line 191, column 2 to column 69)", + " (in 'motherHOF.stan', line 192, column 2 to column 85)", + " (in 'motherHOF.stan', line 193, column 2 to column 85)", + " (in 'motherHOF.stan', line 194, column 2 to column 71)", + " (in 'motherHOF.stan', line 196, column 2 to column 87)", + " (in 'motherHOF.stan', line 197, column 2 to column 71)", + " (in 'motherHOF.stan', line 198, column 2 to column 87)", + " (in 'motherHOF.stan', line 200, column 2 to column 76)", + " (in 'motherHOF.stan', line 201, column 2 to column 92)", + " (in 'motherHOF.stan', line 202, column 2 to column 92)", + " (in 'motherHOF.stan', line 203, column 2 to column 78)", + " (in 'motherHOF.stan', line 205, column 2 to column 94)", + " (in 'motherHOF.stan', line 206, column 2 to column 78)", + " (in 'motherHOF.stan', line 207, column 2 to column 94)", + " (in 'motherHOF.stan', line 94, column 13 to column 14)", + " (in 'motherHOF.stan', line 94, column 2 to column 18)", + " (in 'motherHOF.stan', line 95, column 2 to column 68)", + " (in 'motherHOF.stan', line 96, column 2 to column 68)", + " (in 'motherHOF.stan', line 97, column 2 to column 68)", + " (in 'motherHOF.stan', line 99, column 2 to column 87)", + " (in 'motherHOF.stan', line 100, column 2 to column 87)", + " (in 'motherHOF.stan', line 101, column 2 to column 87)", + " (in 'motherHOF.stan', line 103, column 2 to column 66)", + " (in 'motherHOF.stan', line 104, column 2 to column 66)", + " (in 'motherHOF.stan', line 105, column 2 to column 66)", + " (in 'motherHOF.stan', line 106, column 2 to column 66)", + " (in 'motherHOF.stan', line 108, column 2 to column 85)", + " (in 'motherHOF.stan', line 109, column 2 to column 85)", + " (in 'motherHOF.stan', line 110, column 2 to column 85)", + " (in 'motherHOF.stan', line 111, column 2 to column 85)", + " (in 'motherHOF.stan', line 113, column 2 to column 67)", + " (in 'motherHOF.stan', line 114, column 2 to column 67)", + " (in 'motherHOF.stan', line 115, column 2 to column 67)", + " (in 'motherHOF.stan', line 116, column 2 to column 67)", + " (in 'motherHOF.stan', line 118, column 2 to column 61)", + " (in 'motherHOF.stan', line 119, column 2 to column 58)", + " (in 'motherHOF.stan', line 120, column 2 to column 58)", + " (in 'motherHOF.stan', line 121, column 2 to column 60)", + " (in 'motherHOF.stan', line 122, column 2 to column 56)", + " (in 'motherHOF.stan', line 123, column 2 to column 58)", + " (in 'motherHOF.stan', line 124, column 2 to column 58)", + " (in 'motherHOF.stan', line 125, column 2 to column 60)", + " (in 'motherHOF.stan', line 126, column 2 to column 62)", + " (in 'motherHOF.stan', line 127, column 2 to column 62)", + " (in 'motherHOF.stan', line 128, column 2 to column 64)", + " (in 'motherHOF.stan', line 130, column 2 to column 67)", + " (in 'motherHOF.stan', line 131, column 2 to column 64)", + " (in 'motherHOF.stan', line 132, column 2 to column 64)", + " (in 'motherHOF.stan', line 133, column 2 to column 66)", + " (in 'motherHOF.stan', line 134, column 2 to column 62)", + " (in 'motherHOF.stan', line 135, column 2 to column 64)", + " (in 'motherHOF.stan', line 136, column 2 to column 64)", + " (in 'motherHOF.stan', line 137, column 2 to column 66)", + " (in 'motherHOF.stan', line 138, column 2 to column 68)", + " (in 'motherHOF.stan', line 139, column 2 to column 68)", + " (in 'motherHOF.stan', line 140, column 2 to column 70)", + " (in 'motherHOF.stan', line 142, column 2 to column 36)", + " (in 'motherHOF.stan', line 37, column 2 to column 17)", + " (in 'motherHOF.stan', line 38, column 2 to column 15)", + " (in 'motherHOF.stan', line 39, column 2 to column 10)", + " (in 'motherHOF.stan', line 40, column 10 to column 11)", + " (in 'motherHOF.stan', line 40, column 2 to column 13)", + " (in 'motherHOF.stan', line 41, column 2 to column 18)", + " (in 'motherHOF.stan', line 42, column 2 to column 12)", + " (in 'motherHOF.stan', line 43, column 2 to column 15)", + " (in 'motherHOF.stan', line 44, column 2 to column 16)", + " (in 'motherHOF.stan', line 45, column 2 to column 15)", + " (in 'motherHOF.stan', line 46, column 2 to column 28)", + " (in 'motherHOF.stan', line 47, column 2 to column 28)", + " (in 'motherHOF.stan', line 48, column 2 to column 20)", + " (in 'motherHOF.stan', line 49, column 2 to column 19)", + " (in 'motherHOF.stan', line 53, column 15 to column 16)", + " (in 'motherHOF.stan', line 54, column 11 to column 12)", + " (in 'motherHOF.stan', line 145, column 13 to column 14)", + " (in 'motherHOF.stan', line 7, column 4 to column 17)", + " (in 'motherHOF.stan', line 8, column 4 to column 19)", + " (in 'motherHOF.stan', line 9, column 4 to column 38)", + " (in 'motherHOF.stan', line 10, column 4 to column 16)", + " (in 'motherHOF.stan', line 6, column 26 to line 11, column 3)", + " (in 'motherHOF.stan', line 13, column 4 to column 15)", + " (in 'motherHOF.stan', line 12, column 71 to line 14, column 3)", + " (in 'motherHOF.stan', line 17, column 4 to column 22)", + " (in 'motherHOF.stan', line 16, column 42 to line 18, column 3)", + " (in 'motherHOF.stan', line 21, column 4 to column 22)", + " (in 'motherHOF.stan', line 20, column 42 to line 22, column 3)", + " (in 'motherHOF.stan', line 24, column 4 to column 17)", + " (in 'motherHOF.stan', line 23, column 28 to line 25, column 3)", + " (in 'motherHOF.stan', line 30, column 4 to column 18)", + " (in 'motherHOF.stan', line 31, column 4 to column 25)", + " (in 'motherHOF.stan', line 32, column 4 to column 25)", + " (in 'motherHOF.stan', line 33, column 4 to column 15)", + " (in 'motherHOF.stan', line 29, column 39 to line 34, column 3)"}; -template -stan::promote_args_t -g6(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 104; - sum_lpdf = 0.0; - current_statement__ = 109; - for (int n = 1; n <= size(y_slice); ++n) { - current_statement__ = 107; - for (int m = 1; m <= size(rvalue(y_slice, "y_slice", index_uni(n))); - ++m) { - current_statement__ = 105; - sum_lpdf = (sum_lpdf + - normal_lpdf( - to_vector( - rvalue(y_slice, "y_slice", - index_uni(n), index_uni(m))), 0, 1)); - } - } - current_statement__ = 110; - return sum_lpdf; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +template +std::vector> +sho(const T0__& t, const std::vector& y, + const std::vector& theta, const std::vector& x, + const std::vector& x_int, std::ostream* pstream__) ; -struct g6_functor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const +struct sho_functor__ { +template +std::vector> +operator()(const T0__& t, const std::vector& y, + const std::vector& theta, const std::vector& x, + const std::vector& x_int, std::ostream* pstream__) const { -return g6(y_slice, start, end, pstream__); +return sho(t, y, theta, x, x_int, pstream__); } }; +template +stan::promote_args_t +integrand(const T0__& x, const T1__& xc, const std::vector& theta, + const std::vector& x_r, const std::vector& x_i, + std::ostream* pstream__) ; -struct g6_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const +struct integrand_functor__ { +template +stan::promote_args_t +operator()(const T0__& x, const T1__& xc, const std::vector& theta, + const std::vector& x_r, const std::vector& x_i, + std::ostream* pstream__) const { -return g6(y_slice, start + 1, end + 1, pstream__); +return integrand(x, xc, theta, x_r, x_i, pstream__); } }; -template -stan::promote_args_t -g7(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 112; - sum_lpdf = 0.0; - current_statement__ = 117; - for (int n = 1; n <= size(y_slice); ++n) { - current_statement__ = 115; - for (int m = 1; m <= size(rvalue(y_slice, "y_slice", index_uni(n))); - ++m) { - current_statement__ = 113; - sum_lpdf = (sum_lpdf + - normal_lpdf( - to_vector( - rvalue(y_slice, "y_slice", - index_uni(n), index_uni(m))), 0, 1)); - } - } - current_statement__ = 118; - return sum_lpdf; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +template +Eigen::Matrix, stan::value_type_t, +T2__>, -1, 1> +foo(const T0__& shared_params, const T1__& job_params, + const std::vector& data_r, const std::vector& data_i, + std::ostream* pstream__) ; -struct g7_functor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const +struct foo_functor__ { +template +Eigen::Matrix, stan::value_type_t, +T2__>, -1, 1> +operator()(const T0__& shared_params, const T1__& job_params, + const std::vector& data_r, const std::vector& data_i, + std::ostream* pstream__) const { -return g7(y_slice, start, end, pstream__); +return foo(shared_params, job_params, data_r, data_i, pstream__); } }; +template +Eigen::Matrix, stan::value_type_t, +T2__>, -1, 1> +goo(const T0__& shared_params, const T1__& job_params, + const std::vector& data_r, const std::vector& data_i, + std::ostream* pstream__) ; -struct g7_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const +struct goo_functor__ { +template +Eigen::Matrix, stan::value_type_t, +T2__>, -1, 1> +operator()(const T0__& shared_params, const T1__& job_params, + const std::vector& data_r, const std::vector& data_i, + std::ostream* pstream__) const { -return g7(y_slice, start + 1, end + 1, pstream__); +return goo(shared_params, job_params, data_r, data_i, pstream__); } }; template stan::promote_args_t -g8(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 120; - sum_lpdf = 0.0; - current_statement__ = 125; - for (int n = 1; n <= size(y_slice); ++n) { - current_statement__ = 123; - for (int m = 1; m <= size(rvalue(y_slice, "y_slice", index_uni(n))); - ++m) { - current_statement__ = 121; - sum_lpdf = (sum_lpdf + - normal_lpdf( - to_vector( - rvalue(y_slice, "y_slice", - index_uni(n), index_uni(m))), 0, 1)); - } - } - current_statement__ = 126; - return sum_lpdf; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct g8_functor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return g8(y_slice, start, end, pstream__); -} -}; +map_rectfake(const T0__& x, std::ostream* pstream__) ; - -struct g8_rsfunctor__ { +struct map_rectfake_functor__ { template stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return g8(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -h1(const std::vector& y, const int& start, const int& end, - const std::vector& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 128; - return normal_lpdf(rvalue(a, "a", index_min_max(start, end)), 0, - 1); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct h1_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - const std::vector& a, std::ostream* pstream__) const -{ -return h1(y, start, end, a, pstream__); -} -}; - - -struct h1_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - std::ostream* pstream__, const std::vector& a) const -{ -return h1(y, start + 1, end + 1, a, pstream__); -} -}; - -template -stan::promote_args_t -h2(const std::vector& y, const int& start, const int& end, - const std::vector>& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 130; - sum_lpdf = 0.0; - current_statement__ = 133; - for (int n = start; n <= end; ++n) { - current_statement__ = 131; - sum_lpdf = (sum_lpdf + - normal_lpdf(rvalue(a, "a", index_uni(n)), 0, 1)); - } - current_statement__ = 134; - return sum_lpdf; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct h2_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - const std::vector>& a, - std::ostream* pstream__) const +operator()(const T0__& x, std::ostream* pstream__) const { -return h2(y, start, end, a, pstream__); +return map_rectfake(x, pstream__); } }; +template +Eigen::Matrix, stan::value_type_t, +T2__>, -1, 1> +algebra_system(const T0__& x, const T1__& y, const std::vector& dat, + const std::vector& dat_int, std::ostream* pstream__) ; -struct h2_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - std::ostream* pstream__, - const std::vector>& a) const +struct algebra_system_functor__ { +template +Eigen::Matrix, stan::value_type_t, +T2__>, -1, 1> +operator()(const T0__& x, const T1__& y, const std::vector& dat, + const std::vector& dat_int, std::ostream* pstream__) const { -return h2(y, start + 1, end + 1, a, pstream__); +return algebra_system(x, y, dat, dat_int, pstream__); } }; -template -stan::promote_args_t -h3(const std::vector& y, const int& start, const int& end, - const std::vector>& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; +template +std::vector> +sho(const T0__& t, const std::vector& y, + const std::vector& theta, const std::vector& x, + const std::vector& x_int, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; int current_statement__ = 0; static constexpr bool propto__ = true; (void) propto__; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; + std::vector dydt; + dydt = std::vector(2, DUMMY_VAR__); - current_statement__ = 136; - sum_lpdf = 0.0; - current_statement__ = 139; - for (int n = start; n <= end; ++n) { - current_statement__ = 137; - sum_lpdf = (sum_lpdf + - normal_lpdf(rvalue(a, "a", index_uni(n)), 0, 1)); - } - current_statement__ = 140; - return sum_lpdf; + current_statement__ = 141; + assign(dydt, rvalue(y, "y", index_uni(2)), + "assigning variable dydt", index_uni(1)); + current_statement__ = 142; + assign(dydt, + (-rvalue(y, "y", index_uni(1)) - + (rvalue(theta, "theta", index_uni(1)) * rvalue(y, "y", index_uni(2)))), + "assigning variable dydt", index_uni(2)); + current_statement__ = 143; + return dydt; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } } - -struct h3_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - const std::vector>& a, - std::ostream* pstream__) const -{ -return h3(y, start, end, a, pstream__); -} -}; - - -struct h3_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - std::ostream* pstream__, - const std::vector>& a) const -{ -return h3(y, start + 1, end + 1, a, pstream__); -} -}; - -template -stan::promote_args_t +stan::promote_args_t -h4(const std::vector& y, const int& start, const int& end, - const std::vector>& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; +integrand(const T0__& x, const T1__& xc, const std::vector& theta, + const std::vector& x_r, const std::vector& x_i, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; int current_statement__ = 0; static constexpr bool propto__ = true; (void) propto__; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 142; - sum_lpdf = 0.0; - current_statement__ = 145; - for (int n = start; n <= end; ++n) { - current_statement__ = 143; - sum_lpdf = (sum_lpdf + - normal_lpdf( - to_vector(rvalue(a, "a", index_uni(n))), 0, 1)); - } - current_statement__ = 146; - return sum_lpdf; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct h4_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - const std::vector>& a, - std::ostream* pstream__) const -{ -return h4(y, start, end, a, pstream__); -} -}; - - -struct h4_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - std::ostream* pstream__, - const std::vector>& a) const -{ -return h4(y, start + 1, end + 1, a, pstream__); + current_statement__ = 145; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } -}; - -template -stan::promote_args_t -h5(const std::vector& y, const int& start, const int& end, - const std::vector>& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; +template +Eigen::Matrix, stan::value_type_t, +T2__>, -1, 1> +foo(const T0__& shared_params_arg__, const T1__& job_params_arg__, + const std::vector& data_r, const std::vector& data_i, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t, + T2__>; int current_statement__ = 0; + const auto& shared_params = to_ref(shared_params_arg__); + const auto& job_params = to_ref(job_params_arg__); static constexpr bool propto__ = true; (void) propto__; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 148; - sum_lpdf = 0.0; - current_statement__ = 153; - for (int n = start; n <= end; ++n) { - current_statement__ = 151; - for (int m = 1; m <= size(rvalue(a, "a", index_uni(n))); ++m) { - current_statement__ = 149; - sum_lpdf = (sum_lpdf + - normal_lpdf( - rvalue(a, "a", index_uni(n), index_uni(m)), 0, 1)); - } - } - current_statement__ = 154; - return sum_lpdf; + current_statement__ = 147; + return (Eigen::Matrix(3) << 1, 2, 3).finished(); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } } - -struct h5_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - const std::vector>& a, std::ostream* pstream__) const -{ -return h5(y, start, end, a, pstream__); -} -}; - - -struct h5_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - std::ostream* pstream__, const std::vector>& a) const -{ -return h5(y, start + 1, end + 1, a, pstream__); -} -}; - -template -stan::promote_args_t -h6(const std::vector& y, const int& start, const int& end, - const std::vector>>& a, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; +template +Eigen::Matrix, stan::value_type_t, +T2__>, -1, 1> +goo(const T0__& shared_params_arg__, const T1__& job_params_arg__, + const std::vector& data_r, const std::vector& data_i, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t, + T2__>; int current_statement__ = 0; + const auto& shared_params = to_ref(shared_params_arg__); + const auto& job_params = to_ref(job_params_arg__); static constexpr bool propto__ = true; (void) propto__; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 156; - sum_lpdf = 0.0; - current_statement__ = 161; - for (int n = start; n <= end; ++n) { - current_statement__ = 159; - for (int m = 1; m <= size(rvalue(a, "a", index_uni(n))); ++m) { - current_statement__ = 157; - sum_lpdf = (sum_lpdf + - normal_lpdf( - to_vector(rvalue(a, "a", index_uni(n), index_uni(m))), - 0, 1)); - } - } - current_statement__ = 162; - return sum_lpdf; + current_statement__ = 149; + return (Eigen::Matrix(3) << 4, 5, 6).finished(); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } } - -struct h6_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - const std::vector>>& a, - std::ostream* pstream__) const -{ -return h6(y, start, end, a, pstream__); -} -}; - - -struct h6_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - std::ostream* pstream__, - const std::vector>>& a) const -{ -return h6(y, start + 1, end + 1, a, pstream__); -} -}; - -template -stan::promote_args_t -h7(const std::vector& y, const int& start, const int& end, - const std::vector>>& a, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; +template +stan::promote_args_t +map_rectfake(const T0__& x, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; int current_statement__ = 0; static constexpr bool propto__ = true; (void) propto__; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; - - current_statement__ = 164; - sum_lpdf = 0.0; - current_statement__ = 169; - for (int n = start; n <= end; ++n) { - current_statement__ = 167; - for (int m = 1; m <= size(rvalue(a, "a", index_uni(n))); ++m) { - current_statement__ = 165; - sum_lpdf = (sum_lpdf + - normal_lpdf( - to_vector(rvalue(a, "a", index_uni(n), index_uni(m))), - 0, 1)); - } - } - current_statement__ = 170; - return sum_lpdf; + current_statement__ = 151; + return (2 * x); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } } - -struct h7_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - const std::vector>>& a, - std::ostream* pstream__) const -{ -return h7(y, start, end, a, pstream__); -} -}; - - -struct h7_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - std::ostream* pstream__, - const std::vector>>& a) const -{ -return h7(y, start + 1, end + 1, a, pstream__); -} -}; - -template -stan::promote_args_t -h8(const std::vector& y, const int& start, const int& end, - const std::vector>>& a, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; +template +Eigen::Matrix, stan::value_type_t, +T2__>, -1, 1> +algebra_system(const T0__& x_arg__, const T1__& y_arg__, + const std::vector& dat, const std::vector& dat_int, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t, + T2__>; int current_statement__ = 0; + const auto& x = to_ref(x_arg__); + const auto& y = to_ref(y_arg__); static constexpr bool propto__ = true; (void) propto__; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - local_scalar_t__ sum_lpdf; - sum_lpdf = DUMMY_VAR__; + Eigen::Matrix f_x; + f_x = Eigen::Matrix(2); + stan::math::fill(f_x, DUMMY_VAR__); - current_statement__ = 172; - sum_lpdf = 0.0; - current_statement__ = 177; - for (int n = start; n <= end; ++n) { - current_statement__ = 175; - for (int m = 1; m <= size(rvalue(a, "a", index_uni(n))); ++m) { - current_statement__ = 173; - sum_lpdf = (sum_lpdf + - normal_lpdf( - to_vector(rvalue(a, "a", index_uni(n), index_uni(m))), - 0, 1)); - } - } - current_statement__ = 178; - return sum_lpdf; + current_statement__ = 154; + assign(f_x, + (rvalue(x, "x", index_uni(1)) - rvalue(y, "y", index_uni(1))), + "assigning variable f_x", index_uni(1)); + current_statement__ = 155; + assign(f_x, + (rvalue(x, "x", index_uni(2)) - rvalue(y, "y", index_uni(2))), + "assigning variable f_x", index_uni(2)); + current_statement__ = 156; + return f_x; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } } - -struct h8_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - const std::vector>>& a, - std::ostream* pstream__) const -{ -return h8(y, start, end, a, pstream__); -} -}; - - -struct h8_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y, const int& start, const int& end, - std::ostream* pstream__, - const std::vector>>& a) const -{ -return h8(y, start + 1, end + 1, a, pstream__); -} -}; - -class reduce_sum_m2_model final : public model_base_crtp { +class motherHOF_model final : public model_base_crtp { private: - int N; - std::vector x; - + int T; + std::vector y0_d; + double t0; + std::vector ts; + std::vector theta_d; + std::vector x; + std::vector x_int; + std::vector x_d_r; + std::vector x_d_i; + Eigen::Matrix shared_params_d__; + std::vector> job_params_d; + std::vector> data_r; + std::vector> data_i; + Eigen::Map> shared_params_d{nullptr, 0}; public: - ~reduce_sum_m2_model() { } + ~motherHOF_model() { } - inline std::string model_name() const final { return "reduce_sum_m2_model"; } + inline std::string model_name() const final { return "motherHOF_model"; } inline std::vector model_compile_info() const noexcept { return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; } - reduce_sum_m2_model(stan::io::var_context& context__, - unsigned int random_seed__ = 0, - std::ostream* pstream__ = nullptr) : model_base_crtp(0) { - int current_statement__ = 0; - using local_scalar_t__ = double ; - boost::ecuyer1988 base_rng__ = - stan::services::util::create_rng(random_seed__, 0); - (void) base_rng__; // suppress unused var warning - static constexpr const char* function__ = "reduce_sum_m2_model_namespace::reduce_sum_m2_model"; - (void) function__; // suppress unused var warning - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int pos__; - pos__ = std::numeric_limits::min(); - - pos__ = 1; - current_statement__ = 33; - N = std::numeric_limits::min(); - - current_statement__ = 33; - N = 2; - current_statement__ = 34; - validate_non_negative_index("x", "N", N); - current_statement__ = 35; - x = std::vector(N, std::numeric_limits::quiet_NaN()); - - current_statement__ = 36; - validate_non_negative_index("a8", "N", N); - current_statement__ = 37; - validate_non_negative_index("a8", "N", N); - current_statement__ = 38; - validate_non_negative_index("a8", "N", N); - current_statement__ = 39; - validate_non_negative_index("a8", "N", N); - current_statement__ = 40; - validate_non_negative_index("a7", "N", N); - current_statement__ = 41; - validate_non_negative_index("a7", "N", N); - current_statement__ = 42; - validate_non_negative_index("a7", "N", N); - current_statement__ = 43; - validate_non_negative_index("a6", "N", N); - current_statement__ = 44; - validate_non_negative_index("a6", "N", N); - current_statement__ = 45; - validate_non_negative_index("a6", "N", N); - current_statement__ = 46; - validate_non_negative_index("a5", "N", N); - current_statement__ = 47; - validate_non_negative_index("a5", "N", N); - current_statement__ = 48; - validate_non_negative_index("a4", "N", N); - current_statement__ = 49; - validate_non_negative_index("a4", "N", N); - current_statement__ = 50; - validate_non_negative_index("a4", "N", N); - current_statement__ = 51; - validate_non_negative_index("a3", "N", N); - current_statement__ = 52; - validate_non_negative_index("a3", "N", N); - current_statement__ = 53; - validate_non_negative_index("a2", "N", N); - current_statement__ = 54; - validate_non_negative_index("a2", "N", N); - current_statement__ = 55; - validate_non_negative_index("a1", "N", N); - current_statement__ = 56; - validate_non_negative_index("y8", "N", N); - current_statement__ = 57; - validate_non_negative_index("y8", "N", N); - current_statement__ = 58; - validate_non_negative_index("y8", "N", N); - current_statement__ = 59; - validate_non_negative_index("y8", "N", N); - current_statement__ = 60; - validate_non_negative_index("y7", "N", N); - current_statement__ = 61; - validate_non_negative_index("y7", "N", N); - current_statement__ = 62; - validate_non_negative_index("y7", "N", N); - current_statement__ = 63; - validate_non_negative_index("y6", "N", N); - current_statement__ = 64; - validate_non_negative_index("y6", "N", N); - current_statement__ = 65; - validate_non_negative_index("y6", "N", N); - current_statement__ = 66; - validate_non_negative_index("y5", "N", N); - current_statement__ = 67; - validate_non_negative_index("y5", "N", N); - current_statement__ = 68; - validate_non_negative_index("y4", "N", N); - current_statement__ = 69; - validate_non_negative_index("y4", "N", N); - current_statement__ = 70; - validate_non_negative_index("y4", "N", N); - current_statement__ = 71; - validate_non_negative_index("y3", "N", N); - current_statement__ = 72; - validate_non_negative_index("y3", "N", N); - current_statement__ = 73; - validate_non_negative_index("y2", "N", N); - current_statement__ = 74; - validate_non_negative_index("y2", "N", N); - current_statement__ = 75; - validate_non_negative_index("y1", "N", N); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - num_params_r__ = (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; - - } - - 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__); + motherHOF_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "motherHOF_model_namespace::motherHOF_model"; + (void) function__; // suppress unused var warning local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning - static constexpr const char* function__ = "reduce_sum_m2_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - try { - std::vector>> a8; - a8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(a8, DUMMY_VAR__); + int pos__; + pos__ = std::numeric_limits::min(); - current_statement__ = 1; - a8 = in__.template read>>>( - N, N, N, N); - std::vector>> a7; - a7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(a7, DUMMY_VAR__); + pos__ = 1; + current_statement__ = 123; + context__.validate_dims("data initialization","T","int", + std::vector{}); + T = std::numeric_limits::min(); - current_statement__ = 2; - a7 = in__.template read>>>( - N, N, N); - std::vector>> a6; - a6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(a6, DUMMY_VAR__); + current_statement__ = 123; + T = context__.vals_i("T")[(1 - 1)]; + current_statement__ = 123; + check_greater_or_equal(function__, "T", T, 1); + current_statement__ = 124; + context__.validate_dims("data initialization","y0_d","double", + std::vector{static_cast(2)}); + y0_d = std::vector(2, std::numeric_limits::quiet_NaN()); - current_statement__ = 3; - a6 = in__.template read>>>( - N, N, N); - std::vector> a5; - a5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); + current_statement__ = 124; + y0_d = context__.vals_r("y0_d"); + current_statement__ = 125; + context__.validate_dims("data initialization","t0","double", + std::vector{}); + t0 = std::numeric_limits::quiet_NaN(); + current_statement__ = 125; + t0 = context__.vals_r("t0")[(1 - 1)]; + current_statement__ = 126; + validate_non_negative_index("ts", "T", T); + current_statement__ = 127; + context__.validate_dims("data initialization","ts","double", + std::vector{static_cast(T)}); + ts = std::vector(T, std::numeric_limits::quiet_NaN()); - current_statement__ = 4; - a5 = in__.template read>>(N, - N); - std::vector> a4; - a4 = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(a4, DUMMY_VAR__); + current_statement__ = 127; + ts = context__.vals_r("ts"); + current_statement__ = 128; + context__.validate_dims("data initialization","theta_d","double", + std::vector{static_cast(1)}); + theta_d = std::vector(1, std::numeric_limits::quiet_NaN()); - current_statement__ = 5; - a4 = in__.template read>>( - N, N, N); - std::vector> a3; - a3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(a3, DUMMY_VAR__); - current_statement__ = 6; - a3 = in__.template read>>( - N, N); - std::vector> a2; - a2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(a2, DUMMY_VAR__); + current_statement__ = 128; + theta_d = context__.vals_r("theta_d"); + current_statement__ = 129; + context__.validate_dims("data initialization","x","double", + std::vector{static_cast(0)}); + x = std::vector(0, std::numeric_limits::quiet_NaN()); - current_statement__ = 7; - a2 = in__.template read>>( - N, N); - std::vector a1; - a1 = std::vector(N, DUMMY_VAR__); + current_statement__ = 129; + x = context__.vals_r("x"); + current_statement__ = 130; + context__.validate_dims("data initialization","x_int","int", + std::vector{static_cast(0)}); + x_int = std::vector(0, std::numeric_limits::min()); - current_statement__ = 8; - a1 = in__.template read>(N); - std::vector>> y8; - y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(y8, DUMMY_VAR__); + current_statement__ = 130; + x_int = context__.vals_i("x_int"); + current_statement__ = 131; + context__.validate_dims("data initialization","x_d_r","double", + std::vector{static_cast(0)}); + x_d_r = std::vector(0, std::numeric_limits::quiet_NaN()); - current_statement__ = 9; - y8 = in__.template read>>>( - N, N, N, N); - std::vector>> y7; - y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y7, DUMMY_VAR__); - current_statement__ = 10; - y7 = in__.template read>>>( - N, N, N); - std::vector>> y6; - y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y6, DUMMY_VAR__); + current_statement__ = 131; + x_d_r = context__.vals_r("x_d_r"); + current_statement__ = 132; + context__.validate_dims("data initialization","x_d_i","int", + std::vector{static_cast(0)}); + x_d_i = std::vector(0, std::numeric_limits::min()); - current_statement__ = 11; - y6 = in__.template read>>>( - N, N, N); - std::vector> y5; - y5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); + current_statement__ = 132; + x_d_i = context__.vals_i("x_d_i"); + current_statement__ = 133; + context__.validate_dims("data initialization","shared_params_d", + "double", std::vector{static_cast(3)}); + shared_params_d__ = Eigen::Matrix(3); + new (&shared_params_d) Eigen::Map>(shared_params_d__.data(), 3); - current_statement__ = 12; - y5 = in__.template read>>(N, - N); - std::vector> y4; - y4 = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(y4, DUMMY_VAR__); + { + std::vector shared_params_d_flat__; + current_statement__ = 133; + shared_params_d_flat__ = context__.vals_r("shared_params_d"); + current_statement__ = 133; + pos__ = 1; + current_statement__ = 133; + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + current_statement__ = 133; + assign(shared_params_d, shared_params_d_flat__[(pos__ - 1)], + "assigning variable shared_params_d", index_uni(sym1__)); + current_statement__ = 133; + pos__ = (pos__ + 1); + } + } + current_statement__ = 134; + context__.validate_dims("data initialization","job_params_d","double", + std::vector{static_cast(3), + static_cast(3)}); + job_params_d = std::vector>(3, Eigen::Matrix(3)); - current_statement__ = 13; - y4 = in__.template read>>( - N, N, N); - std::vector> y3; - y3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y3, DUMMY_VAR__); - current_statement__ = 14; - y3 = in__.template read>>( - N, N); - std::vector> y2; - y2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y2, DUMMY_VAR__); + { + std::vector job_params_d_flat__; + current_statement__ = 134; + job_params_d_flat__ = context__.vals_r("job_params_d"); + current_statement__ = 134; + pos__ = 1; + current_statement__ = 134; + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + current_statement__ = 134; + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + current_statement__ = 134; + assign(job_params_d, job_params_d_flat__[(pos__ - 1)], + "assigning variable job_params_d", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 134; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 135; + context__.validate_dims("data initialization","data_r","double", + std::vector{static_cast(3), + static_cast(3)}); + data_r = std::vector>(3, std::vector(3, std::numeric_limits::quiet_NaN())); - current_statement__ = 15; - y2 = in__.template read>>( - N, N); - std::vector y1; - y1 = std::vector(N, DUMMY_VAR__); - current_statement__ = 16; - y1 = in__.template read>(N); { - current_statement__ = 17; - lp_accum__.add(reduce_sum(x, 1, pstream__, a8)); - current_statement__ = 18; - lp_accum__.add(reduce_sum(x, 1, pstream__, a7)); - current_statement__ = 19; - lp_accum__.add(reduce_sum(x, 1, pstream__, a6)); - current_statement__ = 20; - lp_accum__.add(reduce_sum(x, 1, pstream__, a5)); - current_statement__ = 21; - lp_accum__.add(reduce_sum(x, 1, pstream__, a4)); - current_statement__ = 22; - lp_accum__.add(reduce_sum(x, 1, pstream__, a3)); - current_statement__ = 23; - lp_accum__.add(reduce_sum(x, 1, pstream__, a2)); - current_statement__ = 24; - lp_accum__.add(reduce_sum(x, 1, pstream__, a1)); - current_statement__ = 25; - lp_accum__.add(reduce_sum(y8, 1, pstream__)); - current_statement__ = 26; - lp_accum__.add(reduce_sum(y7, 1, pstream__)); - current_statement__ = 27; - lp_accum__.add(reduce_sum(y6, 1, pstream__)); - current_statement__ = 28; - lp_accum__.add(reduce_sum(y5, 1, pstream__)); - current_statement__ = 29; - lp_accum__.add(reduce_sum(y4, 1, pstream__)); - current_statement__ = 30; - lp_accum__.add(reduce_sum(y3, 1, pstream__)); - current_statement__ = 31; - lp_accum__.add(reduce_sum(y2, 1, pstream__)); - current_statement__ = 32; - lp_accum__.add(reduce_sum(y1, 1, pstream__)); + std::vector data_r_flat__; + current_statement__ = 135; + data_r_flat__ = context__.vals_r("data_r"); + current_statement__ = 135; + pos__ = 1; + current_statement__ = 135; + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + current_statement__ = 135; + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + current_statement__ = 135; + assign(data_r, data_r_flat__[(pos__ - 1)], + "assigning variable data_r", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 135; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 136; + context__.validate_dims("data initialization","data_i","int", + std::vector{static_cast(3), + static_cast(3)}); + data_i = std::vector>(3, std::vector(3, std::numeric_limits::min())); + + + { + std::vector data_i_flat__; + current_statement__ = 136; + data_i_flat__ = context__.vals_i("data_i"); + current_statement__ = 136; + pos__ = 1; + current_statement__ = 136; + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + current_statement__ = 136; + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + current_statement__ = 136; + assign(data_i, data_i_flat__[(pos__ - 1)], + "assigning variable data_i", index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 136; + pos__ = (pos__ + 1); + } + } } + current_statement__ = 137; + validate_non_negative_index("theta_p", "1", 1); + current_statement__ = 138; + validate_non_negative_index("x_p", "1", 1); + current_statement__ = 139; + validate_non_negative_index("y_hat", "T", T); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } - lp_accum__.add(lp__); - return lp_accum__.sum(); - } // log_prob_impl() + num_params_r__ = 2 + 1 + 1 + 2 + 3 + (3 * 3) + 1; - 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; + } + + 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__); - 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__; + 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__ = "reduce_sum_m2_model_namespace::write_array"; + static constexpr const char* function__ = "motherHOF_model_namespace::log_prob"; (void) function__; // suppress unused var warning try { - std::vector>> a8; - a8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(a8, std::numeric_limits::quiet_NaN()); + std::vector y0_p; + y0_p = std::vector(2, DUMMY_VAR__); current_statement__ = 1; - a8 = in__.template read>>>( - N, N, N, N); - std::vector>> a7; - a7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(a7, std::numeric_limits::quiet_NaN()); + y0_p = in__.template read>(2); + std::vector theta_p; + theta_p = std::vector(1, DUMMY_VAR__); current_statement__ = 2; - a7 = in__.template read>>>( - N, N, N); - std::vector>> a6; - a6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(a6, std::numeric_limits::quiet_NaN()); + theta_p = in__.template read>(1); + std::vector x_p; + x_p = std::vector(1, DUMMY_VAR__); current_statement__ = 3; - a6 = in__.template read>>>( - N, N, N); - std::vector> a5; - a5 = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); - + x_p = in__.template read>(1); + Eigen::Matrix x_p_v; + x_p_v = Eigen::Matrix(2); + stan::math::fill(x_p_v, DUMMY_VAR__); current_statement__ = 4; - a5 = in__.template read>>(N, - N); - std::vector> a4; - a4 = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(a4, std::numeric_limits::quiet_NaN()); + x_p_v = in__.template read>(2); + Eigen::Matrix shared_params_p; + shared_params_p = Eigen::Matrix(3); + stan::math::fill(shared_params_p, DUMMY_VAR__); current_statement__ = 5; - a4 = in__.template read>>( - N, N, N); - std::vector> a3; - a3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(a3, std::numeric_limits::quiet_NaN()); + shared_params_p = in__.template read>( + 3); + std::vector> job_params_p; + job_params_p = std::vector>(3, Eigen::Matrix(3)); + stan::math::fill(job_params_p, DUMMY_VAR__); current_statement__ = 6; - a3 = in__.template read>>( - N, N); - std::vector> a2; - a2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(a2, std::numeric_limits::quiet_NaN()); + job_params_p = in__.template read>>( + 3, 3); + local_scalar_t__ x_r; + x_r = DUMMY_VAR__; current_statement__ = 7; - a2 = in__.template read>>( - N, N); - std::vector a1; - a1 = std::vector(N, std::numeric_limits::quiet_NaN()); + x_r = in__.template read(); + local_scalar_t__ abc1_p; + abc1_p = DUMMY_VAR__; current_statement__ = 8; - a1 = in__.template read>(N); - std::vector>> y8; - y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(y8, std::numeric_limits::quiet_NaN()); + abc1_p = 3; + local_scalar_t__ abc2_p; + abc2_p = DUMMY_VAR__; current_statement__ = 9; - y8 = in__.template read>>>( - N, N, N, N); - std::vector>> y7; - y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y7, std::numeric_limits::quiet_NaN()); + abc2_p = map_rectfake(abc1_p, pstream__); + local_scalar_t__ abc3_p; + abc3_p = DUMMY_VAR__; current_statement__ = 10; - y7 = in__.template read>>>( - N, N, N); - std::vector>> y6; - y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y6, std::numeric_limits::quiet_NaN()); + abc3_p = map_rectfake(12, pstream__); + Eigen::Matrix y_hat_tp1; + y_hat_tp1 = Eigen::Matrix(3); + stan::math::fill(y_hat_tp1, DUMMY_VAR__); current_statement__ = 11; - y6 = in__.template read>>>( - N, N, N); - std::vector> y5; - y5 = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); - + assign(y_hat_tp1, + map_rect<1, foo_functor__>(shared_params_p, job_params_d, data_r, + data_i, pstream__), "assigning variable y_hat_tp1"); + Eigen::Matrix y_hat_tp2; + y_hat_tp2 = Eigen::Matrix(3); + stan::math::fill(y_hat_tp2, DUMMY_VAR__); current_statement__ = 12; - y5 = in__.template read>>(N, - N); - std::vector> y4; - y4 = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(y4, std::numeric_limits::quiet_NaN()); + assign(y_hat_tp2, + map_rect<2, foo_functor__>(shared_params_d, job_params_p, data_r, + data_i, pstream__), "assigning variable y_hat_tp2"); + Eigen::Matrix y_hat_tp3; + y_hat_tp3 = Eigen::Matrix(3); + stan::math::fill(y_hat_tp3, DUMMY_VAR__); current_statement__ = 13; - y4 = in__.template read>>( - N, N, N); - std::vector> y3; - y3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y3, std::numeric_limits::quiet_NaN()); + assign(y_hat_tp3, + map_rect<3, foo_functor__>(shared_params_p, job_params_d, data_r, + data_i, pstream__), "assigning variable y_hat_tp3"); + Eigen::Matrix theta_p_as; + theta_p_as = Eigen::Matrix(2); + stan::math::fill(theta_p_as, DUMMY_VAR__); - current_statement__ = 14; - y3 = in__.template read>>( - N, N); - std::vector> y2; - y2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y2, std::numeric_limits::quiet_NaN()); + Eigen::Matrix x_v; + x_v = Eigen::Matrix(2); + stan::math::fill(x_v, DUMMY_VAR__); - current_statement__ = 15; - y2 = in__.template read>>( - N, N); - std::vector y1; - y1 = std::vector(N, std::numeric_limits::quiet_NaN()); + Eigen::Matrix y_v; + y_v = Eigen::Matrix(2); + stan::math::fill(y_v, DUMMY_VAR__); - current_statement__ = 16; - y1 = in__.template read>(N); - 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__) { - out__.write( - rvalue(a8, "a8", - index_uni(sym4__), index_uni(sym3__), 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__) { - out__.write(a7[(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__) { - out__.write(a6[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(a5[(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__) { - out__.write( - rvalue(a4, "a4", - index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(a3[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(a2[(sym2__ - 1)][(sym1__ - 1)]); - } - } - out__.write(a1); - 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__) { - out__.write( - rvalue(y8, "y8", - index_uni(sym4__), index_uni(sym3__), 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__) { - out__.write(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__) { - out__.write(y6[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(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__) { - out__.write( - 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__) { - out__.write(y3[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(y2[(sym2__ - 1)][(sym1__ - 1)]); - } + Eigen::Matrix y_p; + y_p = Eigen::Matrix(2); + stan::math::fill(y_p, DUMMY_VAR__); + + current_statement__ = 18; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, + pstream__), "assigning variable theta_p_as"); + current_statement__ = 19; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 20; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_v, y_p, x_d_r, x_d_i, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 21; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, + pstream__), "assigning variable theta_p_as"); + current_statement__ = 22; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 23; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_p_v, y_p, x_d_r, x_d_i, + pstream__), "assigning variable theta_p_as"); + current_statement__ = 24; + assign(theta_p_as, + algebra_solver(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"); + current_statement__ = 25; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, + x_d_i, pstream__), "assigning variable theta_p_as"); + current_statement__ = 26; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, + x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 27; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_v, y_p, x_d_r, + x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 28; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, + x_d_i, pstream__), "assigning variable theta_p_as"); + current_statement__ = 29; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, + x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 30; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_p_v, y_p, x_d_r, + x_d_i, pstream__), "assigning variable theta_p_as"); + current_statement__ = 31; + assign(theta_p_as, + 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"); + { + current_statement__ = 80; + validate_non_negative_index("y_hat", "T", T); + std::vector> y_hat; + y_hat = std::vector>(T, std::vector(2, DUMMY_VAR__)); + + + current_statement__ = 82; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_p, x, + x_int, pstream__), "assigning variable y_hat"); + current_statement__ = 83; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_d, x, + x_int, pstream__), "assigning variable y_hat"); + current_statement__ = 84; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_p, x, + x_int, pstream__), "assigning variable y_hat"); + current_statement__ = 85; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_p, x, + x_int, pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 86; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_d, x, + x_int, pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 87; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_p, x, + x_int, pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 88; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 89; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 90; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 91; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 92; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 93; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 94; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 95; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 96; + assign(y_hat, + integrate_ode_rk45(sho_functor__(), y0_d, t0, ts, theta_d, x, + x_int, pstream__), "assigning variable y_hat"); + current_statement__ = 97; + assign(y_hat, + integrate_ode_rk45(sho_functor__(), y0_d, t0, ts, theta_p, x, + x_int, pstream__), "assigning variable y_hat"); + current_statement__ = 98; + assign(y_hat, + integrate_ode_rk45(sho_functor__(), y0_p, t0, ts, theta_d, x, + x_int, pstream__), "assigning variable y_hat"); + current_statement__ = 99; + assign(y_hat, + integrate_ode_rk45(sho_functor__(), y0_p, t0, ts, theta_p, x, + x_int, pstream__), "assigning variable y_hat"); + local_scalar_t__ y_1d; + y_1d = DUMMY_VAR__; + + current_statement__ = 100; + y_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 101; + y_1d = integrate_1d(integrand_functor__(), 0.0, 1, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 102; + y_1d = integrate_1d(integrand_functor__(), 0, 1.0, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 103; + y_1d = integrate_1d(integrand_functor__(), 0.0, 1.0, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 104; + y_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 105; + y_1d = integrate_1d(integrand_functor__(), x_r, 1, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 106; + y_1d = integrate_1d(integrand_functor__(), 0, x_r, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 107; + y_1d = integrate_1d(integrand_functor__(), x_r, x_r, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 108; + y_1d = integrate_1d(integrand_functor__(), x_r, 1, x_d_r, x_d_r, + x_d_i, pstream__); + current_statement__ = 109; + y_1d = integrate_1d(integrand_functor__(), 0, x_r, x_d_r, x_d_r, + x_d_i, pstream__); + current_statement__ = 110; + y_1d = integrate_1d(integrand_functor__(), x_r, x_r, x_d_r, x_d_r, + x_d_i, pstream__); + local_scalar_t__ z_1d; + z_1d = DUMMY_VAR__; + + current_statement__ = 111; + z_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 112; + z_1d = integrate_1d(integrand_functor__(), 0.0, 1, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 113; + z_1d = integrate_1d(integrand_functor__(), 0, 1.0, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 114; + z_1d = integrate_1d(integrand_functor__(), 0.0, 1.0, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 115; + z_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 116; + z_1d = integrate_1d(integrand_functor__(), x_r, 1, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 117; + z_1d = integrate_1d(integrand_functor__(), 0, x_r, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 118; + z_1d = integrate_1d(integrand_functor__(), x_r, x_r, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 119; + z_1d = integrate_1d(integrand_functor__(), x_r, 1, x_d_r, x_d_r, + x_d_i, pstream__, 1e-8); + current_statement__ = 120; + z_1d = integrate_1d(integrand_functor__(), 0, x_r, x_d_r, x_d_r, + x_d_i, pstream__, 1e-8); + current_statement__ = 121; + z_1d = integrate_1d(integrand_functor__(), x_r, x_r, x_d_r, x_d_r, + x_d_i, pstream__, 1e-8); + local_scalar_t__ abc_m; + abc_m = DUMMY_VAR__; + + current_statement__ = 122; + abc_m = map_rectfake(abc1_p, pstream__); } - 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__]); } - } // 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(VecVar& params_r__, 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; stan::io::deserializer in__(params_r__, params_i__); stan::io::serializer out__(vars__); - int current_statement__ = 0; + 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__ = "motherHOF_model_namespace::write_array"; + (void) function__; // suppress unused var warning try { - int pos__; - pos__ = std::numeric_limits::min(); + std::vector y0_p; + y0_p = std::vector(2, std::numeric_limits::quiet_NaN()); - pos__ = 1; - std::vector>> a8; - a8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(a8, DUMMY_VAR__); + current_statement__ = 1; + y0_p = in__.template read>(2); + std::vector theta_p; + theta_p = std::vector(1, std::numeric_limits::quiet_NaN()); - 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__) { - 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__) { - 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__); + current_statement__ = 2; + theta_p = in__.template read>(1); + std::vector x_p; + x_p = std::vector(1, std::numeric_limits::quiet_NaN()); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - 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__)); + current_statement__ = 3; + x_p = in__.template read>(1); + Eigen::Matrix x_p_v; + x_p_v = Eigen::Matrix(2); + stan::math::fill(x_p_v, std::numeric_limits::quiet_NaN()); + current_statement__ = 4; + x_p_v = in__.template read>(2); + Eigen::Matrix shared_params_p; + shared_params_p = Eigen::Matrix(3); + stan::math::fill(shared_params_p, std::numeric_limits::quiet_NaN()); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - 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__) { - 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__); + current_statement__ = 5; + shared_params_p = in__.template read>( + 3); + 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()); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - 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__) { - 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__); + current_statement__ = 6; + job_params_p = in__.template read>>( + 3, 3); + double x_r; + x_r = std::numeric_limits::quiet_NaN(); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - 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__); + current_statement__ = 7; + x_r = in__.template read(); + double abc1_p; + abc1_p = std::numeric_limits::quiet_NaN(); - 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__) { - 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__); + double abc2_p; + abc2_p = std::numeric_limits::quiet_NaN(); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - 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__); + double abc3_p; + abc3_p = std::numeric_limits::quiet_NaN(); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - 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__)); + Eigen::Matrix y_hat_tp1; + y_hat_tp1 = Eigen::Matrix(3); + stan::math::fill(y_hat_tp1, std::numeric_limits::quiet_NaN()); + Eigen::Matrix y_hat_tp2; + y_hat_tp2 = Eigen::Matrix(3); + stan::math::fill(y_hat_tp2, std::numeric_limits::quiet_NaN()); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - 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__); + Eigen::Matrix y_hat_tp3; + y_hat_tp3 = Eigen::Matrix(3); + stan::math::fill(y_hat_tp3, std::numeric_limits::quiet_NaN()); + + Eigen::Matrix theta_p_as; + theta_p_as = Eigen::Matrix(2); + stan::math::fill(theta_p_as, std::numeric_limits::quiet_NaN()); + + Eigen::Matrix x_v; + x_v = Eigen::Matrix(2); + stan::math::fill(x_v, std::numeric_limits::quiet_NaN()); - 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__)); - } - } - } - out__.write(y4); - std::vector> y3; - y3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y3, DUMMY_VAR__); + Eigen::Matrix y_v; + y_v = Eigen::Matrix(2); + stan::math::fill(y_v, std::numeric_limits::quiet_NaN()); - 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__)); - } - } - out__.write(y3); - std::vector> y2; - y2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y2, DUMMY_VAR__); + Eigen::Matrix y_p; + y_p = Eigen::Matrix(2); + stan::math::fill(y_p, std::numeric_limits::quiet_NaN()); - 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__)); + out__.write(y0_p); + out__.write(theta_p); + out__.write(x_p); + out__.write(x_p_v); + out__.write(shared_params_p); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + out__.write(job_params_p[(sym2__ - 1)][(sym1__ - 1)]); } } - out__.write(y2); - std::vector y1; - y1 = std::vector(N, DUMMY_VAR__); - - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - y1[(sym1__ - 1)] = in__.read(); - } - out__.write(y1); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - } // 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__)); - } - } - } - } - } - } - } - } - 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() + "a7" + '.' + 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() + "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__)); - } - } - } - } + out__.write(x_r); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; } - } - 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__)); - } - } + current_statement__ = 8; + abc1_p = 3; + current_statement__ = 9; + abc2_p = map_rectfake(abc1_p, pstream__); + current_statement__ = 10; + abc3_p = map_rectfake(12, pstream__); + current_statement__ = 11; + assign(y_hat_tp1, + map_rect<4, foo_functor__>(shared_params_p, job_params_d, data_r, + data_i, pstream__), "assigning variable y_hat_tp1"); + current_statement__ = 12; + assign(y_hat_tp2, + map_rect<5, foo_functor__>(shared_params_d, job_params_p, data_r, + data_i, pstream__), "assigning variable y_hat_tp2"); + current_statement__ = 13; + assign(y_hat_tp3, + map_rect<6, foo_functor__>(shared_params_p, job_params_d, data_r, + data_i, pstream__), "assigning variable y_hat_tp3"); + current_statement__ = 18; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, + pstream__), "assigning variable theta_p_as"); + current_statement__ = 19; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 20; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_v, y_p, x_d_r, x_d_i, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 21; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, + pstream__), "assigning variable theta_p_as"); + current_statement__ = 22; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, + pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 23; + assign(theta_p_as, + algebra_solver(algebra_system_functor__(), x_p_v, y_p, x_d_r, x_d_i, + pstream__), "assigning variable theta_p_as"); + current_statement__ = 24; + assign(theta_p_as, + algebra_solver(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"); + current_statement__ = 25; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, + x_d_i, pstream__), "assigning variable theta_p_as"); + current_statement__ = 26; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, + x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 27; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_v, y_p, x_d_r, + x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 28; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, + x_d_i, pstream__), "assigning variable theta_p_as"); + current_statement__ = 29; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, + x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_p_as"); + current_statement__ = 30; + assign(theta_p_as, + algebra_solver_newton(algebra_system_functor__(), x_p_v, y_p, x_d_r, + x_d_i, pstream__), "assigning variable theta_p_as"); + current_statement__ = 31; + assign(theta_p_as, + 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__) { + 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); } - } - 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__)); - } - } - } - } + if (logical_negation(emit_generated_quantities__)) { + return ; } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y3" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } + std::vector> y_hat; + y_hat = std::vector>(T, std::vector(2, std::numeric_limits::quiet_NaN())); + + + current_statement__ = 33; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 34; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 35; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 36; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 37; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 38; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 39; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 40; + assign(y_hat, + integrate_ode_adams(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 41; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 42; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 43; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 44; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 45; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 46; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 47; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 48; + assign(y_hat, + integrate_ode_bdf(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, + pstream__, 1e-10, 1e-10, 1e8), "assigning variable y_hat"); + current_statement__ = 49; + assign(y_hat, + integrate_ode_rk45(sho_functor__(), y0_d, t0, ts, theta_d, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 50; + assign(y_hat, + integrate_ode_rk45(sho_functor__(), y0_d, t0, ts, theta_p, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 51; + assign(y_hat, + integrate_ode_rk45(sho_functor__(), y0_p, t0, ts, theta_d, x, x_int, + pstream__), "assigning variable y_hat"); + current_statement__ = 52; + assign(y_hat, + integrate_ode_rk45(sho_functor__(), y0_p, t0, ts, theta_p, x, x_int, + pstream__), "assigning variable y_hat"); + double y_1d; + y_1d = std::numeric_limits::quiet_NaN(); + + current_statement__ = 53; + y_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 54; + y_1d = integrate_1d(integrand_functor__(), 0.0, 1, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 55; + y_1d = integrate_1d(integrand_functor__(), 0, 1.0, x, x_d_r, x_d_i, + pstream__); + current_statement__ = 56; + y_1d = integrate_1d(integrand_functor__(), 0.0, 1.0, x, x_d_r, x_d_i, + pstream__); + double z_1d; + z_1d = std::numeric_limits::quiet_NaN(); + + current_statement__ = 57; + z_1d = integrate_1d(integrand_functor__(), 0, 1, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 58; + z_1d = integrate_1d(integrand_functor__(), 0.0, 1, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 59; + z_1d = integrate_1d(integrand_functor__(), 0, 1.0, x, x_d_r, x_d_i, + pstream__, 1e-8); + current_statement__ = 60; + z_1d = integrate_1d(integrand_functor__(), 0.0, 1.0, x, x_d_r, x_d_i, + pstream__, 1e-8); + double abc1_gq; + abc1_gq = std::numeric_limits::quiet_NaN(); + + current_statement__ = 61; + abc1_gq = map_rectfake(12, pstream__); + double abc2_gq; + abc2_gq = std::numeric_limits::quiet_NaN(); + + current_statement__ = 62; + abc2_gq = map_rectfake(abc1_p, pstream__); + Eigen::Matrix y_hat_gq; + y_hat_gq = Eigen::Matrix(3); + stan::math::fill(y_hat_gq, std::numeric_limits::quiet_NaN()); + + current_statement__ = 63; + assign(y_hat_gq, + add( + map_rect<7, foo_functor__>(shared_params_d, job_params_d, data_r, + data_i, pstream__), + map_rect<8, goo_functor__>(shared_params_d, job_params_d, data_r, + data_i, pstream__)), "assigning variable y_hat_gq"); + Eigen::Matrix yy_hat_gq; + yy_hat_gq = Eigen::Matrix(3); + stan::math::fill(yy_hat_gq, std::numeric_limits::quiet_NaN()); + + current_statement__ = 64; + assign(yy_hat_gq, + map_rect<9, goo_functor__>(shared_params_d, job_params_d, data_r, + data_i, pstream__), "assigning variable yy_hat_gq"); + Eigen::Matrix theta_dbl; + theta_dbl = Eigen::Matrix(2); + stan::math::fill(theta_dbl, std::numeric_limits::quiet_NaN()); + + current_statement__ = 66; + assign(theta_dbl, + algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, + pstream__), "assigning variable theta_dbl"); + current_statement__ = 67; + assign(theta_dbl, + algebra_solver(algebra_system_functor__(), x_v, y_v, x_d_r, x_d_i, + pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); + current_statement__ = 68; + assign(theta_dbl, + algebra_solver(algebra_system_functor__(), x_v, y_p, x_d_r, x_d_i, + pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); + current_statement__ = 69; + assign(theta_dbl, + algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, + pstream__), "assigning variable theta_dbl"); + current_statement__ = 70; + assign(theta_dbl, + algebra_solver(algebra_system_functor__(), x_p_v, y_v, x_d_r, x_d_i, + pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); + current_statement__ = 71; + assign(theta_dbl, + algebra_solver(algebra_system_functor__(), x_p_v, y_p, x_d_r, x_d_i, + pstream__), "assigning variable theta_dbl"); + current_statement__ = 72; + assign(theta_dbl, + algebra_solver(algebra_system_functor__(), x_p_v, y_p, x_d_r, x_d_i, + pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); + current_statement__ = 73; + assign(theta_dbl, + algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, + x_d_i, pstream__), "assigning variable theta_dbl"); + current_statement__ = 74; + assign(theta_dbl, + algebra_solver_newton(algebra_system_functor__(), x_v, y_v, x_d_r, + x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); + current_statement__ = 75; + assign(theta_dbl, + algebra_solver_newton(algebra_system_functor__(), x_v, y_p, x_d_r, + x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); + current_statement__ = 76; + assign(theta_dbl, + algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, + x_d_i, pstream__), "assigning variable theta_dbl"); + current_statement__ = 77; + assign(theta_dbl, + algebra_solver_newton(algebra_system_functor__(), x_p_v, y_v, x_d_r, + x_d_i, pstream__, 0.01, 0.01, 10), "assigning variable theta_dbl"); + current_statement__ = 78; + assign(theta_dbl, + algebra_solver_newton(algebra_system_functor__(), x_p_v, y_p, x_d_r, + x_d_i, pstream__), "assigning variable theta_dbl"); + current_statement__ = 79; + 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__) { + out__.write(y_hat[(sym2__ - 1)][(sym1__ - 1)]); } - } + } + 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__]); } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y2" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } + } // 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 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__); + + 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__); + + 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__); + + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + assign(x_p_v, in__.read(), + "assigning variable x_p_v", index_uni(sym1__)); + } + 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__); + + 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__)); } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); - } - } - if (emit_transformed_parameters__) { + } + out__.write(job_params_p); + local_scalar_t__ x_r; + x_r = DUMMY_VAR__; + x_r = in__.read(); + out__.write(x_r); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); } + } // transform_inits_impl() - if (emit_generated_quantities__) { - - } + inline void get_param_names(std::vector& names__) const { - } // constrained_param_names() + names__ = std::vector{"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"}; - inline void unconstrained_param_names( - std::vector& param_names__, - bool emit_transformed_parameters__ = true, - bool emit_generated_quantities__ = true) const + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{ + static_cast(2) + }, + std::vector{static_cast(1)}, + std::vector{static_cast(1)}, + std::vector{static_cast(2)}, + std::vector{static_cast(3)}, + std::vector{static_cast(3), static_cast(3)}, + std::vector{}, std::vector{}, std::vector{ + }, std::vector{}, std::vector{static_cast(3)}, + std::vector{static_cast(3)}, + std::vector{static_cast(3)}, + std::vector{static_cast(2)}, + std::vector{static_cast(2)}, + std::vector{static_cast(2)}, + std::vector{static_cast(2)}, + std::vector{static_cast(T), static_cast(2)}, + std::vector{}, std::vector{}, std::vector{ + }, std::vector{}, std::vector{static_cast(3)}, + std::vector{static_cast(3)}, + std::vector{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 { - 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__)); - } - } - } - } - } - } - } - } - 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() + "a7" + '.' + 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() + "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 sym1__ = 1; sym1__ <= 2; ++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__)); - } - } - } - } + param_names__.emplace_back(std::string() + "y0_p" + '.' + std::to_string(sym1__)); } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 1; ++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__)); - } - } - } - } + param_names__.emplace_back(std::string() + "theta_p" + '.' + std::to_string(sym1__)); } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y5" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } + param_names__.emplace_back(std::string() + "x_p" + '.' + std::to_string(sym1__)); } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 2; ++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() + "x_p_v" + '.' + 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__) { - { - param_names__.emplace_back(std::string() + "y3" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } + param_names__.emplace_back(std::string() + "shared_params_p" + '.' + 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() + "y2" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "job_params_p" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); - } - } + param_names__.emplace_back(std::string() + "x_r"); if (emit_transformed_parameters__) { - + param_names__.emplace_back(std::string() + "abc1_p"); + param_names__.emplace_back(std::string() + "abc2_p"); + param_names__.emplace_back(std::string() + "abc3_p"); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_hat_tp1" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_hat_tp2" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_hat_tp3" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "theta_p_as" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "x_v" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_v" + '.' + 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_generated_quantities__) { - + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= T; ++sym2__) { + { + param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + param_names__.emplace_back(std::string() + "y_1d"); + param_names__.emplace_back(std::string() + "z_1d"); + param_names__.emplace_back(std::string() + "abc1_gq"); + param_names__.emplace_back(std::string() + "abc2_gq"); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_hat_gq" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "yy_hat_gq" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "theta_dbl" + '.' + std::to_string(sym1__)); + } + } } - } // unconstrained_param_names() - - inline std::string get_constrained_sizedtypes() const { - - return std::string("[{\"name\":\"a8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"a4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"y4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); - - } // get_constrained_sizedtypes() - - inline std::string get_unconstrained_sizedtypes() const { - - return std::string("[{\"name\":\"a8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"a4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"y4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + } // constrained_param_names() - } // get_unconstrained_sizedtypes() + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { - - // Begin method overload boilerplate - template - inline void write_array(RNG& base_rng, - Eigen::Matrix& params_r, - Eigen::Matrix& vars, - const bool emit_transformed_parameters = true, - const bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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); - vars = Eigen::Map>( - vars_vec.data(), vars_vec.size()); + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y0_p" + '.' + std::to_string(sym1__)); + } } - - template - inline void write_array(RNG& base_rng, std::vector& params_r, - std::vector& params_i, - std::vector& vars, - bool emit_transformed_parameters = true, - bool emit_generated_quantities = true, - std::ostream* pstream = nullptr) const { - 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); + for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { + { + param_names__.emplace_back(std::string() + "theta_p" + '.' + std::to_string(sym1__)); + } } - - template - inline T_ log_prob(Eigen::Matrix& params_r, - std::ostream* pstream = nullptr) const { - Eigen::Matrix params_i; - return log_prob_impl(params_r, params_i, pstream); + for (int sym1__ = 1; sym1__ <= 1; ++sym1__) { + { + param_names__.emplace_back(std::string() + "x_p" + '.' + std::to_string(sym1__)); + } } - - template - inline T__ log_prob(std::vector& params_r, - std::vector& params_i, - std::ostream* pstream = nullptr) const { - return log_prob_impl(params_r, params_i, pstream); + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "x_p_v" + '.' + std::to_string(sym1__)); + } } - - - 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.size()); - std::vector params_i; - transform_inits(context, params_i, params_r_vec, pstream); - params_r = Eigen::Map>( - params_r_vec.data(), params_r_vec.size()); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "shared_params_p" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= 3; ++sym2__) { + { + param_names__.emplace_back(std::string() + "job_params_p" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + param_names__.emplace_back(std::string() + "x_r"); + if (emit_transformed_parameters__) { + param_names__.emplace_back(std::string() + "abc1_p"); + param_names__.emplace_back(std::string() + "abc2_p"); + param_names__.emplace_back(std::string() + "abc3_p"); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_hat_tp1" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_hat_tp2" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_hat_tp3" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "theta_p_as" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "x_v" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_v" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_p" + '.' + std::to_string(sym1__)); + } + } } - - inline void transform_inits(const stan::io::var_context& context, - std::vector& params_i, - std::vector& vars, - std::ostream* pstream__ = nullptr) const { - constexpr std::array names__{"a8", "a7", "a6", "a5", - "a4", "a3", "a2", "a1", "y8", "y7", "y6", "y5", "y4", "y3", "y2", "y1" - }; - const std::array constrain_param_sizes__{(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 auto num_constrained_params__ = std::accumulate( - constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); - - std::vector params_r_flat__(num_constrained_params__); - Eigen::Index size_iter__ = 0; - Eigen::Index flat_iter__ = 0; - for (auto&& param_name__ : names__) { - const auto param_vec__ = context.vals_r(param_name__); - for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { - params_r_flat__[flat_iter__] = param_vec__[i]; - ++flat_iter__; - } - ++size_iter__; - } - vars.resize(num_params_r__); - transform_inits_impl(params_r_flat__, params_i, vars, pstream__); - } // transform_inits() -}; -} -using stan_model = reduce_sum_m2_model_namespace::reduce_sum_m2_model; - -#ifndef USING_R - -// Boilerplate -stan::model::model_base& new_model( - stan::io::var_context& data_context, - unsigned int seed, - std::ostream* msg_stream) { - stan_model* m = new stan_model(data_context, seed, msg_stream); - return *m; -} - -stan::math::profile_map& get_stan_profile_data() { - return reduce_sum_m2_model_namespace::profiles__; -} - -#endif - - - - $ ../../../../../install/default/bin/stanc --print-cpp reduce_sum_m3.stan - -// Code generated by %%NAME%% %%VERSION%% -#include -namespace reduce_sum_m3_model_namespace { - -using stan::io::dump; -using stan::model::assign; -using stan::model::index_uni; -using stan::model::index_max; -using stan::model::index_min; -using stan::model::index_min_max; -using stan::model::index_multi; -using stan::model::index_omni; -using stan::model::model_base_crtp; -using stan::model::rvalue; -using namespace stan::math; - - -stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = -{" (found before start of program)", - " (in 'reduce_sum_m3.stan', line 210, column 2 to column 13)", - " (in 'reduce_sum_m3.stan', line 211, column 2 to column 18)", - " (in 'reduce_sum_m3.stan', line 212, column 2 to column 22)", - " (in 'reduce_sum_m3.stan', line 213, column 2 to column 21)", - " (in 'reduce_sum_m3.stan', line 214, column 2 to column 16)", - " (in 'reduce_sum_m3.stan', line 215, column 2 to column 21)", - " (in 'reduce_sum_m3.stan', line 216, column 2 to column 25)", - " (in 'reduce_sum_m3.stan', line 217, column 2 to column 24)", - " (in 'reduce_sum_m3.stan', line 218, column 2 to column 10)", - " (in 'reduce_sum_m3.stan', line 219, column 2 to column 16)", - " (in 'reduce_sum_m3.stan', line 220, column 2 to column 20)", - " (in 'reduce_sum_m3.stan', line 221, column 2 to column 19)", - " (in 'reduce_sum_m3.stan', line 222, column 2 to column 20)", - " (in 'reduce_sum_m3.stan', line 260, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 261, column 2 to column 60)", - " (in 'reduce_sum_m3.stan', line 262, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 263, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 264, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 265, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 266, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 267, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 268, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 269, column 2 to column 36)", - " (in 'reduce_sum_m3.stan', line 270, column 2 to column 38)", - " (in 'reduce_sum_m3.stan', line 271, column 2 to column 38)", - " (in 'reduce_sum_m3.stan', line 272, column 2 to column 37)", - " (in 'reduce_sum_m3.stan', line 273, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 274, column 2 to column 40)", - " (in 'reduce_sum_m3.stan', line 275, column 2 to column 40)", - " (in 'reduce_sum_m3.stan', line 276, column 2 to column 40)", - " (in 'reduce_sum_m3.stan', line 277, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 278, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 279, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 280, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 281, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 282, column 2 to column 41)", - " (in 'reduce_sum_m3.stan', line 283, column 2 to column 41)", - " (in 'reduce_sum_m3.stan', line 284, column 2 to column 41)", - " (in 'reduce_sum_m3.stan', line 285, column 2 to line 288, column 35)", - " (in 'reduce_sum_m3.stan', line 226, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 227, column 2 to column 60)", - " (in 'reduce_sum_m3.stan', line 228, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 229, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 230, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 231, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 232, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 233, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 234, column 2 to column 34)", - " (in 'reduce_sum_m3.stan', line 235, column 2 to column 36)", - " (in 'reduce_sum_m3.stan', line 236, column 2 to column 38)", - " (in 'reduce_sum_m3.stan', line 237, column 2 to column 38)", - " (in 'reduce_sum_m3.stan', line 238, column 2 to column 37)", - " (in 'reduce_sum_m3.stan', line 239, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 240, column 2 to column 40)", - " (in 'reduce_sum_m3.stan', line 241, column 2 to column 40)", - " (in 'reduce_sum_m3.stan', line 242, column 2 to column 40)", - " (in 'reduce_sum_m3.stan', line 243, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 244, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 245, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 246, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 247, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 248, column 2 to column 41)", - " (in 'reduce_sum_m3.stan', line 249, column 2 to column 41)", - " (in 'reduce_sum_m3.stan', line 250, column 2 to column 41)", - " (in 'reduce_sum_m3.stan', line 251, column 2 to line 254, column 34)", - " (in 'reduce_sum_m3.stan', line 256, column 2 to column 16)", - " (in 'reduce_sum_m3.stan', line 157, column 2 to column 8)", - " (in 'reduce_sum_m3.stan', line 158, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 158, column 2 to column 14)", - " (in 'reduce_sum_m3.stan', line 159, column 16 to column 17)", - " (in 'reduce_sum_m3.stan', line 159, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 159, column 2 to column 19)", - " (in 'reduce_sum_m3.stan', line 160, column 20 to column 21)", - " (in 'reduce_sum_m3.stan', line 160, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 160, column 2 to column 23)", - " (in 'reduce_sum_m3.stan', line 161, column 19 to column 20)", - " (in 'reduce_sum_m3.stan', line 161, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 161, column 12 to column 13)", - " (in 'reduce_sum_m3.stan', line 161, column 2 to column 22)", - " (in 'reduce_sum_m3.stan', line 162, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 162, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 162, column 2 to column 17)", - " (in 'reduce_sum_m3.stan', line 163, column 16 to column 17)", - " (in 'reduce_sum_m3.stan', line 163, column 19 to column 20)", - " (in 'reduce_sum_m3.stan', line 163, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 163, column 2 to column 22)", - " (in 'reduce_sum_m3.stan', line 164, column 20 to column 21)", - " (in 'reduce_sum_m3.stan', line 164, column 23 to column 24)", - " (in 'reduce_sum_m3.stan', line 164, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 164, column 2 to column 26)", - " (in 'reduce_sum_m3.stan', line 165, column 19 to column 20)", - " (in 'reduce_sum_m3.stan', line 165, column 22 to column 23)", - " (in 'reduce_sum_m3.stan', line 165, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 165, column 12 to column 13)", - " (in 'reduce_sum_m3.stan', line 165, column 2 to column 25)", - " (in 'reduce_sum_m3.stan', line 166, column 2 to column 11)", - " (in 'reduce_sum_m3.stan', line 167, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 167, column 2 to column 17)", - " (in 'reduce_sum_m3.stan', line 168, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 168, column 2 to column 21)", - " (in 'reduce_sum_m3.stan', line 169, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 169, column 12 to column 13)", - " (in 'reduce_sum_m3.stan', line 169, column 2 to column 20)", - " (in 'reduce_sum_m3.stan', line 170, column 2 to column 11)", - " (in 'reduce_sum_m3.stan', line 171, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 171, column 2 to column 14)", - " (in 'reduce_sum_m3.stan', line 172, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 172, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 172, column 2 to column 17)", - " (in 'reduce_sum_m3.stan', line 173, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 173, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 173, column 17 to column 18)", - " (in 'reduce_sum_m3.stan', line 173, column 2 to column 20)", - " (in 'reduce_sum_m3.stan', line 174, column 12 to column 13)", - " (in 'reduce_sum_m3.stan', line 174, column 15 to column 16)", - " (in 'reduce_sum_m3.stan', line 174, column 18 to column 19)", - " (in 'reduce_sum_m3.stan', line 174, column 2 to column 21)", - " (in 'reduce_sum_m3.stan', line 178, column 2 to column 36)", - " (in 'reduce_sum_m3.stan', line 179, column 2 to column 63)", - " (in 'reduce_sum_m3.stan', line 180, column 2 to column 36)", - " (in 'reduce_sum_m3.stan', line 181, column 2 to column 36)", - " (in 'reduce_sum_m3.stan', line 182, column 2 to column 36)", - " (in 'reduce_sum_m3.stan', line 183, column 2 to column 36)", - " (in 'reduce_sum_m3.stan', line 184, column 2 to column 36)", - " (in 'reduce_sum_m3.stan', line 185, column 2 to column 36)", - " (in 'reduce_sum_m3.stan', line 186, column 2 to column 36)", - " (in 'reduce_sum_m3.stan', line 187, column 2 to column 37)", - " (in 'reduce_sum_m3.stan', line 188, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 189, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 190, column 2 to column 39)", - " (in 'reduce_sum_m3.stan', line 191, column 2 to column 42)", - " (in 'reduce_sum_m3.stan', line 192, column 2 to column 43)", - " (in 'reduce_sum_m3.stan', line 193, column 2 to column 43)", - " (in 'reduce_sum_m3.stan', line 194, column 2 to column 43)", - " (in 'reduce_sum_m3.stan', line 195, column 2 to column 42)", - " (in 'reduce_sum_m3.stan', line 196, column 2 to column 42)", - " (in 'reduce_sum_m3.stan', line 197, column 2 to column 42)", - " (in 'reduce_sum_m3.stan', line 198, column 2 to column 42)", - " (in 'reduce_sum_m3.stan', line 199, column 2 to column 42)", - " (in 'reduce_sum_m3.stan', line 200, column 2 to column 44)", - " (in 'reduce_sum_m3.stan', line 201, column 2 to column 44)", - " (in 'reduce_sum_m3.stan', line 202, column 2 to column 44)", - " (in 'reduce_sum_m3.stan', line 203, column 2 to line 206, column 36)", - " (in 'reduce_sum_m3.stan', line 210, column 10 to column 11)", - " (in 'reduce_sum_m3.stan', line 211, column 15 to column 16)", - " (in 'reduce_sum_m3.stan', line 211, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 212, column 19 to column 20)", - " (in 'reduce_sum_m3.stan', line 212, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 213, column 18 to column 19)", - " (in 'reduce_sum_m3.stan', line 213, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 213, column 12 to column 13)", - " (in 'reduce_sum_m3.stan', line 214, column 10 to column 11)", - " (in 'reduce_sum_m3.stan', line 214, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 215, column 15 to column 16)", - " (in 'reduce_sum_m3.stan', line 215, column 18 to column 19)", - " (in 'reduce_sum_m3.stan', line 215, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 216, column 19 to column 20)", - " (in 'reduce_sum_m3.stan', line 216, column 22 to column 23)", - " (in 'reduce_sum_m3.stan', line 216, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 217, column 18 to column 19)", - " (in 'reduce_sum_m3.stan', line 217, column 21 to column 22)", - " (in 'reduce_sum_m3.stan', line 217, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 217, column 12 to column 13)", - " (in 'reduce_sum_m3.stan', line 219, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 220, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 221, column 9 to column 10)", - " (in 'reduce_sum_m3.stan', line 221, column 12 to column 13)", - " (in 'reduce_sum_m3.stan', line 222, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 222, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 222, column 17 to column 18)", - " (in 'reduce_sum_m3.stan', line 3, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 2, column 46 to line 4, column 3)", - " (in 'reduce_sum_m3.stan', line 6, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 5, column 47 to line 7, column 3)", - " (in 'reduce_sum_m3.stan', line 9, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 8, column 48 to line 10, column 3)", - " (in 'reduce_sum_m3.stan', line 12, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 11, column 52 to line 13, column 3)", - " (in 'reduce_sum_m3.stan', line 15, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 14, column 48 to line 16, column 3)", - " (in 'reduce_sum_m3.stan', line 18, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 17, column 47 to line 19, column 3)", - " (in 'reduce_sum_m3.stan', line 21, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 20, column 49 to line 22, column 3)", - " (in 'reduce_sum_m3.stan', line 24, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 23, column 53 to line 25, column 3)", - " (in 'reduce_sum_m3.stan', line 27, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 26, column 49 to line 28, column 3)", - " (in 'reduce_sum_m3.stan', line 30, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 29, column 45 to line 31, column 3)", - " (in 'reduce_sum_m3.stan', line 33, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 32, column 47 to line 34, column 3)", - " (in 'reduce_sum_m3.stan', line 36, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 35, column 48 to line 37, column 3)", - " (in 'reduce_sum_m3.stan', line 39, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 38, column 49 to line 40, column 3)", - " (in 'reduce_sum_m3.stan', line 42, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 41, column 54 to line 43, column 3)", - " (in 'reduce_sum_m3.stan', line 45, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 44, column 56 to line 46, column 3)", - " (in 'reduce_sum_m3.stan', line 48, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 47, column 60 to line 49, column 3)", - " (in 'reduce_sum_m3.stan', line 51, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 50, column 56 to line 52, column 3)", - " (in 'reduce_sum_m3.stan', line 54, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 53, column 56 to line 55, column 3)", - " (in 'reduce_sum_m3.stan', line 57, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 56, column 58 to line 58, column 3)", - " (in 'reduce_sum_m3.stan', line 60, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 59, column 62 to line 61, column 3)", - " (in 'reduce_sum_m3.stan', line 63, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 62, column 58 to line 64, column 3)", - " (in 'reduce_sum_m3.stan', line 66, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 65, column 57 to line 67, column 3)", - " (in 'reduce_sum_m3.stan', line 69, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 68, column 60 to line 70, column 3)", - " (in 'reduce_sum_m3.stan', line 72, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 71, column 64 to line 73, column 3)", - " (in 'reduce_sum_m3.stan', line 75, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 74, column 60 to line 76, column 3)", - " (in 'reduce_sum_m3.stan', line 82, column 4 to line 86, column 28)", - " (in 'reduce_sum_m3.stan', line 81, column 32 to line 87, column 3)", - " (in 'reduce_sum_m3.stan', line 89, column 4 to column 10)", - " (in 'reduce_sum_m3.stan', line 90, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 90, column 4 to column 16)", - " (in 'reduce_sum_m3.stan', line 91, column 18 to column 19)", - " (in 'reduce_sum_m3.stan', line 91, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 91, column 4 to column 21)", - " (in 'reduce_sum_m3.stan', line 92, column 22 to column 23)", - " (in 'reduce_sum_m3.stan', line 92, column 15 to column 16)", - " (in 'reduce_sum_m3.stan', line 92, column 4 to column 25)", - " (in 'reduce_sum_m3.stan', line 93, column 21 to column 22)", - " (in 'reduce_sum_m3.stan', line 93, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 93, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 93, column 4 to column 24)", - " (in 'reduce_sum_m3.stan', line 94, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 94, column 16 to column 17)", - " (in 'reduce_sum_m3.stan', line 94, column 4 to column 19)", - " (in 'reduce_sum_m3.stan', line 95, column 18 to column 19)", - " (in 'reduce_sum_m3.stan', line 95, column 21 to column 22)", - " (in 'reduce_sum_m3.stan', line 95, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 95, column 4 to column 24)", - " (in 'reduce_sum_m3.stan', line 96, column 22 to column 23)", - " (in 'reduce_sum_m3.stan', line 96, column 25 to column 26)", - " (in 'reduce_sum_m3.stan', line 96, column 15 to column 16)", - " (in 'reduce_sum_m3.stan', line 96, column 4 to column 28)", - " (in 'reduce_sum_m3.stan', line 97, column 21 to column 22)", - " (in 'reduce_sum_m3.stan', line 97, column 24 to column 25)", - " (in 'reduce_sum_m3.stan', line 97, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 97, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 97, column 4 to column 27)", - " (in 'reduce_sum_m3.stan', line 98, column 4 to column 13)", - " (in 'reduce_sum_m3.stan', line 99, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 99, column 4 to column 19)", - " (in 'reduce_sum_m3.stan', line 100, column 15 to column 16)", - " (in 'reduce_sum_m3.stan', line 100, column 4 to column 23)", - " (in 'reduce_sum_m3.stan', line 101, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 101, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 101, column 4 to column 22)", - " (in 'reduce_sum_m3.stan', line 102, column 4 to column 13)", - " (in 'reduce_sum_m3.stan', line 103, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 103, column 4 to column 16)", - " (in 'reduce_sum_m3.stan', line 104, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 104, column 16 to column 17)", - " (in 'reduce_sum_m3.stan', line 104, column 4 to column 19)", - " (in 'reduce_sum_m3.stan', line 105, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 105, column 16 to column 17)", - " (in 'reduce_sum_m3.stan', line 105, column 19 to column 20)", - " (in 'reduce_sum_m3.stan', line 105, column 4 to column 22)", - " (in 'reduce_sum_m3.stan', line 106, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 106, column 17 to column 18)", - " (in 'reduce_sum_m3.stan', line 106, column 20 to column 21)", - " (in 'reduce_sum_m3.stan', line 106, column 4 to column 23)", - " (in 'reduce_sum_m3.stan', line 108, column 12 to column 13)", - " (in 'reduce_sum_m3.stan', line 108, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 109, column 17 to column 18)", - " (in 'reduce_sum_m3.stan', line 109, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 109, column 4 to column 20)", - " (in 'reduce_sum_m3.stan', line 110, column 21 to column 22)", - " (in 'reduce_sum_m3.stan', line 110, column 15 to column 16)", - " (in 'reduce_sum_m3.stan', line 110, column 4 to column 24)", - " (in 'reduce_sum_m3.stan', line 111, column 20 to column 21)", - " (in 'reduce_sum_m3.stan', line 111, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 111, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 111, column 4 to column 23)", - " (in 'reduce_sum_m3.stan', line 112, column 12 to column 13)", - " (in 'reduce_sum_m3.stan', line 112, column 15 to column 16)", - " (in 'reduce_sum_m3.stan', line 112, column 4 to column 18)", - " (in 'reduce_sum_m3.stan', line 113, column 17 to column 18)", - " (in 'reduce_sum_m3.stan', line 113, column 20 to column 21)", - " (in 'reduce_sum_m3.stan', line 113, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 113, column 4 to column 23)", - " (in 'reduce_sum_m3.stan', line 114, column 21 to column 22)", - " (in 'reduce_sum_m3.stan', line 114, column 24 to column 25)", - " (in 'reduce_sum_m3.stan', line 114, column 15 to column 16)", - " (in 'reduce_sum_m3.stan', line 114, column 4 to column 27)", - " (in 'reduce_sum_m3.stan', line 115, column 20 to column 21)", - " (in 'reduce_sum_m3.stan', line 115, column 23 to column 24)", - " (in 'reduce_sum_m3.stan', line 115, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 115, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 115, column 4 to column 26)", - " (in 'reduce_sum_m3.stan', line 116, column 4 to column 12)", - " (in 'reduce_sum_m3.stan', line 117, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 117, column 4 to column 18)", - " (in 'reduce_sum_m3.stan', line 118, column 15 to column 16)", - " (in 'reduce_sum_m3.stan', line 118, column 4 to column 22)", - " (in 'reduce_sum_m3.stan', line 119, column 11 to column 12)", - " (in 'reduce_sum_m3.stan', line 119, column 14 to column 15)", - " (in 'reduce_sum_m3.stan', line 119, column 4 to column 21)", - " (in 'reduce_sum_m3.stan', line 120, column 13 to column 14)", - " (in 'reduce_sum_m3.stan', line 120, column 16 to column 17)", - " (in 'reduce_sum_m3.stan', line 120, column 19 to column 20)", - " (in 'reduce_sum_m3.stan', line 120, column 4 to column 22)", - " (in 'reduce_sum_m3.stan', line 122, column 4 to column 36)", - " (in 'reduce_sum_m3.stan', line 123, column 4 to column 62)", - " (in 'reduce_sum_m3.stan', line 124, column 4 to column 36)", - " (in 'reduce_sum_m3.stan', line 125, column 4 to column 36)", - " (in 'reduce_sum_m3.stan', line 126, column 4 to column 36)", - " (in 'reduce_sum_m3.stan', line 127, column 4 to column 36)", - " (in 'reduce_sum_m3.stan', line 128, column 4 to column 36)", - " (in 'reduce_sum_m3.stan', line 129, column 4 to column 36)", - " (in 'reduce_sum_m3.stan', line 130, column 4 to column 36)", - " (in 'reduce_sum_m3.stan', line 131, column 4 to column 38)", - " (in 'reduce_sum_m3.stan', line 132, column 4 to column 40)", - " (in 'reduce_sum_m3.stan', line 133, column 4 to column 40)", - " (in 'reduce_sum_m3.stan', line 134, column 4 to column 39)", - " (in 'reduce_sum_m3.stan', line 135, column 4 to column 41)", - " (in 'reduce_sum_m3.stan', line 136, column 4 to column 42)", - " (in 'reduce_sum_m3.stan', line 137, column 4 to column 42)", - " (in 'reduce_sum_m3.stan', line 138, column 4 to column 42)", - " (in 'reduce_sum_m3.stan', line 139, column 4 to column 41)", - " (in 'reduce_sum_m3.stan', line 140, column 4 to column 41)", - " (in 'reduce_sum_m3.stan', line 141, column 4 to column 41)", - " (in 'reduce_sum_m3.stan', line 142, column 4 to column 41)", - " (in 'reduce_sum_m3.stan', line 143, column 4 to column 41)", - " (in 'reduce_sum_m3.stan', line 144, column 4 to column 43)", - " (in 'reduce_sum_m3.stan', line 145, column 4 to column 43)", - " (in 'reduce_sum_m3.stan', line 146, column 4 to column 43)", - " (in 'reduce_sum_m3.stan', line 147, column 4 to line 150, column 36)", - " (in 'reduce_sum_m3.stan', line 152, column 4 to column 15)", - " (in 'reduce_sum_m3.stan', line 88, column 11 to line 153, column 3)"}; - -struct f10_rsfunctor__; -struct f11_rsfunctor__; -struct f12_rsfunctor__; -struct f1_rsfunctor__; -struct f1a_rsfunctor__; -struct f2_rsfunctor__; -struct f3_rsfunctor__; -struct f4_rsfunctor__; -struct f5_rsfunctor__; -struct f6_rsfunctor__; -struct f7_rsfunctor__; -struct f8_rsfunctor__; -struct f9_rsfunctor__; -struct g10_rsfunctor__; -struct g11_rsfunctor__; -struct g12_rsfunctor__; -struct g1_rsfunctor__; -struct g2_rsfunctor__; -struct g3_rsfunctor__; -struct g4_rsfunctor__; -struct g5_rsfunctor__; -struct g6_rsfunctor__; -struct g7_rsfunctor__; -struct g8_rsfunctor__; -struct g9_rsfunctor__; -struct s_rsfunctor__; -template -stan::promote_args_t -f1(const std::vector& y_slice, const int& start, const int& end, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 171; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct f1_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return f1(y_slice, start, end, pstream__); -} -}; - - -struct f1_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return f1(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -f1a(const std::vector& y_slice, const int& start, const int& end, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 173; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct f1a_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return f1a(y_slice, start, end, pstream__); -} -}; - - -struct f1a_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return f1a(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -f2(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 175; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct f2_functor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f2(y_slice, start, end, pstream__); -} -}; - - -struct f2_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f2(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -f3(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 177; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct f3_functor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f3(y_slice, start, end, pstream__); -} -}; - - -struct f3_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f3(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -f4(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 179; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct f4_functor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f4(y_slice, start, end, pstream__); -} -}; - - -struct f4_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f4(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -f5(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 181; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct f5_functor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return f5(y_slice, start, end, pstream__); -} -}; - - -struct f5_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return f5(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -f6(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 183; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } + if (emit_generated_quantities__) { + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= T; ++sym2__) { + { + param_names__.emplace_back(std::string() + "y_hat" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + param_names__.emplace_back(std::string() + "y_1d"); + param_names__.emplace_back(std::string() + "z_1d"); + param_names__.emplace_back(std::string() + "abc1_gq"); + param_names__.emplace_back(std::string() + "abc2_gq"); + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y_hat_gq" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { + { + param_names__.emplace_back(std::string() + "yy_hat_gq" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "theta_dbl" + '.' + std::to_string(sym1__)); + } + } + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"y0_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"theta_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"x_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"x_p_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"shared_params_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"parameters\"},{\"name\":\"job_params_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "}},\"block\":\"parameters\"},{\"name\":\"x_r\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"abc1_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"abc2_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"abc3_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp1\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp2\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp3\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"theta_p_as\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"x_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(T) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"generated_quantities\"},{\"name\":\"y_1d\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"z_1d\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"abc1_gq\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"abc2_gq\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"y_hat_gq\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"generated_quantities\"},{\"name\":\"yy_hat_gq\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"generated_quantities\"},{\"name\":\"theta_dbl\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"generated_quantities\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"y0_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"theta_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"x_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"x_p_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"parameters\"},{\"name\":\"shared_params_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"parameters\"},{\"name\":\"job_params_p\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(3) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "}},\"block\":\"parameters\"},{\"name\":\"x_r\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"abc1_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"abc2_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"abc3_p\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp1\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp2\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat_tp3\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"transformed_parameters\"},{\"name\":\"theta_p_as\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"x_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"transformed_parameters\"},{\"name\":\"y_hat\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(T) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"generated_quantities\"},{\"name\":\"y_1d\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"z_1d\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"abc1_gq\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"abc2_gq\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"y_hat_gq\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"generated_quantities\"},{\"name\":\"yy_hat_gq\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(3) + "},\"block\":\"generated_quantities\"},{\"name\":\"theta_dbl\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(2) + "},\"block\":\"generated_quantities\"}]"); + + } // get_unconstrained_sizedtypes() + -} - -struct f6_functor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f6(y_slice, start, end, pstream__); -} -}; + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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); + } -struct f6_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f6(y_slice, start + 1, end + 1, pstream__); -} -}; + template + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } -template -stan::promote_args_t -f7(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 185; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } -struct f7_functor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f7(y_slice, start, end, pstream__); -} -}; + 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.size()); + std::vector params_i; + transform_inits(context, params_i, params_r_vec, pstream); + params_r = Eigen::Map>( + params_r_vec.data(), params_r_vec.size()); + } -struct f7_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f7(y_slice, start + 1, end + 1, pstream__); -} + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + constexpr std::array names__{"y0_p", "theta_p", "x_p", + "x_p_v", "shared_params_p", "job_params_p", "x_r"}; + const std::array constrain_param_sizes__{2, 1, + 1, 2, 3, (3 * 3), 1}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; - -template -stan::promote_args_t -f8(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 187; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct f8_functor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f8(y_slice, start, end, pstream__); } -}; - +using stan_model = motherHOF_model_namespace::motherHOF_model; -struct f8_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f8(y_slice, start + 1, end + 1, pstream__); -} -}; +#ifndef USING_R -double -f9(const std::vector& y_slice, const int& start, const int& end, - std::ostream* pstream__) { - using local_scalar_t__ = double; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 189; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; } -struct f9_functor__ { -double -operator()(const std::vector& y_slice, const int& start, const int& end, - std::ostream* pstream__) const -{ -return f9(y_slice, start, end, pstream__); +stan::math::profile_map& get_stan_profile_data() { + return motherHOF_model_namespace::profiles__; } -}; +#endif -struct f9_rsfunctor__ { -double -operator()(const std::vector& y_slice, const int& start, const int& end, - std::ostream* pstream__) const -{ -return f9(y_slice, start + 1, end + 1, pstream__); -} -}; - -double -f10(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) { - using local_scalar_t__ = double; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 191; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} -struct f10_functor__ { -double -operator()(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return f10(y_slice, start, end, pstream__); -} -}; +STAN_REGISTER_MAP_RECT(1, motherHOF_model_namespace::foo_functor__) +STAN_REGISTER_MAP_RECT(2, motherHOF_model_namespace::foo_functor__) +STAN_REGISTER_MAP_RECT(3, motherHOF_model_namespace::foo_functor__) +STAN_REGISTER_MAP_RECT(4, motherHOF_model_namespace::foo_functor__) +STAN_REGISTER_MAP_RECT(5, motherHOF_model_namespace::foo_functor__) +STAN_REGISTER_MAP_RECT(6, motherHOF_model_namespace::foo_functor__) +STAN_REGISTER_MAP_RECT(7, motherHOF_model_namespace::foo_functor__) +STAN_REGISTER_MAP_RECT(8, motherHOF_model_namespace::goo_functor__) +STAN_REGISTER_MAP_RECT(9, motherHOF_model_namespace::goo_functor__) +Warning in 'motherHOF.stan', line 95, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 96, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 97, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 99, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 100, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 101, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 103, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 104, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 105, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 106, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 108, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 109, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 110, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 111, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 113, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 114, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 115, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 116, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 146, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 147, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 148, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 149, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 151, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 152, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 153, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 154, column 10: integrate_ode_adams is deprecated and will be removed in the future. Use ode_adams instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 156, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 157, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 158, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 159, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 161, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 162, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 163, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 164, column 10: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 166, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 167, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 168, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html +Warning in 'motherHOF.stan', line 169, column 10: integrate_ode_rk45 is deprecated and will be removed in the future. Use ode_rk45 instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html + $ ../../../../../install/default/bin/stanc --print-cpp new_integrate_interface.stan +// Code generated by %%NAME%% %%VERSION%% +#include +namespace new_integrate_interface_model_namespace { -struct f10_rsfunctor__ { -double -operator()(const std::vector>& y_slice, const int& start, - const int& end, std::ostream* pstream__) const -{ -return f10(y_slice, start + 1, end + 1, pstream__); -} -}; +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; -double -f11(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) { - using local_scalar_t__ = double; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 193; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} -struct f11_functor__ { -double -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f11(y_slice, start, end, pstream__); -} -}; +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'new_integrate_interface.stan', line 31, column 2 to column 9)", + " (in 'new_integrate_interface.stan', line 32, column 2 to column 13)", + " (in 'new_integrate_interface.stan', line 33, column 2 to column 14)", + " (in 'new_integrate_interface.stan', line 37, column 2 to column 72)", + " (in 'new_integrate_interface.stan', line 39, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 40, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 41, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 42, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 43, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 44, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 45, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 46, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 47, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 48, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 49, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 50, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 51, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 52, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 53, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 54, column 2 to column 55)", + " (in 'new_integrate_interface.stan', line 55, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 56, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 57, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 58, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 59, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 60, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 61, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 62, column 2 to column 55)", + " (in 'new_integrate_interface.stan', line 63, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 64, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 65, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 66, column 2 to column 55)", + " (in 'new_integrate_interface.stan', line 67, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 68, column 2 to column 55)", + " (in 'new_integrate_interface.stan', line 69, column 2 to column 55)", + " (in 'new_integrate_interface.stan', line 70, column 2 to column 54)", + " (in 'new_integrate_interface.stan', line 71, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 72, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 73, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 74, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 75, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 76, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 77, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 78, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 79, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 80, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 81, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 82, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 83, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 84, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 85, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 86, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 87, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 88, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 89, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 90, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 91, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 92, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 93, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 94, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 95, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 96, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 97, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 98, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 99, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 100, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 101, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 102, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 103, column 2 to column 55)", + " (in 'new_integrate_interface.stan', line 104, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 105, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 106, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 107, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 108, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 109, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 110, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 111, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 112, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 113, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 114, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 115, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 116, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 117, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 118, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 119, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 120, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 121, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 122, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 123, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 124, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 125, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 126, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 127, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 128, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 129, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 130, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 131, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 132, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 133, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 134, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 135, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 136, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 137, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 138, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 139, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 140, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 141, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 142, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 143, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 144, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 145, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 146, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 147, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 148, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 149, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 150, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 151, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 152, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 153, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 154, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 155, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 156, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 157, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 158, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 159, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 160, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 161, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 162, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 163, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 164, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 165, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 166, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 167, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 168, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 169, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 170, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 171, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 172, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 173, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 174, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 175, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 176, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 177, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 178, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 179, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 180, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 181, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 182, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 183, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 184, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 185, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 186, column 2 to column 34)", + " (in 'new_integrate_interface.stan', line 187, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 188, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 189, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 190, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 191, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 192, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 193, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 194, column 2 to column 34)", + " (in 'new_integrate_interface.stan', line 195, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 196, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 197, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 198, column 2 to column 34)", + " (in 'new_integrate_interface.stan', line 199, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 200, column 2 to column 34)", + " (in 'new_integrate_interface.stan', line 201, column 2 to column 34)", + " (in 'new_integrate_interface.stan', line 202, column 2 to column 33)", + " (in 'new_integrate_interface.stan', line 203, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 204, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 205, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 206, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 207, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 208, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 209, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 210, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 211, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 212, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 213, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 214, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 215, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 216, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 217, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 218, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 219, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 220, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 221, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 222, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 223, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 224, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 225, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 226, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 227, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 228, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 229, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 230, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 231, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 232, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 233, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 234, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 235, column 2 to column 34)", + " (in 'new_integrate_interface.stan', line 442, column 2 to column 73)", + " (in 'new_integrate_interface.stan', line 443, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 444, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 445, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 446, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 447, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 448, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 449, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 450, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 451, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 452, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 453, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 454, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 455, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 456, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 457, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 458, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 459, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 460, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 461, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 462, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 463, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 464, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 465, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 466, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 467, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 468, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 469, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 470, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 471, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 472, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 473, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 474, column 2 to column 55)", + " (in 'new_integrate_interface.stan', line 475, column 2 to column 62)", + " (in 'new_integrate_interface.stan', line 476, column 2 to column 62)", + " (in 'new_integrate_interface.stan', line 477, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 478, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 479, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 480, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 481, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 482, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 483, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 484, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 485, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 486, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 487, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 488, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 489, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 490, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 491, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 492, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 493, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 494, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 495, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 496, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 497, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 498, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 499, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 500, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 501, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 502, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 503, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 504, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 505, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 506, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 507, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 508, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 509, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 510, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 511, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 512, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 513, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 514, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 515, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 516, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 517, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 518, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 519, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 520, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 521, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 522, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 523, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 524, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 525, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 526, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 527, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 528, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 529, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 530, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 531, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 532, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 533, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 534, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 535, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 536, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 537, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 538, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 539, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 540, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 541, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 542, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 543, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 544, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 545, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 546, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 547, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 548, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 549, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 550, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 551, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 552, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 553, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 554, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 555, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 556, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 557, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 558, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 559, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 560, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 561, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 562, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 563, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 564, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 565, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 566, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 567, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 568, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 569, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 570, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 571, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 572, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 573, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 574, column 2 to column 41)", + " (in 'new_integrate_interface.stan', line 575, column 2 to column 41)", + " (in 'new_integrate_interface.stan', line 576, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 577, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 578, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 579, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 580, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 581, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 582, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 583, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 584, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 585, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 586, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 587, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 588, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 589, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 590, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 591, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 592, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 593, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 594, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 595, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 596, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 597, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 598, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 599, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 600, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 601, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 602, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 603, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 604, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 605, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 606, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 607, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 608, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 609, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 610, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 611, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 612, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 613, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 614, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 615, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 616, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 617, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 618, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 619, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 620, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 621, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 622, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 623, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 624, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 625, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 626, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 627, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 628, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 629, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 630, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 631, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 632, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 633, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 634, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 635, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 636, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 637, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 638, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 639, column 2 to column 34)", + " (in 'new_integrate_interface.stan', line 239, column 15 to column 16)", + " (in 'new_integrate_interface.stan', line 239, column 9 to column 10)", + " (in 'new_integrate_interface.stan', line 239, column 2 to column 73)", + " (in 'new_integrate_interface.stan', line 241, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 242, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 243, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 244, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 245, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 246, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 247, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 248, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 249, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 250, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 251, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 252, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 253, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 254, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 255, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 256, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 257, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 258, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 259, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 260, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 261, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 262, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 263, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 264, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 265, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 266, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 267, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 268, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 269, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 270, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 271, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 272, column 2 to column 55)", + " (in 'new_integrate_interface.stan', line 273, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 274, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 275, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 276, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 277, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 278, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 279, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 280, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 281, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 282, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 283, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 284, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 285, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 286, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 287, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 288, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 289, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 290, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 291, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 292, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 293, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 294, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 295, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 296, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 297, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 298, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 299, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 300, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 301, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 302, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 303, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 304, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 305, column 2 to column 56)", + " (in 'new_integrate_interface.stan', line 306, column 2 to column 62)", + " (in 'new_integrate_interface.stan', line 307, column 2 to column 62)", + " (in 'new_integrate_interface.stan', line 308, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 309, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 310, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 311, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 312, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 313, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 314, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 315, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 316, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 317, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 318, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 319, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 320, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 321, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 322, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 323, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 324, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 325, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 326, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 327, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 328, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 329, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 330, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 331, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 332, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 333, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 334, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 335, column 2 to column 59)", + " (in 'new_integrate_interface.stan', line 336, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 337, column 2 to column 58)", + " (in 'new_integrate_interface.stan', line 338, column 2 to column 57)", + " (in 'new_integrate_interface.stan', line 339, column 2 to column 41)", + " (in 'new_integrate_interface.stan', line 340, column 2 to column 41)", + " (in 'new_integrate_interface.stan', line 341, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 342, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 343, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 344, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 345, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 346, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 347, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 348, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 349, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 350, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 351, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 352, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 353, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 354, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 355, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 356, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 357, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 358, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 359, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 360, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 361, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 362, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 363, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 364, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 365, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 366, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 367, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 368, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 369, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 370, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 371, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 372, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 373, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 374, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 375, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 376, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 377, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 378, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 379, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 380, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 381, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 382, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 383, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 384, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 385, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 386, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 387, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 388, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 389, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 390, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 391, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 392, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 393, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 394, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 395, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 396, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 397, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 398, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 399, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 400, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 401, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 402, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 403, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 404, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 405, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 406, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 407, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 408, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 409, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 410, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 411, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 412, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 413, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 414, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 415, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 416, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 417, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 418, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 419, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 420, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 421, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 422, column 2 to column 38)", + " (in 'new_integrate_interface.stan', line 423, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 424, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 425, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 426, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 427, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 428, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 429, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 430, column 2 to column 37)", + " (in 'new_integrate_interface.stan', line 431, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 432, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 433, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 434, column 2 to column 36)", + " (in 'new_integrate_interface.stan', line 435, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 436, column 2 to column 35)", + " (in 'new_integrate_interface.stan', line 437, column 2 to column 34)", + " (in 'new_integrate_interface.stan', line 438, column 2 to column 19)", + " (in 'new_integrate_interface.stan', line 8, column 2 to column 8)", + " (in 'new_integrate_interface.stan', line 9, column 2 to column 9)", + " (in 'new_integrate_interface.stan', line 10, column 2 to column 10)", + " (in 'new_integrate_interface.stan', line 11, column 11 to column 12)", + " (in 'new_integrate_interface.stan', line 11, column 2 to column 14)", + " (in 'new_integrate_interface.stan', line 12, column 9 to column 10)", + " (in 'new_integrate_interface.stan', line 12, column 2 to column 15)", + " (in 'new_integrate_interface.stan', line 16, column 15 to column 16)", + " (in 'new_integrate_interface.stan', line 16, column 9 to column 10)", + " (in 'new_integrate_interface.stan', line 16, column 2 to column 73)", + " (in 'new_integrate_interface.stan', line 17, column 2 to column 60)", + " (in 'new_integrate_interface.stan', line 18, column 2 to column 62)", + " (in 'new_integrate_interface.stan', line 19, column 2 to column 62)", + " (in 'new_integrate_interface.stan', line 20, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 21, column 2 to column 61)", + " (in 'new_integrate_interface.stan', line 22, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 23, column 2 to column 39)", + " (in 'new_integrate_interface.stan', line 24, column 2 to column 41)", + " (in 'new_integrate_interface.stan', line 25, column 2 to column 41)", + " (in 'new_integrate_interface.stan', line 26, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 27, column 2 to column 40)", + " (in 'new_integrate_interface.stan', line 32, column 10 to column 11)", + " (in 'new_integrate_interface.stan', line 33, column 9 to column 10)", + " (in 'new_integrate_interface.stan', line 37, column 14 to column 15)", + " (in 'new_integrate_interface.stan', line 37, column 9 to column 10)", + " (in 'new_integrate_interface.stan', line 442, column 15 to column 16)", + " (in 'new_integrate_interface.stan', line 442, column 9 to column 10)", + " (in 'new_integrate_interface.stan', line 3, column 4 to column 13)", + " (in 'new_integrate_interface.stan', line 2, column 47 to line 4, column 3)"}; +template +Eigen::Matrix, T2__, +stan::value_type_t>, -1, 1> +f(const T0__& t, const T1__& z, const T2__& a, const T3__& b, + std::ostream* pstream__) ; -struct f11_rsfunctor__ { -double -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const +struct f_functor__ { +template +Eigen::Matrix, T2__, +stan::value_type_t>, -1, 1> +operator()(const T0__& t, const T1__& z, const T2__& a, const T3__& b, + std::ostream* pstream__) const { -return f11(y_slice, start + 1, end + 1, pstream__); +return f(t, z, a, b, pstream__); } }; -template -stan::promote_args_t -f12(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; +template +Eigen::Matrix, T2__, +stan::value_type_t>, -1, 1> +f(const T0__& t, const T1__& z_arg__, const T2__& a, const T3__& b_arg__, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + T2__, + stan::value_type_t>; int current_statement__ = 0; + const auto& z = to_ref(z_arg__); + const auto& b = to_ref(b_arg__); static constexpr bool propto__ = true; (void) propto__; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 195; - return 0.0; + current_statement__ = 628; + return z; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } } +class new_integrate_interface_model final : public model_base_crtp { -struct f12_functor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f12(y_slice, start, end, pstream__); -} -}; - - -struct f12_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector>>& y_slice, - const int& start, const int& end, std::ostream* pstream__) const -{ -return f12(y_slice, start + 1, end + 1, pstream__); -} -}; - -template -stan::promote_args_t -g1(const std::vector& y_slice, const int& start, const int& end, - const T3__& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 197; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } + private: + int N; + int id; + double rd; + std::vector rad; + Eigen::Matrix vd__; + std::vector> zd; + Eigen::Map> vd{nullptr, 0}; + + public: + ~new_integrate_interface_model() { } -} - -struct g1_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, const T3__& a, std::ostream* pstream__) const -{ -return g1(y_slice, start, end, a, pstream__); -} -}; - - -struct g1_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, const T3__& a) const -{ -return g1(y_slice, start + 1, end + 1, a, pstream__); -} -}; + inline std::string model_name() const final { return "new_integrate_interface_model"; } -template -stan::promote_args_t> -g2(const std::vector& y_slice, const int& start, const int& end, - const T3__& a_arg__, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t>; - int current_statement__ = 0; - const auto& a = to_ref(a_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 199; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; } -} - -struct g2_functor__ { -template -stan::promote_args_t> -operator()(const std::vector& y_slice, const int& start, - const int& end, const T3__& a, std::ostream* pstream__) const -{ -return g2(y_slice, start, end, a, pstream__); -} -}; - - -struct g2_rsfunctor__ { -template -stan::promote_args_t> -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, const T3__& a) const -{ -return g2(y_slice, start + 1, end + 1, a, pstream__); -} -}; - -template -stan::promote_args_t> -g3(const std::vector& y_slice, const int& start, const int& end, - const T3__& a_arg__, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t>; - int current_statement__ = 0; - const auto& a = to_ref(a_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 201; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); + + new_integrate_interface_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "new_integrate_interface_model_namespace::new_integrate_interface_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 601; + context__.validate_dims("data initialization","N","int", + std::vector{}); + N = std::numeric_limits::min(); + + current_statement__ = 601; + N = context__.vals_i("N")[(1 - 1)]; + current_statement__ = 602; + context__.validate_dims("data initialization","id","int", + std::vector{}); + id = std::numeric_limits::min(); + + current_statement__ = 602; + id = context__.vals_i("id")[(1 - 1)]; + current_statement__ = 603; + context__.validate_dims("data initialization","rd","double", + std::vector{}); + rd = std::numeric_limits::quiet_NaN(); + + current_statement__ = 603; + rd = context__.vals_r("rd")[(1 - 1)]; + current_statement__ = 604; + validate_non_negative_index("rad", "N", N); + current_statement__ = 605; + context__.validate_dims("data initialization","rad","double", + std::vector{static_cast(N)}); + rad = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 605; + rad = context__.vals_r("rad"); + current_statement__ = 606; + validate_non_negative_index("vd", "N", N); + current_statement__ = 607; + context__.validate_dims("data initialization","vd","double", + std::vector{static_cast(N)}); + vd__ = Eigen::Matrix(N); + new (&vd) Eigen::Map>(vd__.data(), N); + + { + std::vector vd_flat__; + current_statement__ = 607; + vd_flat__ = context__.vals_r("vd"); + current_statement__ = 607; + pos__ = 1; + current_statement__ = 607; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 607; + assign(vd, vd_flat__[(pos__ - 1)], + "assigning variable vd", index_uni(sym1__)); + current_statement__ = 607; + pos__ = (pos__ + 1); + } + } + current_statement__ = 608; + validate_non_negative_index("zd", "N", N); + current_statement__ = 609; + validate_non_negative_index("zd", "N", N); + current_statement__ = 610; + zd = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(zd, std::numeric_limits::quiet_NaN()); + + current_statement__ = 610; + assign(zd, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zd"); + current_statement__ = 611; + assign(zd, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zd"); + current_statement__ = 612; + assign(zd, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zd"); + current_statement__ = 613; + assign(zd, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zd"); + current_statement__ = 614; + assign(zd, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zd"); + current_statement__ = 615; + assign(zd, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zd"); + current_statement__ = 616; + assign(zd, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zd"); + current_statement__ = 617; + assign(zd, + ode_bdf(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zd"); + current_statement__ = 618; + assign(zd, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zd"); + current_statement__ = 619; + assign(zd, + ode_adams(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zd"); + current_statement__ = 620; + assign(zd, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zd"); + current_statement__ = 621; + assign(zd, + ode_rk45(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zd"); + current_statement__ = 622; + validate_non_negative_index("ra", "N", N); + current_statement__ = 623; + validate_non_negative_index("v", "N", N); + current_statement__ = 624; + validate_non_negative_index("z", "N", N); + current_statement__ = 625; + validate_non_negative_index("z", "N", N); + current_statement__ = 626; + validate_non_negative_index("zg", "N", N); + current_statement__ = 627; + validate_non_negative_index("zg", "N", N); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 1 + N + N; + } -} - -struct g3_functor__ { -template -stan::promote_args_t> -operator()(const std::vector& y_slice, const int& start, - const int& end, const T3__& a, std::ostream* pstream__) const -{ -return g3(y_slice, start, end, a, pstream__); -} -}; + 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__ = "new_integrate_interface_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + local_scalar_t__ r; + r = DUMMY_VAR__; + + current_statement__ = 1; + r = in__.template read(); + std::vector ra; + ra = std::vector(N, DUMMY_VAR__); + + current_statement__ = 2; + ra = in__.template read>(N); + Eigen::Matrix v; + v = Eigen::Matrix(N); + stan::math::fill(v, DUMMY_VAR__); + + current_statement__ = 3; + v = in__.template read>(N); + std::vector> z; + z = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(z, DUMMY_VAR__); + + current_statement__ = 4; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 5; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 6; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 7; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 8; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 9; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 10; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 11; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 12; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 13; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 14; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 15; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 16; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 17; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 18; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 19; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 20; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 21; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 22; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 23; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 24; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 25; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 26; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 27; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 28; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 29; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 30; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 31; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 32; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 33; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 34; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 35; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 36; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 37; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 38; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 39; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 40; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 41; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 42; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 43; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 44; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 45; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 46; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 47; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 48; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 49; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 50; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 51; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 52; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 53; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 54; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 55; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 56; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 57; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 58; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 59; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 60; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 61; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 62; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 63; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 64; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 65; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 66; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 67; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 68; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 69; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 70; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 71; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 72; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 73; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 74; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 75; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 76; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 77; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 78; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 79; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 80; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 81; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 82; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 83; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 84; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 85; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 86; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 87; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 88; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 89; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 90; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 91; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 92; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 93; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 94; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 95; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 96; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 97; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 98; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 99; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 100; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 101; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 102; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 103; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 104; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 105; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 106; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 107; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 108; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 109; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 110; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 111; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 112; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 113; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 114; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 115; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 116; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 117; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 118; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 119; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 120; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 121; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 122; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 123; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 124; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 125; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 126; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 127; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 128; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 129; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 130; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 131; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 132; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 133; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 134; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 135; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 136; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 137; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 138; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 139; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 140; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 141; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 142; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 143; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 144; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 145; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 146; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 147; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 148; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 149; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 150; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 151; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 152; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 153; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 154; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 155; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 156; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 157; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 158; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 159; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 160; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 161; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 162; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 163; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 164; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 165; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 166; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 167; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 168; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 169; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 170; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 171; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 172; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 173; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 174; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 175; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 176; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 177; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 178; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 179; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 180; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 181; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 182; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 183; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 184; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 185; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 186; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 187; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 188; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 189; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 190; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 191; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 192; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 193; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 194; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 195; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 196; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 197; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 198; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 199; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 200; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 201; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + { + current_statement__ = 400; + validate_non_negative_index("zm", "N", N); + current_statement__ = 401; + validate_non_negative_index("zm", "N", N); + std::vector> zm; + zm = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(zm, DUMMY_VAR__); + + current_statement__ = 402; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 403; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 404; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 405; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 406; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 407; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 408; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 409; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 410; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 411; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 412; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 413; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 414; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 415; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 416; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 417; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 418; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 419; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 420; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 421; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 422; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 423; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 424; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 425; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 426; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 427; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 428; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 429; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 430; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 431; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 432; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 433; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 434; + assign(zm, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 435; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 436; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 437; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 438; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 439; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 440; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 441; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 442; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 443; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 444; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 445; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 446; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 447; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 448; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 449; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 450; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 451; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 452; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 453; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 454; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 455; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 456; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 457; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 458; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 459; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 460; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 461; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 462; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 463; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 464; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 465; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 466; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 467; + assign(zm, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 468; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 469; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 470; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 471; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 472; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 473; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 474; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 475; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 476; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 477; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 478; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 479; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 480; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 481; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 482; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 483; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 484; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 485; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 486; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 487; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 488; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 489; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 490; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 491; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 492; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 493; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 494; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 495; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 496; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 497; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 498; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 499; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 500; + assign(zm, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 501; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, id, rad, + pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 502; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, + pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zm"); + current_statement__ = 503; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, + pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zm"); + current_statement__ = 504; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, + pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zm"); + current_statement__ = 505; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, + pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zm"); + current_statement__ = 506; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 507; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 508; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 509; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 510; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 511; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 512; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 513; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 514; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 515; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 516; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 517; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 518; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 519; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 520; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 521; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 522; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 523; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 524; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 525; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 526; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 527; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 528; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 529; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 530; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 531; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 532; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 533; + assign(zm, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 534; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 535; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 536; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 537; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 538; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 539; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 540; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 541; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 542; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 543; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 544; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 545; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 546; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 547; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 548; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 549; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 550; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 551; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 552; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 553; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 554; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 555; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 556; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 557; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 558; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 559; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 560; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 561; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 562; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 563; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 564; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 565; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 566; + assign(zm, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 567; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 568; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 569; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 570; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 571; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 572; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 573; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 574; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 575; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 576; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 577; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 578; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 579; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 580; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 581; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 582; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 583; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 584; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 585; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 586; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 587; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 588; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 589; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 590; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 591; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 592; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 593; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 594; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 595; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 596; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zm"); + current_statement__ = 597; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zm"); + current_statement__ = 598; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zm"); + current_statement__ = 599; + assign(zm, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zm"); + current_statement__ = 600; + lp_accum__.add(normal_lpdf(r, 0, 1)); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "new_integrate_interface_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + double r; + r = std::numeric_limits::quiet_NaN(); + + current_statement__ = 1; + r = in__.template read(); + std::vector ra; + ra = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 2; + ra = in__.template read>(N); + Eigen::Matrix v; + v = Eigen::Matrix(N); + stan::math::fill(v, std::numeric_limits::quiet_NaN()); + + current_statement__ = 3; + v = in__.template read>(N); + std::vector> z; + z = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(z, std::numeric_limits::quiet_NaN()); + + out__.write(r); + out__.write(ra); + out__.write(v); + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + current_statement__ = 4; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 5; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 6; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 7; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 8; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 9; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 10; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 11; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 12; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 13; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 14; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 15; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 16; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 17; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 18; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 19; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 20; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 21; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 22; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 23; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 24; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 25; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 26; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 27; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 28; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 29; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 30; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 31; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 32; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 33; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 34; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 35; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 36; + assign(z, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 37; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 38; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 39; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 40; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 41; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 42; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 43; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 44; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 45; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 46; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 47; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 48; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 49; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 50; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 51; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 52; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 53; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 54; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 55; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 56; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 57; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 58; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 59; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 60; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 61; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 62; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 63; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 64; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 65; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 66; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 67; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 68; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 69; + assign(z, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 70; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 71; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 72; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 73; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 74; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 75; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 76; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 77; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 78; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 79; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 80; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 81; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 82; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 83; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 84; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 85; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 86; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 87; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 88; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 89; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 90; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 91; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 92; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 93; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 94; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 95; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 96; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 97; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 98; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 99; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable z"); + current_statement__ = 100; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable z"); + current_statement__ = 101; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable z"); + current_statement__ = 102; + assign(z, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable z"); + current_statement__ = 103; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 104; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 105; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 106; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 107; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 108; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 109; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 110; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 111; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 112; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 113; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 114; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 115; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 116; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 117; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 118; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 119; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 120; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 121; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 122; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 123; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 124; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 125; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 126; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 127; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 128; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 129; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 130; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 131; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 132; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 133; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 134; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 135; + assign(z, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 136; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 137; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 138; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 139; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 140; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 141; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 142; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 143; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 144; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 145; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 146; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 147; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 148; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 149; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 150; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 151; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 152; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 153; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 154; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 155; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 156; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 157; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 158; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 159; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 160; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 161; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 162; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 163; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 164; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 165; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 166; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 167; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 168; + assign(z, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 169; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 170; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 171; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 172; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 173; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 174; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 175; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 176; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 177; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 178; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 179; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 180; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 181; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 182; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 183; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 184; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 185; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 186; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 187; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 188; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 189; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 190; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 191; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 192; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 193; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 194; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 195; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 196; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 197; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + current_statement__ = 198; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable z"); + current_statement__ = 199; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable z"); + current_statement__ = 200; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable z"); + current_statement__ = 201; + assign(z, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable z"); + if (emit_transformed_parameters__) { + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(z[(sym2__ - 1)][(sym1__ - 1)]); + } + } + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + std::vector> zg; + zg = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(zg, std::numeric_limits::quiet_NaN()); + + current_statement__ = 202; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 203; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 204; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 205; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 206; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 207; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 208; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 209; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 210; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 211; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 212; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 213; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 214; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 215; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 216; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 217; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 218; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 219; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 220; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 221; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 222; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 223; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 224; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 225; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 226; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 227; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 228; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 229; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 230; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 231; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 232; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 233; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 234; + assign(zg, + ode_bdf_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 235; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 236; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 237; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 238; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 239; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 240; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 241; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 242; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 243; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 244; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 245; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 246; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 247; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 248; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 249; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 250; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 251; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 252; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 253; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 254; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 255; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 256; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 257; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 258; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 259; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 260; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 261; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 262; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 263; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 264; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 265; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 266; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 267; + assign(zg, + ode_adams_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 268; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, id, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 269; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 270; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 271; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 272; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 273; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 274; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 275; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 276; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 277; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 278; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 279; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 280; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 281; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 282; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 283; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 284; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), vd, r, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 285; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 286; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 287; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 288; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 289; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 290; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 291; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 292; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, rd, ra, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 293; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 294; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 295; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 296; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, rad, 1e-6, + 1e-6, 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 297; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, vd), + "assigning variable zg"); + current_statement__ = 298; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), rd, v), + "assigning variable zg"); + current_statement__ = 299; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, vd), + "assigning variable zg"); + current_statement__ = 300; + assign(zg, + ode_rk45_tol(stan::math::ode_closure_adapter(), v, r, ra, 1e-6, 1e-6, + 100, pstream__, from_lambda(f_functor__()), r, v), + "assigning variable zg"); + current_statement__ = 301; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 302; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 303; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 304; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 305; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 306; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 307; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 308; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 309; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 310; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 311; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 312; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 313; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 314; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 315; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 316; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 317; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 318; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 319; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 320; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 321; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 322; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 323; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 324; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 325; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 326; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 327; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 328; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 329; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 330; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 331; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 332; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 333; + assign(zg, + ode_rk45(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 334; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 335; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 336; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 337; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 338; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 339; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 340; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 341; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 342; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 343; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 344; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 345; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 346; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 347; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 348; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 349; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 350; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 351; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 352; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 353; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 354; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 355; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 356; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 357; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 358; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 359; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 360; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 361; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 362; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 363; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 364; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 365; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 366; + assign(zg, + ode_adams(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 367; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, id, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 368; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 369; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 370; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 371; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 372; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 373; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 374; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 375; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 376; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 377; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 378; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 379; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 380; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 381; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 382; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 383; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), vd, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 384; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 385; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 386; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 387; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 388; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 389; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 390; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 391; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, rd, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 392; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 393; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 394; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 395; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, r, rad, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + current_statement__ = 396; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, vd), "assigning variable zg"); + current_statement__ = 397; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), rd, v), "assigning variable zg"); + current_statement__ = 398; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, vd), "assigning variable zg"); + current_statement__ = 399; + assign(zg, + ode_bdf(stan::math::ode_closure_adapter(), v, r, ra, pstream__, + from_lambda(f_functor__()), r, v), "assigning variable zg"); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(zg[(sym2__ - 1)][(sym1__ - 1)]); + } + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // 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__ r; + r = DUMMY_VAR__; + + r = in__.read(); + out__.write(r); + std::vector ra; + ra = std::vector(N, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + 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__) { + 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__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"r", "ra", "v", "z", "zg"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{}, + std::vector{static_cast(N)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), 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 { + + param_names__.emplace_back(std::string() + "r"); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "ra" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "v" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + + if (emit_generated_quantities__) { + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "zg" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + param_names__.emplace_back(std::string() + "r"); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "ra" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "v" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + + if (emit_generated_quantities__) { + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "zg" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"r\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"ra\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"z\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"zg\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"r\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"ra\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"z\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"zg\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"generated_quantities\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + ((1 + N) + N); + const size_t num_transformed = (N * N); + const size_t num_gen_quantities = + (N * N); + 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); + } -struct g3_rsfunctor__ { -template -stan::promote_args_t> -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, const T3__& a) const -{ -return g3(y_slice, start + 1, end + 1, a, pstream__); -} -}; + template + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } -template -stan::promote_args_t> -g4(const std::vector& y_slice, const int& start, const int& end, - const T3__& a_arg__, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t>; - int current_statement__ = 0; - const auto& a = to_ref(a_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 203; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } -struct g4_functor__ { -template -stan::promote_args_t> -operator()(const std::vector& y_slice, const int& start, - const int& end, const T3__& a, std::ostream* pstream__) const -{ -return g4(y_slice, start, end, a, pstream__); -} -}; + 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.size()); + std::vector params_i; + transform_inits(context, params_i, params_r_vec, pstream); + params_r = Eigen::Map>( + params_r_vec.data(), params_r_vec.size()); + } -struct g4_rsfunctor__ { -template -stan::promote_args_t> -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, const T3__& a) const -{ -return g4(y_slice, start + 1, end + 1, a, pstream__); -} + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + constexpr std::array names__{"r", "ra", "v"}; + const std::array constrain_param_sizes__{1, N, N}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; - -template -stan::promote_args_t -g5(const std::vector& y_slice, const int& start, const int& end, - const std::vector& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 205; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct g5_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, const std::vector& a, - std::ostream* pstream__) const -{ -return g5(y_slice, start, end, a, pstream__); } -}; +using stan_model = new_integrate_interface_model_namespace::new_integrate_interface_model; -struct g5_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, - const std::vector& a) const -{ -return g5(y_slice, start + 1, end + 1, a, pstream__); -} -}; +#ifndef USING_R -template -stan::promote_args_t -g6(const std::vector& y_slice, const int& start, const int& end, - const std::vector>& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 207; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; } -struct g6_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, const std::vector>& a, - std::ostream* pstream__) const -{ -return g6(y_slice, start, end, a, pstream__); +stan::math::profile_map& get_stan_profile_data() { + return new_integrate_interface_model_namespace::profiles__; } -}; +#endif -struct g6_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, - const std::vector>& a) const -{ -return g6(y_slice, start + 1, end + 1, a, pstream__); -} -}; -template -stan::promote_args_t -g7(const std::vector& y_slice, const int& start, const int& end, - const std::vector>& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 209; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} -struct g7_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, const std::vector>& a, - std::ostream* pstream__) const -{ -return g7(y_slice, start, end, a, pstream__); -} -}; + $ ../../../../../install/default/bin/stanc --print-cpp old_integrate_interface.stan +// Code generated by %%NAME%% %%VERSION%% +#include +namespace old_integrate_interface_model_namespace { -struct g7_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, - const std::vector>& a) const -{ -return g7(y_slice, start + 1, end + 1, a, pstream__); -} -}; +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; -template -stan::promote_args_t -g8(const std::vector& y_slice, const int& start, const int& end, - const std::vector>& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 211; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} -struct g8_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, const std::vector>& a, - std::ostream* pstream__) const -{ -return g8(y_slice, start, end, a, pstream__); -} -}; +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'old_integrate_interface.stan', line 27, column 2 to column 24)", + " (in 'old_integrate_interface.stan', line 28, column 2 to column 23)", + " (in 'old_integrate_interface.stan', line 29, column 2 to column 24)", + " (in 'old_integrate_interface.stan', line 30, column 2 to column 24)", + " (in 'old_integrate_interface.stan', line 31, column 2 to column 28)", + " (in 'old_integrate_interface.stan', line 32, column 2 to column 27)", + " (in 'old_integrate_interface.stan', line 35, column 2 to line 38, column 40)", + " (in 'old_integrate_interface.stan', line 41, column 2 to column 25)", + " (in 'old_integrate_interface.stan', line 42, column 2 to column 25)", + " (in 'old_integrate_interface.stan', line 43, column 2 to column 28)", + " (in 'old_integrate_interface.stan', line 44, column 2 to column 29)", + " (in 'old_integrate_interface.stan', line 45, column 2 to column 27)", + " (in 'old_integrate_interface.stan', line 46, column 2 to column 33)", + " (in 'old_integrate_interface.stan', line 48, column 4 to column 52)", + " (in 'old_integrate_interface.stan', line 49, column 4 to column 47)", + " (in 'old_integrate_interface.stan', line 47, column 17 to line 50, column 3)", + " (in 'old_integrate_interface.stan', line 47, column 2 to line 50, column 3)", + " (in 'old_integrate_interface.stan', line 21, column 2 to column 19)", + " (in 'old_integrate_interface.stan', line 22, column 10 to column 11)", + " (in 'old_integrate_interface.stan', line 22, column 2 to column 13)", + " (in 'old_integrate_interface.stan', line 23, column 2 to column 17)", + " (in 'old_integrate_interface.stan', line 24, column 20 to column 21)", + " (in 'old_integrate_interface.stan', line 24, column 2 to column 26)", + " (in 'old_integrate_interface.stan', line 35, column 9 to column 10)", + " (in 'old_integrate_interface.stan', line 7, column 4 to column 18)", + " (in 'old_integrate_interface.stan', line 8, column 4 to column 18)", + " (in 'old_integrate_interface.stan', line 10, column 4 to column 26)", + " (in 'old_integrate_interface.stan', line 11, column 4 to column 25)", + " (in 'old_integrate_interface.stan', line 12, column 4 to column 26)", + " (in 'old_integrate_interface.stan', line 13, column 4 to column 26)", + " (in 'old_integrate_interface.stan', line 15, column 4 to column 40)", + " (in 'old_integrate_interface.stan', line 16, column 4 to column 42)", + " (in 'old_integrate_interface.stan', line 17, column 4 to column 28)", + " (in 'old_integrate_interface.stan', line 6, column 26 to line 18, column 3)"}; +template +std::vector> +dz_dt(const T0__& t, const std::vector& z, + const std::vector& theta, const std::vector& x_r, + const std::vector& x_i, std::ostream* pstream__) ; -struct g8_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, - const std::vector>& a) const +struct dz_dt_functor__ { +template +std::vector> +operator()(const T0__& t, const std::vector& z, + const std::vector& theta, const std::vector& x_r, + const std::vector& x_i, std::ostream* pstream__) const { -return g8(y_slice, start + 1, end + 1, a, pstream__); +return dz_dt(t, z, theta, x_r, x_i, pstream__); } }; -template -stan::promote_args_t -g9(const std::vector& y_slice, const int& start, const int& end, - const std::vector>& a, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; +template +std::vector> +dz_dt(const T0__& t, const std::vector& z, + const std::vector& theta, const std::vector& x_r, + const std::vector& x_i, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; int current_statement__ = 0; static constexpr bool propto__ = true; (void) propto__; local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 213; - return 0.0; + local_scalar_t__ u; + u = DUMMY_VAR__; + + current_statement__ = 25; + u = rvalue(z, "z", index_uni(1)); + local_scalar_t__ v; + v = DUMMY_VAR__; + + current_statement__ = 26; + v = rvalue(z, "z", index_uni(2)); + local_scalar_t__ alpha; + alpha = DUMMY_VAR__; + + current_statement__ = 27; + alpha = rvalue(theta, "theta", index_uni(1)); + local_scalar_t__ beta; + beta = DUMMY_VAR__; + + current_statement__ = 28; + beta = rvalue(theta, "theta", index_uni(2)); + local_scalar_t__ gamma; + gamma = DUMMY_VAR__; + + current_statement__ = 29; + gamma = rvalue(theta, "theta", index_uni(3)); + local_scalar_t__ delta; + delta = DUMMY_VAR__; + + current_statement__ = 30; + delta = rvalue(theta, "theta", index_uni(4)); + local_scalar_t__ du_dt; + du_dt = DUMMY_VAR__; + + current_statement__ = 31; + du_dt = ((alpha - (beta * v)) * u); + local_scalar_t__ dv_dt; + dv_dt = DUMMY_VAR__; + + current_statement__ = 32; + dv_dt = ((-gamma + (delta * u)) * v); + current_statement__ = 33; + return std::vector{du_dt, dv_dt}; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } -} - -struct g9_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, const std::vector>& a, - std::ostream* pstream__) const -{ -return g9(y_slice, start, end, a, pstream__); -} -}; +} +class old_integrate_interface_model final : public model_base_crtp { + + private: + int N; + std::vector ts; + std::vector y_init; + std::vector> y; + + + public: + ~old_integrate_interface_model() { } + + inline std::string model_name() const final { return "old_integrate_interface_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + old_integrate_interface_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "old_integrate_interface_model_namespace::old_integrate_interface_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 18; + context__.validate_dims("data initialization","N","int", + std::vector{}); + N = std::numeric_limits::min(); + + current_statement__ = 18; + N = context__.vals_i("N")[(1 - 1)]; + current_statement__ = 18; + check_greater_or_equal(function__, "N", N, 0); + current_statement__ = 19; + validate_non_negative_index("ts", "N", N); + current_statement__ = 20; + context__.validate_dims("data initialization","ts","double", + std::vector{static_cast(N)}); + ts = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 20; + ts = context__.vals_r("ts"); + current_statement__ = 21; + context__.validate_dims("data initialization","y_init","double", + std::vector{static_cast(2)}); + y_init = std::vector(2, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 21; + y_init = context__.vals_r("y_init"); + current_statement__ = 22; + validate_non_negative_index("y", "N", N); + current_statement__ = 23; + context__.validate_dims("data initialization","y","double", + std::vector{static_cast(N), + static_cast(2)}); + y = std::vector>(N, std::vector(2, std::numeric_limits::quiet_NaN())); + + + { + std::vector y_flat__; + current_statement__ = 23; + y_flat__ = context__.vals_r("y"); + current_statement__ = 23; + pos__ = 1; + current_statement__ = 23; + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + current_statement__ = 23; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 23; + assign(y, y_flat__[(pos__ - 1)], + "assigning variable y", index_uni(sym2__), index_uni(sym1__)); + current_statement__ = 23; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 23; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 23; + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { + current_statement__ = 23; + check_greater_or_equal(function__, "y[sym1__, sym2__]", + y[(sym1__ - 1)][(sym2__ - 1)], 0); + } + } + current_statement__ = 24; + validate_non_negative_index("z", "N", N); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 1 + 1 + 1 + 1 + 2 + 2; + + } + + 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__ = "old_integrate_interface_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + local_scalar_t__ alpha; + alpha = DUMMY_VAR__; + + current_statement__ = 1; + alpha = in__.template read_constrain_lb( + 0, lp__); + local_scalar_t__ beta; + beta = DUMMY_VAR__; + + current_statement__ = 2; + beta = in__.template read_constrain_lb(0, + lp__); + local_scalar_t__ gamma; + gamma = DUMMY_VAR__; + + current_statement__ = 3; + gamma = in__.template read_constrain_lb( + 0, lp__); + local_scalar_t__ delta; + delta = DUMMY_VAR__; + + current_statement__ = 4; + delta = in__.template read_constrain_lb( + 0, lp__); + std::vector z_init; + z_init = std::vector(2, DUMMY_VAR__); + + current_statement__ = 5; + z_init = in__.template read_constrain_lb, jacobian__>( + 0, lp__, 2); + std::vector sigma; + sigma = std::vector(2, DUMMY_VAR__); + + current_statement__ = 6; + sigma = in__.template read_constrain_lb, jacobian__>( + 0, lp__, 2); + std::vector> z; + z = std::vector>(N, std::vector(2, DUMMY_VAR__)); + + + current_statement__ = 7; + assign(z, + integrate_ode_bdf(dz_dt_functor__(), z_init, 0, ts, + std::vector{alpha, beta, gamma, delta}, + rep_array(0.0, 0), rep_array(0, 0), pstream__, 1e-5, 1e-3, 5e2), + "assigning variable z"); + { + current_statement__ = 8; + lp_accum__.add(normal_lpdf(alpha, 1, 0.5)); + current_statement__ = 9; + lp_accum__.add(normal_lpdf(gamma, 1, 0.5)); + current_statement__ = 10; + lp_accum__.add(normal_lpdf(beta, 0.05, 0.05)); + current_statement__ = 11; + lp_accum__.add(normal_lpdf(delta, 0.05, 0.05)); + current_statement__ = 12; + lp_accum__.add(lognormal_lpdf(sigma, -1, 1)); + current_statement__ = 13; + lp_accum__.add( + lognormal_lpdf(z_init, stan::math::log(10), 1)); + current_statement__ = 17; + for (int k = 1; k <= 2; ++k) { + current_statement__ = 14; + lp_accum__.add( + lognormal_lpdf(rvalue(y_init, "y_init", index_uni(k)), + stan::math::log(rvalue(z_init, "z_init", index_uni(k))), + rvalue(sigma, "sigma", index_uni(k)))); + current_statement__ = 15; + lp_accum__.add( + lognormal_lpdf( + rvalue(y, "y", index_omni(), index_uni(k)), + stan::math::log(rvalue(z, "z", index_omni(), index_uni(k))), + rvalue(sigma, "sigma", index_uni(k)))); + } + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "old_integrate_interface_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + double alpha; + alpha = std::numeric_limits::quiet_NaN(); + + current_statement__ = 1; + alpha = in__.template read_constrain_lb( + 0, lp__); + double beta; + beta = std::numeric_limits::quiet_NaN(); + + current_statement__ = 2; + beta = in__.template read_constrain_lb(0, + lp__); + double gamma; + gamma = std::numeric_limits::quiet_NaN(); + + current_statement__ = 3; + gamma = in__.template read_constrain_lb( + 0, lp__); + double delta; + delta = std::numeric_limits::quiet_NaN(); + + current_statement__ = 4; + delta = in__.template read_constrain_lb( + 0, lp__); + std::vector z_init; + z_init = std::vector(2, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 5; + z_init = in__.template read_constrain_lb, jacobian__>( + 0, lp__, 2); + std::vector sigma; + sigma = std::vector(2, std::numeric_limits::quiet_NaN()); + + + current_statement__ = 6; + sigma = in__.template read_constrain_lb, jacobian__>( + 0, lp__, 2); + std::vector> z; + z = std::vector>(N, std::vector(2, std::numeric_limits::quiet_NaN())); + + + 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 ; + } + current_statement__ = 7; + assign(z, + integrate_ode_bdf(dz_dt_functor__(), z_init, 0, ts, + std::vector{alpha, beta, gamma, delta}, + rep_array(0.0, 0), rep_array(0, 0), pstream__, 1e-5, 1e-3, 5e2), + "assigning variable z"); + if (emit_transformed_parameters__) { + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(z[(sym2__ - 1)][(sym1__ - 1)]); + } + } + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // 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__ alpha; + alpha = DUMMY_VAR__; + + 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__; + + 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__); + + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + z_init[(sym1__ - 1)] = in__.read(); + } + out__.write_free_lb(0, z_init); + std::vector sigma; + sigma = std::vector(2, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + 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__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"alpha", "beta", "gamma", "delta", + "z_init", "sigma", "z"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{}, + std::vector{}, std::vector{}, std::vector{ + }, std::vector{static_cast(2)}, + std::vector{static_cast(2)}, + std::vector{static_cast(N), 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() + "alpha"); + param_names__.emplace_back(std::string() + "beta"); + param_names__.emplace_back(std::string() + "gamma"); + param_names__.emplace_back(std::string() + "delta"); + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "z_init" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "sigma" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + param_names__.emplace_back(std::string() + "alpha"); + param_names__.emplace_back(std::string() + "beta"); + param_names__.emplace_back(std::string() + "gamma"); + param_names__.emplace_back(std::string() + "delta"); + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "z_init" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + param_names__.emplace_back(std::string() + "sigma" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "z" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"alpha\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"beta\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"gamma\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"delta\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"z_init\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"sigma\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"z\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"transformed_parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"alpha\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"beta\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"gamma\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"delta\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"z_init\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"sigma\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"z\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(2) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"transformed_parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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; + 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); + } -struct g9_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, - const std::vector>& a) const -{ -return g9(y_slice, start + 1, end + 1, a, pstream__); -} -}; + template + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } -template -stan::promote_args_t -g10(const std::vector& y_slice, const int& start, const int& end, - const std::vector>>& a, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 215; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } -struct g10_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, - const std::vector>>& a, - std::ostream* pstream__) const -{ -return g10(y_slice, start, end, a, pstream__); -} -}; + 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.size()); + std::vector params_i; + transform_inits(context, params_i, params_r_vec, pstream); + params_r = Eigen::Map>( + params_r_vec.data(), params_r_vec.size()); + } -struct g10_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, - const std::vector>>& a) const -{ -return g10(y_slice, start + 1, end + 1, a, pstream__); -} + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + constexpr std::array names__{"alpha", "beta", "gamma", + "delta", "z_init", "sigma"}; + const std::array constrain_param_sizes__{1, 1, + 1, 1, 2, 2}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + }; - -template -stan::promote_args_t -g11(const std::vector& y_slice, const int& start, const int& end, - const std::vector>>& a, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 217; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - } -struct g11_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, - const std::vector>>& a, - std::ostream* pstream__) const -{ -return g11(y_slice, start, end, a, pstream__); -} -}; +using stan_model = old_integrate_interface_model_namespace::old_integrate_interface_model; +#ifndef USING_R -struct g11_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, - const std::vector>>& a) const -{ -return g11(y_slice, start + 1, end + 1, a, pstream__); +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; } -}; -template -stan::promote_args_t -g12(const std::vector& y_slice, const int& start, const int& end, - const std::vector>>& a, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 219; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - +stan::math::profile_map& get_stan_profile_data() { + return old_integrate_interface_model_namespace::profiles__; } -struct g12_functor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, - const std::vector>>& a, - std::ostream* pstream__) const -{ -return g12(y_slice, start, end, a, pstream__); -} -}; +#endif -struct g12_rsfunctor__ { -template -stan::promote_args_t -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, - const std::vector>>& a) const -{ -return g12(y_slice, start + 1, end + 1, a, pstream__); -} -}; -template -stan::promote_args_t, -stan::value_type_t, -stan::value_type_t, stan::promote_args_t>> -s(const std::vector& y_slice, const int& start, const int& end, - const int& a, const T4__& b, const T5__& c_arg__, const T6__& d_arg__, - const T7__& e_arg__, const std::vector& f, const std::vector& g, - const std::vector>& h, - const std::vector>& i, - const std::vector>& j, - const std::vector>& k, - const std::vector>& l, - const std::vector>>& m, - const std::vector>>& n, - const std::vector>>& o, - const std::vector>>& p, - const std::vector>>& q, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - stan::value_type_t, - stan::value_type_t, stan::promote_args_t>>; - int current_statement__ = 0; - const auto& c = to_ref(c_arg__); - const auto& d = to_ref(d_arg__); - const auto& e = to_ref(e_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - current_statement__ = 221; - return reduce_sum(y_slice, 1, pstream__, a, b, c, d, e, f, - g, h, i, j, k, l, m, n, o, p, q); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} +Warning in 'old_integrate_interface.stan', line 36, column 4: integrate_ode_bdf is deprecated and will be removed in the future. Use ode_bdf instead. +The new interface is slightly different, see: +https://mc-stan.org/users/documentation/case-studies/convert_odes.html + $ ../../../../../install/default/bin/stanc --print-cpp optimize_glm.stan -struct s_functor__ { -template -stan::promote_args_t, -stan::value_type_t, -stan::value_type_t, stan::promote_args_t>> -operator()(const std::vector& y_slice, const int& start, - const int& end, const int& a, const T4__& b, const T5__& c, - const T6__& d, const T7__& e, const std::vector& f, - const std::vector& g, - const std::vector>& h, - const std::vector>& i, - const std::vector>& j, - const std::vector>& k, - const std::vector>& l, - const std::vector>>& m, - const std::vector>>& n, - const std::vector>>& o, - const std::vector>>& p, - const std::vector>>& q, - std::ostream* pstream__) const -{ -return s(y_slice, start, end, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, - q, pstream__); -} -}; +// Code generated by %%NAME%% %%VERSION%% +#include +namespace optimize_glm_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; -struct s_rsfunctor__ { -template -stan::promote_args_t, -stan::value_type_t, -stan::value_type_t, stan::promote_args_t>> -operator()(const std::vector& y_slice, const int& start, - const int& end, std::ostream* pstream__, const int& a, - const T4__& b, const T5__& c, const T6__& d, const T7__& e, - const std::vector& f, const std::vector& g, - const std::vector>& h, - const std::vector>& i, - const std::vector>& j, - const std::vector>& k, - const std::vector>& l, - const std::vector>>& m, - const std::vector>>& n, - const std::vector>>& o, - const std::vector>>& p, - const std::vector>>& q) const -{ -return s(y_slice, start + 1, end + 1, a, b, c, d, e, f, g, h, i, j, k, l, m, - n, o, p, q, pstream__); -} -}; +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'optimize_glm.stan', line 27, column 2 to column 20)", + " (in 'optimize_glm.stan', line 28, column 2 to column 17)", + " (in 'optimize_glm.stan', line 29, column 2 to column 17)", + " (in 'optimize_glm.stan', line 30, column 2 to column 22)", + " (in 'optimize_glm.stan', line 31, column 2 to column 13)", + " (in 'optimize_glm.stan', line 32, column 2 to column 11)", + " (in 'optimize_glm.stan', line 33, column 2 to column 19)", + " (in 'optimize_glm.stan', line 34, column 2 to column 22)", + " (in 'optimize_glm.stan', line 35, column 2 to column 23)", + " (in 'optimize_glm.stan', line 39, column 2 to column 64)", + " (in 'optimize_glm.stan', line 40, column 2 to column 49)", + " (in 'optimize_glm.stan', line 42, column 2 to column 64)", + " (in 'optimize_glm.stan', line 43, column 2 to column 49)", + " (in 'optimize_glm.stan', line 45, column 2 to column 63)", + " (in 'optimize_glm.stan', line 46, column 2 to column 48)", + " (in 'optimize_glm.stan', line 48, column 2 to column 63)", + " (in 'optimize_glm.stan', line 49, column 2 to column 48)", + " (in 'optimize_glm.stan', line 51, column 2 to column 66)", + " (in 'optimize_glm.stan', line 52, column 2 to column 51)", + " (in 'optimize_glm.stan', line 54, column 2 to column 66)", + " (in 'optimize_glm.stan', line 55, column 2 to column 51)", + " (in 'optimize_glm.stan', line 57, column 2 to column 70)", + " (in 'optimize_glm.stan', line 58, column 2 to column 55)", + " (in 'optimize_glm.stan', line 60, column 2 to column 67)", + " (in 'optimize_glm.stan', line 61, column 2 to column 52)", + " (in 'optimize_glm.stan', line 63, column 2 to column 69)", + " (in 'optimize_glm.stan', line 64, column 2 to column 54)", + " (in 'optimize_glm.stan', line 66, column 2 to column 66)", + " (in 'optimize_glm.stan', line 67, column 2 to column 51)", + " (in 'optimize_glm.stan', line 69, column 2 to column 72)", + " (in 'optimize_glm.stan', line 70, column 2 to column 57)", + " (in 'optimize_glm.stan', line 72, column 2 to column 69)", + " (in 'optimize_glm.stan', line 73, column 2 to column 54)", + " (in 'optimize_glm.stan', line 75, column 2 to column 63)", + " (in 'optimize_glm.stan', line 76, column 2 to column 49)", + " (in 'optimize_glm.stan', line 78, column 2 to column 63)", + " (in 'optimize_glm.stan', line 79, column 2 to column 49)", + " (in 'optimize_glm.stan', line 81, column 2 to column 66)", + " (in 'optimize_glm.stan', line 82, column 2 to column 52)", + " (in 'optimize_glm.stan', line 84, column 2 to column 66)", + " (in 'optimize_glm.stan', line 85, column 2 to column 52)", + " (in 'optimize_glm.stan', line 87, column 2 to column 62)", + " (in 'optimize_glm.stan', line 88, column 2 to column 48)", + " (in 'optimize_glm.stan', line 90, column 2 to column 62)", + " (in 'optimize_glm.stan', line 91, column 2 to column 48)", + " (in 'optimize_glm.stan', line 93, column 2 to column 69)", + " (in 'optimize_glm.stan', line 94, column 2 to column 55)", + " (in 'optimize_glm.stan', line 96, column 2 to column 66)", + " (in 'optimize_glm.stan', line 97, column 2 to column 52)", + " (in 'optimize_glm.stan', line 99, column 2 to column 72)", + " (in 'optimize_glm.stan', line 100, column 2 to column 58)", + " (in 'optimize_glm.stan', line 102, column 2 to column 69)", + " (in 'optimize_glm.stan', line 103, column 2 to column 55)", + " (in 'optimize_glm.stan', line 105, column 2 to column 68)", + " (in 'optimize_glm.stan', line 106, column 2 to column 54)", + " (in 'optimize_glm.stan', line 108, column 2 to column 65)", + " (in 'optimize_glm.stan', line 109, column 2 to column 51)", + " (in 'optimize_glm.stan', line 111, column 2 to column 59)", + " (in 'optimize_glm.stan', line 112, column 2 to column 45)", + " (in 'optimize_glm.stan', line 114, column 2 to column 59)", + " (in 'optimize_glm.stan', line 115, column 2 to column 45)", + " (in 'optimize_glm.stan', line 117, column 2 to column 58)", + " (in 'optimize_glm.stan', line 118, column 2 to column 44)", + " (in 'optimize_glm.stan', line 120, column 2 to column 58)", + " (in 'optimize_glm.stan', line 121, column 2 to column 44)", + " (in 'optimize_glm.stan', line 123, column 2 to column 62)", + " (in 'optimize_glm.stan', line 124, column 2 to column 48)", + " (in 'optimize_glm.stan', line 126, column 2 to column 62)", + " (in 'optimize_glm.stan', line 127, column 2 to column 48)", + " (in 'optimize_glm.stan', line 129, column 2 to column 65)", + " (in 'optimize_glm.stan', line 130, column 2 to column 51)", + " (in 'optimize_glm.stan', line 132, column 2 to column 62)", + " (in 'optimize_glm.stan', line 133, column 2 to column 48)", + " (in 'optimize_glm.stan', line 135, column 2 to column 64)", + " (in 'optimize_glm.stan', line 136, column 2 to column 50)", + " (in 'optimize_glm.stan', line 138, column 2 to column 61)", + " (in 'optimize_glm.stan', line 139, column 2 to column 47)", + " (in 'optimize_glm.stan', line 141, column 2 to column 68)", + " (in 'optimize_glm.stan', line 142, column 2 to column 54)", + " (in 'optimize_glm.stan', line 144, column 2 to column 65)", + " (in 'optimize_glm.stan', line 145, column 2 to column 51)", + " (in 'optimize_glm.stan', line 147, column 2 to column 71)", + " (in 'optimize_glm.stan', line 148, column 2 to column 57)", + " (in 'optimize_glm.stan', line 150, column 2 to column 71)", + " (in 'optimize_glm.stan', line 151, column 2 to column 57)", + " (in 'optimize_glm.stan', line 153, column 2 to column 70)", + " (in 'optimize_glm.stan', line 154, column 2 to column 56)", + " (in 'optimize_glm.stan', line 156, column 2 to column 70)", + " (in 'optimize_glm.stan', line 157, column 2 to column 56)", + " (in 'optimize_glm.stan', line 159, column 2 to column 74)", + " (in 'optimize_glm.stan', line 160, column 2 to column 60)", + " (in 'optimize_glm.stan', line 162, column 2 to column 74)", + " (in 'optimize_glm.stan', line 163, column 2 to column 60)", + " (in 'optimize_glm.stan', line 165, column 2 to column 77)", + " (in 'optimize_glm.stan', line 166, column 2 to column 63)", + " (in 'optimize_glm.stan', line 168, column 2 to column 74)", + " (in 'optimize_glm.stan', line 169, column 2 to column 60)", + " (in 'optimize_glm.stan', line 171, column 2 to column 76)", + " (in 'optimize_glm.stan', line 172, column 2 to column 62)", + " (in 'optimize_glm.stan', line 174, column 2 to column 73)", + " (in 'optimize_glm.stan', line 175, column 2 to column 59)", + " (in 'optimize_glm.stan', line 177, column 2 to column 80)", + " (in 'optimize_glm.stan', line 178, column 2 to column 66)", + " (in 'optimize_glm.stan', line 180, column 2 to column 77)", + " (in 'optimize_glm.stan', line 181, column 2 to column 63)", + " (in 'optimize_glm.stan', line 183, column 2 to column 62)", + " (in 'optimize_glm.stan', line 184, column 2 to column 48)", + " (in 'optimize_glm.stan', line 186, column 2 to column 62)", + " (in 'optimize_glm.stan', line 187, column 2 to column 48)", + " (in 'optimize_glm.stan', line 189, column 2 to column 68)", + " (in 'optimize_glm.stan', line 190, column 2 to column 54)", + " (in 'optimize_glm.stan', line 192, column 2 to column 65)", + " (in 'optimize_glm.stan', line 193, column 2 to column 51)", + " (in 'optimize_glm.stan', line 195, column 2 to column 62)", + " (in 'optimize_glm.stan', line 196, column 2 to column 48)", + " (in 'optimize_glm.stan', line 198, column 2 to column 62)", + " (in 'optimize_glm.stan', line 199, column 2 to column 48)", + " (in 'optimize_glm.stan', line 201, column 2 to column 68)", + " (in 'optimize_glm.stan', line 202, column 2 to column 54)", + " (in 'optimize_glm.stan', line 204, column 2 to column 65)", + " (in 'optimize_glm.stan', line 205, column 2 to column 51)", + " (in 'optimize_glm.stan', line 207, column 2 to column 65)", + " (in 'optimize_glm.stan', line 208, column 2 to column 51)", + " (in 'optimize_glm.stan', line 210, column 2 to column 65)", + " (in 'optimize_glm.stan', line 211, column 2 to column 51)", + " (in 'optimize_glm.stan', line 213, column 2 to column 63)", + " (in 'optimize_glm.stan', line 214, column 2 to column 49)", + " (in 'optimize_glm.stan', line 216, column 2 to column 63)", + " (in 'optimize_glm.stan', line 217, column 2 to column 49)", + " (in 'optimize_glm.stan', line 219, column 2 to column 69)", + " (in 'optimize_glm.stan', line 220, column 2 to column 55)", + " (in 'optimize_glm.stan', line 222, column 2 to column 66)", + " (in 'optimize_glm.stan', line 223, column 2 to column 53)", + " (in 'optimize_glm.stan', line 225, column 2 to column 66)", + " (in 'optimize_glm.stan', line 226, column 2 to column 52)", + " (in 'optimize_glm.stan', line 228, column 2 to column 66)", + " (in 'optimize_glm.stan', line 229, column 2 to column 52)", + " (in 'optimize_glm.stan', line 231, column 2 to column 68)", + " (in 'optimize_glm.stan', line 232, column 2 to column 54)", + " (in 'optimize_glm.stan', line 234, column 2 to column 68)", + " (in 'optimize_glm.stan', line 235, column 2 to column 54)", + " (in 'optimize_glm.stan', line 237, column 2 to column 74)", + " (in 'optimize_glm.stan', line 238, column 2 to column 60)", + " (in 'optimize_glm.stan', line 240, column 2 to column 71)", + " (in 'optimize_glm.stan', line 241, column 2 to column 57)", + " (in 'optimize_glm.stan', line 243, column 2 to column 71)", + " (in 'optimize_glm.stan', line 244, column 2 to column 57)", + " (in 'optimize_glm.stan', line 246, column 2 to column 71)", + " (in 'optimize_glm.stan', line 247, column 2 to column 57)", + " (in 'optimize_glm.stan', line 249, column 2 to column 77)", + " (in 'optimize_glm.stan', line 250, column 2 to column 63)", + " (in 'optimize_glm.stan', line 252, column 2 to column 74)", + " (in 'optimize_glm.stan', line 253, column 2 to column 60)", + " (in 'optimize_glm.stan', line 255, column 2 to column 69)", + " (in 'optimize_glm.stan', line 256, column 2 to column 55)", + " (in 'optimize_glm.stan', line 258, column 2 to column 69)", + " (in 'optimize_glm.stan', line 259, column 2 to column 55)", + " (in 'optimize_glm.stan', line 261, column 2 to column 75)", + " (in 'optimize_glm.stan', line 262, column 2 to column 61)", + " (in 'optimize_glm.stan', line 264, column 2 to column 72)", + " (in 'optimize_glm.stan', line 265, column 2 to column 58)", + " (in 'optimize_glm.stan', line 267, column 2 to column 72)", + " (in 'optimize_glm.stan', line 268, column 2 to column 58)", + " (in 'optimize_glm.stan', line 270, column 2 to column 72)", + " (in 'optimize_glm.stan', line 271, column 2 to column 58)", + " (in 'optimize_glm.stan', line 273, column 2 to column 78)", + " (in 'optimize_glm.stan', line 274, column 2 to column 64)", + " (in 'optimize_glm.stan', line 276, column 2 to column 75)", + " (in 'optimize_glm.stan', line 277, column 2 to column 61)", + " (in 'optimize_glm.stan', line 279, column 2 to column 73)", + " (in 'optimize_glm.stan', line 280, column 2 to column 59)", + " (in 'optimize_glm.stan', line 282, column 2 to column 76)", + " (in 'optimize_glm.stan', line 283, column 2 to column 62)", + " (in 'optimize_glm.stan', line 285, column 2 to column 69)", + " (in 'optimize_glm.stan', line 286, column 2 to column 54)", + " (in 'optimize_glm.stan', line 2, column 2 to column 17)", + " (in 'optimize_glm.stan', line 3, column 2 to column 17)", + " (in 'optimize_glm.stan', line 4, column 9 to column 10)", + " (in 'optimize_glm.stan', line 4, column 12 to column 13)", + " (in 'optimize_glm.stan', line 4, column 2 to column 19)", + " (in 'optimize_glm.stan', line 5, column 9 to column 10)", + " (in 'optimize_glm.stan', line 5, column 12 to column 13)", + " (in 'optimize_glm.stan', line 5, column 2 to column 24)", + " (in 'optimize_glm.stan', line 6, column 9 to column 10)", + " (in 'optimize_glm.stan', line 6, column 2 to column 18)", + " (in 'optimize_glm.stan', line 7, column 13 to column 14)", + " (in 'optimize_glm.stan', line 7, column 2 to column 23)", + " (in 'optimize_glm.stan', line 8, column 13 to column 14)", + " (in 'optimize_glm.stan', line 8, column 2 to column 16)", + " (in 'optimize_glm.stan', line 9, column 14 to column 15)", + " (in 'optimize_glm.stan', line 9, column 2 to column 17)", + " (in 'optimize_glm.stan', line 10, column 2 to column 12)", + " (in 'optimize_glm.stan', line 11, column 2 to column 13)", + " (in 'optimize_glm.stan', line 15, column 2 to column 20)", + " (in 'optimize_glm.stan', line 16, column 2 to column 20)", + " (in 'optimize_glm.stan', line 17, column 9 to column 10)", + " (in 'optimize_glm.stan', line 17, column 12 to column 13)", + " (in 'optimize_glm.stan', line 17, column 2 to column 22)", + " (in 'optimize_glm.stan', line 18, column 9 to column 10)", + " (in 'optimize_glm.stan', line 18, column 2 to column 21)", + " (in 'optimize_glm.stan', line 19, column 13 to column 14)", + " (in 'optimize_glm.stan', line 19, column 2 to column 26)", + " (in 'optimize_glm.stan', line 20, column 16 to column 17)", + " (in 'optimize_glm.stan', line 20, column 2 to column 19)", + " (in 'optimize_glm.stan', line 21, column 17 to column 18)", + " (in 'optimize_glm.stan', line 21, column 2 to column 20)", + " (in 'optimize_glm.stan', line 22, column 2 to column 15)", + " (in 'optimize_glm.stan', line 23, column 2 to column 16)", + " (in 'optimize_glm.stan', line 27, column 9 to column 10)", + " (in 'optimize_glm.stan', line 28, column 9 to column 10)", + " (in 'optimize_glm.stan', line 29, column 9 to column 10)", + " (in 'optimize_glm.stan', line 33, column 9 to column 10)", + " (in 'optimize_glm.stan', line 33, column 12 to column 13)", + " (in 'optimize_glm.stan', line 34, column 9 to column 10)", + " (in 'optimize_glm.stan', line 34, column 12 to column 13)", + " (in 'optimize_glm.stan', line 35, column 13 to column 14)"}; -double -r(std::ostream* pstream__) { - using local_scalar_t__ = double; - int current_statement__ = 0; - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - int N; - N = std::numeric_limits::min(); - - current_statement__ = 224; - validate_non_negative_index("y1d", "N", N); - std::vector y1d; - y1d = std::vector(N, DUMMY_VAR__); - - current_statement__ = 226; - validate_non_negative_index("y2d", "N", N); - current_statement__ = 227; - validate_non_negative_index("y2d", "N", N); - std::vector> y2d; - y2d = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y2d, DUMMY_VAR__); - - current_statement__ = 229; - validate_non_negative_index("y3d", "N", N); - current_statement__ = 230; - validate_non_negative_index("y3d", "N", N); - std::vector> y3d; - y3d = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y3d, DUMMY_VAR__); - - current_statement__ = 232; - validate_non_negative_index("y4d", "N", N); - current_statement__ = 233; - validate_non_negative_index("y4d", "N", N); - current_statement__ = 234; - validate_non_negative_index("y4d", "N", N); - std::vector> y4d; - y4d = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(y4d, DUMMY_VAR__); - - current_statement__ = 236; - validate_non_negative_index("y5d", "N", N); - current_statement__ = 237; - validate_non_negative_index("y5d", "N", N); - std::vector> y5d; - y5d = std::vector>(N, std::vector(N, DUMMY_VAR__)); - - - current_statement__ = 239; - validate_non_negative_index("y6d", "N", N); - current_statement__ = 240; - validate_non_negative_index("y6d", "N", N); - current_statement__ = 241; - validate_non_negative_index("y6d", "N", N); - std::vector>> y6d; - y6d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y6d, DUMMY_VAR__); - - current_statement__ = 243; - validate_non_negative_index("y7d", "N", N); - current_statement__ = 244; - validate_non_negative_index("y7d", "N", N); - current_statement__ = 245; - validate_non_negative_index("y7d", "N", N); - std::vector>> y7d; - y7d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y7d, DUMMY_VAR__); - - current_statement__ = 247; - validate_non_negative_index("y8d", "N", N); - current_statement__ = 248; - validate_non_negative_index("y8d", "N", N); - current_statement__ = 249; - validate_non_negative_index("y8d", "N", N); - current_statement__ = 250; - validate_non_negative_index("y8d", "N", N); - std::vector>> y8d; - y8d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(y8d, DUMMY_VAR__); - - local_scalar_t__ y9d; - y9d = DUMMY_VAR__; - - current_statement__ = 253; - validate_non_negative_index("y10d", "N", N); - Eigen::Matrix y10d; - y10d = Eigen::Matrix(N); - stan::math::fill(y10d, DUMMY_VAR__); - - current_statement__ = 255; - validate_non_negative_index("y11d", "N", N); - Eigen::Matrix y11d; - y11d = Eigen::Matrix(N); - stan::math::fill(y11d, DUMMY_VAR__); - - current_statement__ = 257; - validate_non_negative_index("y12d", "N", N); - current_statement__ = 258; - validate_non_negative_index("y12d", "N", N); - Eigen::Matrix y12d; - y12d = Eigen::Matrix(N, N); - stan::math::fill(y12d, DUMMY_VAR__); - - int y13d; - y13d = std::numeric_limits::min(); - - current_statement__ = 261; - validate_non_negative_index("y14d", "N", N); - std::vector y14d; - y14d = std::vector(N, std::numeric_limits::min()); - - current_statement__ = 263; - validate_non_negative_index("y15d", "N", N); - current_statement__ = 264; - validate_non_negative_index("y15d", "N", N); - std::vector> y15d; - y15d = std::vector>(N, std::vector(N, std::numeric_limits::min())); - - - current_statement__ = 266; - validate_non_negative_index("y16d", "N", N); - current_statement__ = 267; - validate_non_negative_index("y16d", "N", N); - current_statement__ = 268; - validate_non_negative_index("y16d", "N", N); - std::vector>> y16d; - y16d = std::vector>>(N, std::vector>(N, std::vector(N, std::numeric_limits::min()))); - - - current_statement__ = 270; - validate_non_negative_index("y17d", "N", N); - current_statement__ = 271; - validate_non_negative_index("y17d", "N", N); - current_statement__ = 272; - validate_non_negative_index("y17d", "N", N); - std::vector>> y17d; - y17d = std::vector>>(N, std::vector>(N, std::vector(N, DUMMY_VAR__))); - - - current_statement__ = 274; - validate_non_negative_index("y1", "N", N); - std::vector y1; - y1 = std::vector(N, DUMMY_VAR__); - - current_statement__ = 276; - validate_non_negative_index("y2", "N", N); - current_statement__ = 277; - validate_non_negative_index("y2", "N", N); - std::vector> y2; - y2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y2, DUMMY_VAR__); - - current_statement__ = 279; - validate_non_negative_index("y3", "N", N); - current_statement__ = 280; - validate_non_negative_index("y3", "N", N); - std::vector> y3; - y3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y3, DUMMY_VAR__); - - current_statement__ = 282; - validate_non_negative_index("y4", "N", N); - current_statement__ = 283; - validate_non_negative_index("y4", "N", N); - current_statement__ = 284; - validate_non_negative_index("y4", "N", N); - std::vector> y4; - y4 = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(y4, DUMMY_VAR__); - - current_statement__ = 286; - validate_non_negative_index("y5", "N", N); - current_statement__ = 287; - validate_non_negative_index("y5", "N", N); - std::vector> y5; - y5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); - - - current_statement__ = 289; - validate_non_negative_index("y6", "N", N); - current_statement__ = 290; - validate_non_negative_index("y6", "N", N); - current_statement__ = 291; - validate_non_negative_index("y6", "N", N); - std::vector>> y6; - y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y6, DUMMY_VAR__); - - current_statement__ = 293; - validate_non_negative_index("y7", "N", N); - current_statement__ = 294; - validate_non_negative_index("y7", "N", N); - current_statement__ = 295; - validate_non_negative_index("y7", "N", N); - std::vector>> y7; - y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y7, DUMMY_VAR__); - - current_statement__ = 297; - validate_non_negative_index("y8", "N", N); - current_statement__ = 298; - validate_non_negative_index("y8", "N", N); - current_statement__ = 299; - validate_non_negative_index("y8", "N", N); - current_statement__ = 300; - validate_non_negative_index("y8", "N", N); - std::vector>> y8; - y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(y8, DUMMY_VAR__); - - local_scalar_t__ y9; - y9 = DUMMY_VAR__; - - current_statement__ = 303; - validate_non_negative_index("y10", "N", N); - Eigen::Matrix y10; - y10 = Eigen::Matrix(N); - stan::math::fill(y10, DUMMY_VAR__); - - current_statement__ = 305; - validate_non_negative_index("y11", "N", N); - Eigen::Matrix y11; - y11 = Eigen::Matrix(N); - stan::math::fill(y11, DUMMY_VAR__); - - current_statement__ = 307; - validate_non_negative_index("y12", "N", N); - current_statement__ = 308; - validate_non_negative_index("y12", "N", N); - Eigen::Matrix y12; - y12 = Eigen::Matrix(N, N); - stan::math::fill(y12, DUMMY_VAR__); - - current_statement__ = 310; - validate_non_negative_index("y17", "N", N); - current_statement__ = 311; - validate_non_negative_index("y17", "N", N); - current_statement__ = 312; - validate_non_negative_index("y17", "N", N); - std::vector>> y17; - y17 = std::vector>>(N, std::vector>(N, std::vector(N, DUMMY_VAR__))); - - - local_scalar_t__ t1; - t1 = DUMMY_VAR__; - - current_statement__ = 314; - t1 = reduce_sum(y1, 1, pstream__); - local_scalar_t__ t1a; - t1a = DUMMY_VAR__; - - current_statement__ = 315; - t1a = (reduce_sum(y1, 1, pstream__) + - reduce_sum(y1, 1, pstream__)); - local_scalar_t__ t2; - t2 = DUMMY_VAR__; - - current_statement__ = 316; - t2 = reduce_sum(y2, 1, pstream__); - local_scalar_t__ t3; - t3 = DUMMY_VAR__; - - current_statement__ = 317; - t3 = reduce_sum(y3, 1, pstream__); - local_scalar_t__ t4; - t4 = DUMMY_VAR__; - - current_statement__ = 318; - t4 = reduce_sum(y4, 1, pstream__); - local_scalar_t__ t5; - t5 = DUMMY_VAR__; - - current_statement__ = 319; - t5 = reduce_sum(y5, 1, pstream__); - local_scalar_t__ t6; - t6 = DUMMY_VAR__; - - current_statement__ = 320; - t6 = reduce_sum(y6, 1, pstream__); - local_scalar_t__ t7; - t7 = DUMMY_VAR__; - - current_statement__ = 321; - t7 = reduce_sum(y7, 1, pstream__); - local_scalar_t__ t8; - t8 = DUMMY_VAR__; - - current_statement__ = 322; - t8 = reduce_sum(y8, 1, pstream__); - local_scalar_t__ t9; - t9 = DUMMY_VAR__; - - current_statement__ = 323; - t9 = reduce_sum(y14d, 1, pstream__); - local_scalar_t__ t10; - t10 = DUMMY_VAR__; - - current_statement__ = 324; - t10 = reduce_sum(y15d, 1, pstream__); - local_scalar_t__ t11; - t11 = DUMMY_VAR__; - - current_statement__ = 325; - t11 = reduce_sum(y16d, 1, pstream__); - local_scalar_t__ t12; - t12 = DUMMY_VAR__; - - current_statement__ = 326; - t12 = reduce_sum(y17, 1, pstream__); - local_scalar_t__ tg1; - tg1 = DUMMY_VAR__; - - current_statement__ = 327; - tg1 = reduce_sum(y1, 1, pstream__, y9); - local_scalar_t__ tg2; - tg2 = DUMMY_VAR__; - - current_statement__ = 328; - tg2 = reduce_sum(y1, 1, pstream__, y10); - local_scalar_t__ tg3; - tg3 = DUMMY_VAR__; - - current_statement__ = 329; - tg3 = reduce_sum(y1, 1, pstream__, y11); - local_scalar_t__ tg4; - tg4 = DUMMY_VAR__; - - current_statement__ = 330; - tg4 = reduce_sum(y1, 1, pstream__, y12); - local_scalar_t__ tg5; - tg5 = DUMMY_VAR__; - - current_statement__ = 331; - tg5 = reduce_sum(y1, 1, pstream__, y1); - local_scalar_t__ tg6; - tg6 = DUMMY_VAR__; - - current_statement__ = 332; - tg6 = reduce_sum(y1, 1, pstream__, y2); - local_scalar_t__ tg7; - tg7 = DUMMY_VAR__; - - current_statement__ = 333; - tg7 = reduce_sum(y1, 1, pstream__, y3); - local_scalar_t__ tg8; - tg8 = DUMMY_VAR__; - - current_statement__ = 334; - tg8 = reduce_sum(y1, 1, pstream__, y4); - local_scalar_t__ tg9; - tg9 = DUMMY_VAR__; - - current_statement__ = 335; - tg9 = reduce_sum(y1, 1, pstream__, y5); - local_scalar_t__ tg10; - tg10 = DUMMY_VAR__; - - current_statement__ = 336; - tg10 = reduce_sum(y1, 1, pstream__, y6); - local_scalar_t__ tg11; - tg11 = DUMMY_VAR__; - - current_statement__ = 337; - tg11 = reduce_sum(y1, 1, pstream__, y7); - local_scalar_t__ tg12; - tg12 = DUMMY_VAR__; - - current_statement__ = 338; - tg12 = reduce_sum(y1, 1, pstream__, y8); - local_scalar_t__ ts; - ts = DUMMY_VAR__; - - current_statement__ = 339; - ts = reduce_sum(y1d, 1, pstream__, y13d, y9, y10, y11, - y12, y14d, y1, y2, y3, y4, y15d, y5, y6, y7, y8, y16d, y17); - current_statement__ = 340; - return 0.0; - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} -struct r_functor__ { -double -operator()(std::ostream* pstream__) const -{ -return r(pstream__); -} -}; -class reduce_sum_m3_model final : public model_base_crtp { +class optimize_glm_model final : public model_base_crtp { private: - int N; - std::vector y1d; - std::vector> y2d; - std::vector> y3d; - std::vector> y4d; - std::vector> y5d; - std::vector>> y6d; - std::vector>> y7d; - std::vector>> y8d; - double y9d; - Eigen::Matrix y10d__; - Eigen::Matrix y11d__; - Eigen::Matrix y12d__; - int y13d; - std::vector y14d; - std::vector> y15d; - std::vector>> y16d; - std::vector>> y17d; - double td1; - double td1a; - double td2; - double td3; - double td4; - double td5; - double td6; - double td7; - double td8; - double td9; - double td10; - double td11; - double td12; - double tgd1; - double tgd2; - double tgd3; - double tgd4; - double tgd5; - double tgd6; - double tgd7; - double tgd8; - double tgd9; - double tgd10; - double tgd11; - double tgd12; - double tsd; - Eigen::Map> y10d{nullptr, 0}; - Eigen::Map> y11d{nullptr, 0}; - Eigen::Map> y12d{nullptr, 0, 0}; + int k; + int n; + Eigen::Matrix X_d__; + std::vector> X_d_a; + Eigen::Matrix y_v_d__; + Eigen::Matrix X_rv_d__; + std::vector y_vi_d; + std::vector y2_vi_d; + int y_s_d; + double y_r_d; + int k_td; + int n_td; + Eigen::Matrix X_d_td__; + Eigen::Matrix y_v_d_td__; + Eigen::Matrix X_rv_d_td__; + std::vector y_vi_d_td; + std::vector y2_vi_d_td; + int y_s_d_td; + double y_r_d_td; + Eigen::Map> X_d{nullptr, 0, 0}; + Eigen::Map> y_v_d{nullptr, 0}; + Eigen::Map> X_rv_d{nullptr, 0}; + Eigen::Map> X_d_td{nullptr, 0, 0}; + Eigen::Map> y_v_d_td{nullptr, 0}; + Eigen::Map> X_rv_d_td{nullptr, 0}; public: - ~reduce_sum_m3_model() { } + ~optimize_glm_model() { } - inline std::string model_name() const final { return "reduce_sum_m3_model"; } + inline std::string model_name() const final { return "optimize_glm_model"; } inline std::vector model_compile_info() const noexcept { return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; } - reduce_sum_m3_model(stan::io::var_context& context__, - unsigned int random_seed__ = 0, - std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + optimize_glm_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "optimize_glm_model_namespace::optimize_glm_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 176; + context__.validate_dims("data initialization","k","int", + std::vector{}); + k = std::numeric_limits::min(); + + current_statement__ = 176; + k = context__.vals_i("k")[(1 - 1)]; + current_statement__ = 176; + check_greater_or_equal(function__, "k", k, 1); + current_statement__ = 177; + context__.validate_dims("data initialization","n","int", + std::vector{}); + n = std::numeric_limits::min(); + + current_statement__ = 177; + n = context__.vals_i("n")[(1 - 1)]; + current_statement__ = 177; + check_greater_or_equal(function__, "n", n, 0); + current_statement__ = 178; + validate_non_negative_index("X_d", "n", n); + current_statement__ = 179; + validate_non_negative_index("X_d", "k", k); + current_statement__ = 180; + context__.validate_dims("data initialization","X_d","double", + std::vector{static_cast(n), + static_cast(k)}); + X_d__ = Eigen::Matrix(n, k); + new (&X_d) Eigen::Map>(X_d__.data(), n, k); + + + { + std::vector X_d_flat__; + current_statement__ = 180; + X_d_flat__ = context__.vals_r("X_d"); + current_statement__ = 180; + pos__ = 1; + current_statement__ = 180; + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + current_statement__ = 180; + for (int sym2__ = 1; sym2__ <= n; ++sym2__) { + current_statement__ = 180; + assign(X_d, X_d_flat__[(pos__ - 1)], + "assigning variable X_d", index_uni(sym2__), index_uni(sym1__)); + current_statement__ = 180; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 181; + validate_non_negative_index("X_d_a", "n", n); + current_statement__ = 182; + validate_non_negative_index("X_d_a", "k", k); + current_statement__ = 183; + context__.validate_dims("data initialization","X_d_a","double", + std::vector{static_cast(2), + static_cast(n), static_cast(k)}); + X_d_a = std::vector>(2, Eigen::Matrix(n, k)); + + + { + std::vector X_d_a_flat__; + current_statement__ = 183; + X_d_a_flat__ = context__.vals_r("X_d_a"); + current_statement__ = 183; + pos__ = 1; + current_statement__ = 183; + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + current_statement__ = 183; + for (int sym2__ = 1; sym2__ <= n; ++sym2__) { + current_statement__ = 183; + for (int sym3__ = 1; sym3__ <= 2; ++sym3__) { + current_statement__ = 183; + assign(X_d_a, X_d_a_flat__[(pos__ - 1)], + "assigning variable X_d_a", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 183; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 184; + validate_non_negative_index("y_v_d", "n", n); + current_statement__ = 185; + context__.validate_dims("data initialization","y_v_d","double", + std::vector{static_cast(n)}); + y_v_d__ = Eigen::Matrix(n); + new (&y_v_d) Eigen::Map>(y_v_d__.data(), n); + + + { + std::vector y_v_d_flat__; + current_statement__ = 185; + y_v_d_flat__ = context__.vals_r("y_v_d"); + current_statement__ = 185; + pos__ = 1; + current_statement__ = 185; + for (int sym1__ = 1; sym1__ <= n; ++sym1__) { + current_statement__ = 185; + assign(y_v_d, y_v_d_flat__[(pos__ - 1)], + "assigning variable y_v_d", index_uni(sym1__)); + current_statement__ = 185; + pos__ = (pos__ + 1); + } + } + current_statement__ = 186; + validate_non_negative_index("X_rv_d", "n", n); + current_statement__ = 187; + context__.validate_dims("data initialization","X_rv_d","double", + std::vector{static_cast(n)}); + X_rv_d__ = Eigen::Matrix(n); + new (&X_rv_d) Eigen::Map>(X_rv_d__.data(), n); + + + { + std::vector X_rv_d_flat__; + current_statement__ = 187; + X_rv_d_flat__ = context__.vals_r("X_rv_d"); + current_statement__ = 187; + pos__ = 1; + current_statement__ = 187; + for (int sym1__ = 1; sym1__ <= n; ++sym1__) { + current_statement__ = 187; + assign(X_rv_d, X_rv_d_flat__[(pos__ - 1)], + "assigning variable X_rv_d", index_uni(sym1__)); + current_statement__ = 187; + pos__ = (pos__ + 1); + } + } + current_statement__ = 188; + validate_non_negative_index("y_vi_d", "n", n); + current_statement__ = 189; + context__.validate_dims("data initialization","y_vi_d","int", + std::vector{static_cast(n)}); + y_vi_d = std::vector(n, std::numeric_limits::min()); + + current_statement__ = 189; + y_vi_d = context__.vals_i("y_vi_d"); + current_statement__ = 190; + validate_non_negative_index("y2_vi_d", "n", n); + current_statement__ = 191; + context__.validate_dims("data initialization","y2_vi_d","int", + std::vector{static_cast(n)}); + y2_vi_d = std::vector(n, std::numeric_limits::min()); + + current_statement__ = 191; + y2_vi_d = context__.vals_i("y2_vi_d"); + current_statement__ = 192; + context__.validate_dims("data initialization","y_s_d","int", + std::vector{}); + y_s_d = std::numeric_limits::min(); + + current_statement__ = 192; + y_s_d = context__.vals_i("y_s_d")[(1 - 1)]; + current_statement__ = 193; + context__.validate_dims("data initialization","y_r_d","double", + std::vector{}); + y_r_d = std::numeric_limits::quiet_NaN(); + + current_statement__ = 193; + y_r_d = context__.vals_r("y_r_d")[(1 - 1)]; + current_statement__ = 194; + k_td = std::numeric_limits::min(); + + current_statement__ = 195; + n_td = std::numeric_limits::min(); + + current_statement__ = 196; + validate_non_negative_index("X_d_td", "n", n); + current_statement__ = 197; + validate_non_negative_index("X_d_td", "k", k); + current_statement__ = 198; + X_d_td__ = Eigen::Matrix(n, k); + new (&X_d_td) Eigen::Map>(X_d_td__.data(), n, k); + stan::math::fill(X_d_td, std::numeric_limits::quiet_NaN()); + + current_statement__ = 199; + validate_non_negative_index("y_v_d_td", "n", n); + current_statement__ = 200; + y_v_d_td__ = Eigen::Matrix(n); + new (&y_v_d_td) Eigen::Map>(y_v_d_td__.data(), n); + stan::math::fill(y_v_d_td, std::numeric_limits::quiet_NaN()); + + current_statement__ = 201; + validate_non_negative_index("X_rv_d_td", "n", n); + current_statement__ = 202; + X_rv_d_td__ = Eigen::Matrix(n); + new (&X_rv_d_td) Eigen::Map>(X_rv_d_td__.data(), n); + stan::math::fill(X_rv_d_td, std::numeric_limits::quiet_NaN()); + + current_statement__ = 203; + validate_non_negative_index("y_vi_d_td", "n", n); + current_statement__ = 204; + y_vi_d_td = std::vector(n, std::numeric_limits::min()); + + current_statement__ = 205; + validate_non_negative_index("y2_vi_d_td", "n", n); + current_statement__ = 206; + y2_vi_d_td = std::vector(n, std::numeric_limits::min()); + + current_statement__ = 207; + y_s_d_td = std::numeric_limits::min(); + + current_statement__ = 208; + y_r_d_td = std::numeric_limits::quiet_NaN(); + + current_statement__ = 194; + check_greater_or_equal(function__, "k_td", k_td, 1); + current_statement__ = 195; + check_greater_or_equal(function__, "n_td", n_td, 0); + current_statement__ = 209; + validate_non_negative_index("alpha_v", "k", k); + current_statement__ = 210; + validate_non_negative_index("beta", "k", k); + current_statement__ = 211; + validate_non_negative_index("cuts", "k", k); + current_statement__ = 212; + validate_non_negative_index("X_p", "n", n); + current_statement__ = 213; + validate_non_negative_index("X_p", "k", k); + current_statement__ = 214; + validate_non_negative_index("beta_m", "n", n); + current_statement__ = 215; + validate_non_negative_index("beta_m", "k", k); + current_statement__ = 216; + validate_non_negative_index("X_rv_p", "n", n); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = k + k + k + 1 + 1 + 1 + (n * k) + (n * k) + n; + + } + + 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; - using local_scalar_t__ = double ; - boost::ecuyer1988 base_rng__ = - stan::services::util::create_rng(random_seed__, 0); - (void) base_rng__; // suppress unused var warning - static constexpr const char* function__ = "reduce_sum_m3_model_namespace::reduce_sum_m3_model"; - (void) function__; // suppress unused var warning local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning + static constexpr const char* function__ = "optimize_glm_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + try { - int pos__; - pos__ = std::numeric_limits::min(); + Eigen::Matrix alpha_v; + alpha_v = Eigen::Matrix(k); + stan::math::fill(alpha_v, DUMMY_VAR__); - pos__ = 1; - current_statement__ = 67; - context__.validate_dims("data initialization","N","int", - std::vector{}); - N = std::numeric_limits::min(); + current_statement__ = 1; + alpha_v = in__.template read>(k); + Eigen::Matrix beta; + beta = Eigen::Matrix(k); + stan::math::fill(beta, DUMMY_VAR__); - current_statement__ = 67; - N = context__.vals_i("N")[(1 - 1)]; - current_statement__ = 68; - validate_non_negative_index("y1d", "N", N); - current_statement__ = 69; - context__.validate_dims("data initialization","y1d","double", - std::vector{static_cast(N)}); - y1d = std::vector(N, std::numeric_limits::quiet_NaN()); + current_statement__ = 2; + beta = in__.template read>(k); + Eigen::Matrix cuts; + cuts = Eigen::Matrix(k); + stan::math::fill(cuts, DUMMY_VAR__); - current_statement__ = 69; - y1d = context__.vals_r("y1d"); - current_statement__ = 70; - validate_non_negative_index("y2d", "N", N); - current_statement__ = 71; - validate_non_negative_index("y2d", "N", N); - current_statement__ = 72; - context__.validate_dims("data initialization","y2d","double", - std::vector{static_cast(N), - static_cast(N)}); - y2d = std::vector>(N, Eigen::Matrix(N)); + current_statement__ = 3; + cuts = in__.template read>(k); + local_scalar_t__ sigma; + sigma = DUMMY_VAR__; + + current_statement__ = 4; + sigma = in__.template read_constrain_lb( + 0, lp__); + local_scalar_t__ alpha; + alpha = DUMMY_VAR__; + + current_statement__ = 5; + alpha = in__.template read(); + local_scalar_t__ phi; + phi = DUMMY_VAR__; + + current_statement__ = 6; + phi = in__.template read(); + Eigen::Matrix X_p; + X_p = Eigen::Matrix(n, k); + stan::math::fill(X_p, DUMMY_VAR__); + + current_statement__ = 7; + X_p = in__.template read>(n, k); + Eigen::Matrix beta_m; + beta_m = Eigen::Matrix(n, k); + stan::math::fill(beta_m, DUMMY_VAR__); + current_statement__ = 8; + beta_m = in__.template read>(n, + k); + Eigen::Matrix X_rv_p; + X_rv_p = Eigen::Matrix(n); + stan::math::fill(X_rv_p, DUMMY_VAR__); + current_statement__ = 9; + X_rv_p = in__.template read>(n); { - std::vector y2d_flat__; - current_statement__ = 72; - y2d_flat__ = context__.vals_r("y2d"); - current_statement__ = 72; - pos__ = 1; + current_statement__ = 10; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d, X_d, alpha, beta, sigma)); + current_statement__ = 11; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d, X_d, alpha, beta, sigma)); + current_statement__ = 12; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d, X_p, alpha, beta, sigma)); + current_statement__ = 13; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d, X_p, alpha, beta, sigma)); + current_statement__ = 14; + lp_accum__.add( + normal_id_glm_lpdf(y_r_d, X_d, alpha, beta, beta)); + current_statement__ = 15; + lp_accum__.add( + normal_id_glm_lpdf(y_r_d, X_d, alpha, beta, beta)); + current_statement__ = 16; + lp_accum__.add( + normal_id_glm_lpdf(y_r_d, X_p, alpha, beta, beta)); + current_statement__ = 17; + lp_accum__.add( + normal_id_glm_lpdf(y_r_d, X_p, alpha, beta, beta)); + current_statement__ = 18; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d, X_rv_d, alpha, beta, beta)); + current_statement__ = 19; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d, X_rv_d, alpha, beta, beta)); + current_statement__ = 20; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d, X_rv_p, alpha, beta, beta)); + current_statement__ = 21; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d, X_rv_p, alpha, beta, beta)); + current_statement__ = 22; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d_td, X_d_td, alpha, beta, sigma)); + current_statement__ = 23; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d_td, X_d_td, alpha, beta, sigma)); + current_statement__ = 24; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d_td, X_p, alpha, beta, sigma)); + current_statement__ = 25; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d_td, X_p, alpha, beta, sigma)); + current_statement__ = 26; + lp_accum__.add( + normal_id_glm_lpdf(y_r_d_td, X_d_td, alpha, beta, beta)); + current_statement__ = 27; + lp_accum__.add( + normal_id_glm_lpdf(y_r_d_td, X_d_td, alpha, beta, beta)); + current_statement__ = 28; + lp_accum__.add( + normal_id_glm_lpdf(y_r_d_td, X_p, alpha, beta, beta)); + current_statement__ = 29; + lp_accum__.add( + normal_id_glm_lpdf(y_r_d_td, X_p, alpha, beta, beta)); + current_statement__ = 30; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d_td, X_rv_d_td, alpha, beta, beta)); + current_statement__ = 31; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d_td, X_rv_d_td, alpha, beta, + beta)); + current_statement__ = 32; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d_td, X_rv_p, alpha, beta, beta)); + current_statement__ = 33; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d_td, X_rv_p, alpha, beta, beta)); + current_statement__ = 34; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d, X_d, alpha, beta)); + current_statement__ = 35; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d, X_d, alpha, beta)); + current_statement__ = 36; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d, X_p, alpha, beta)); + current_statement__ = 37; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d, X_p, alpha, beta)); + current_statement__ = 38; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d, X_rv_d, alpha, beta)); + current_statement__ = 39; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d, X_rv_d, alpha, beta)); + current_statement__ = 40; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d, X_rv_p, alpha, beta)); + current_statement__ = 41; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d, X_rv_p, alpha, beta)); + current_statement__ = 42; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_s_d, X_d, alpha, beta)); + current_statement__ = 43; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_s_d, X_d, alpha, beta)); + current_statement__ = 44; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_s_d, X_p, alpha, beta)); + current_statement__ = 45; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_s_d, X_p, alpha, beta)); + current_statement__ = 46; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d_td, X_d_td, alpha, beta)); + current_statement__ = 47; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d_td, X_d_td, alpha, beta)); + current_statement__ = 48; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d_td, X_p, alpha, beta)); + current_statement__ = 49; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d_td, X_p, alpha, beta)); + current_statement__ = 50; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, beta)); + current_statement__ = 51; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, + beta)); + current_statement__ = 52; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d_td, X_rv_p, alpha, beta)); + current_statement__ = 53; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_vi_d_td, X_rv_p, alpha, beta)); + current_statement__ = 54; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_s_d_td, X_d_td, alpha, beta)); + current_statement__ = 55; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_s_d_td, X_d_td, alpha, beta)); + current_statement__ = 56; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_s_d_td, X_p, alpha, beta)); + current_statement__ = 57; + lp_accum__.add( + bernoulli_logit_glm_lpmf(y_s_d_td, X_p, alpha, beta)); + current_statement__ = 58; + lp_accum__.add(poisson_log_glm_lpmf(y_vi_d, X_d, alpha, beta)); + current_statement__ = 59; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d, X_d, alpha, beta)); + current_statement__ = 60; + lp_accum__.add(poisson_log_glm_lpmf(y_vi_d, X_p, alpha, beta)); + current_statement__ = 61; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d, X_p, alpha, beta)); + current_statement__ = 62; + lp_accum__.add(poisson_log_glm_lpmf(y_s_d, X_d, alpha, beta)); + current_statement__ = 63; + lp_accum__.add( + poisson_log_glm_lpmf(y_s_d, X_d, alpha, beta)); + current_statement__ = 64; + lp_accum__.add(poisson_log_glm_lpmf(y_s_d, X_p, alpha, beta)); + current_statement__ = 65; + lp_accum__.add( + poisson_log_glm_lpmf(y_s_d, X_p, alpha, beta)); + current_statement__ = 66; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d, X_rv_d, alpha, beta)); + current_statement__ = 67; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d, X_rv_d, alpha, beta)); + current_statement__ = 68; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d, X_rv_p, alpha, beta)); + current_statement__ = 69; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d, X_rv_p, alpha, beta)); + current_statement__ = 70; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d_td, X_d_td, alpha, beta)); + current_statement__ = 71; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d_td, X_d_td, alpha, beta)); current_statement__ = 72; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 72; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 72; - assign(y2d, y2d_flat__[(pos__ - 1)], - "assigning variable y2d", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 72; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 73; - validate_non_negative_index("y3d", "N", N); - current_statement__ = 74; - validate_non_negative_index("y3d", "N", N); - current_statement__ = 75; - context__.validate_dims("data initialization","y3d","double", - std::vector{static_cast(N), - static_cast(N)}); - y3d = std::vector>(N, Eigen::Matrix(N)); - - - { - std::vector y3d_flat__; - current_statement__ = 75; - y3d_flat__ = context__.vals_r("y3d"); - current_statement__ = 75; - pos__ = 1; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d_td, X_p, alpha, beta)); + current_statement__ = 73; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d_td, X_p, alpha, beta)); + current_statement__ = 74; + lp_accum__.add( + poisson_log_glm_lpmf(y_s_d_td, X_d_td, alpha, beta)); current_statement__ = 75; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 75; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 75; - assign(y3d, y3d_flat__[(pos__ - 1)], - "assigning variable y3d", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 75; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 76; - validate_non_negative_index("y4d", "N", N); - current_statement__ = 77; - validate_non_negative_index("y4d", "N", N); - current_statement__ = 78; - validate_non_negative_index("y4d", "N", N); - current_statement__ = 79; - context__.validate_dims("data initialization","y4d","double", - std::vector{static_cast(N), - static_cast(N), static_cast(N)}); - y4d = std::vector>(N, Eigen::Matrix(N, N)); - - - { - std::vector y4d_flat__; - current_statement__ = 79; - y4d_flat__ = context__.vals_r("y4d"); - current_statement__ = 79; - pos__ = 1; + lp_accum__.add( + poisson_log_glm_lpmf(y_s_d_td, X_d_td, alpha, beta)); + current_statement__ = 76; + lp_accum__.add( + poisson_log_glm_lpmf(y_s_d_td, X_p, alpha, beta)); + current_statement__ = 77; + lp_accum__.add( + poisson_log_glm_lpmf(y_s_d_td, X_p, alpha, beta)); + current_statement__ = 78; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, beta)); current_statement__ = 79; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 79; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 79; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 79; - assign(y4d, y4d_flat__[(pos__ - 1)], - "assigning variable y4d", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 79; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 80; - validate_non_negative_index("y5d", "N", N); - current_statement__ = 81; - validate_non_negative_index("y5d", "N", N); - current_statement__ = 82; - context__.validate_dims("data initialization","y5d","double", - std::vector{static_cast(N), - static_cast(N)}); - y5d = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); - - - { - std::vector y5d_flat__; - current_statement__ = 82; - y5d_flat__ = context__.vals_r("y5d"); - current_statement__ = 82; - pos__ = 1; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, beta)); + current_statement__ = 80; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d_td, X_rv_p, alpha, beta)); + current_statement__ = 81; + lp_accum__.add( + poisson_log_glm_lpmf(y_vi_d_td, X_rv_p, alpha, beta)); current_statement__ = 82; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 82; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 82; - assign(y5d, y5d_flat__[(pos__ - 1)], - "assigning variable y5d", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 82; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 83; - validate_non_negative_index("y6d", "N", N); - current_statement__ = 84; - validate_non_negative_index("y6d", "N", N); - current_statement__ = 85; - validate_non_negative_index("y6d", "N", N); - current_statement__ = 86; - context__.validate_dims("data initialization","y6d","double", - std::vector{static_cast(N), - static_cast(N), static_cast(N)}); - y6d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - - - { - std::vector y6d_flat__; - current_statement__ = 86; - y6d_flat__ = context__.vals_r("y6d"); - current_statement__ = 86; - pos__ = 1; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d, X_d, alpha, beta, phi)); + current_statement__ = 83; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d, X_d, alpha, beta, + phi)); + current_statement__ = 84; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d, X_p, alpha, beta, phi)); + current_statement__ = 85; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d, X_p, alpha, beta, + phi)); current_statement__ = 86; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 86; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 86; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 86; - assign(y6d, y6d_flat__[(pos__ - 1)], - "assigning variable y6d", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 86; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 87; - validate_non_negative_index("y7d", "N", N); - current_statement__ = 88; - validate_non_negative_index("y7d", "N", N); - current_statement__ = 89; - validate_non_negative_index("y7d", "N", N); - current_statement__ = 90; - context__.validate_dims("data initialization","y7d","double", - std::vector{static_cast(N), - static_cast(N), static_cast(N)}); - y7d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - - - { - std::vector y7d_flat__; - current_statement__ = 90; - y7d_flat__ = context__.vals_r("y7d"); - current_statement__ = 90; - pos__ = 1; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_s_d, X_d, alpha, beta, phi)); + current_statement__ = 87; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_s_d, X_d, alpha, beta, phi)); + current_statement__ = 88; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_s_d, X_p, alpha, beta, phi)); + current_statement__ = 89; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_s_d, X_p, alpha, beta, phi)); current_statement__ = 90; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 90; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 90; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 90; - assign(y7d, y7d_flat__[(pos__ - 1)], - "assigning variable y7d", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 90; - pos__ = (pos__ + 1); - } - } - } - } - current_statement__ = 91; - validate_non_negative_index("y8d", "N", N); - current_statement__ = 92; - validate_non_negative_index("y8d", "N", N); - current_statement__ = 93; - validate_non_negative_index("y8d", "N", N); - current_statement__ = 94; - validate_non_negative_index("y8d", "N", N); - current_statement__ = 95; - context__.validate_dims("data initialization","y8d","double", - std::vector{static_cast(N), - static_cast(N), static_cast(N), - static_cast(N)}); - y8d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - - - { - std::vector y8d_flat__; - current_statement__ = 95; - y8d_flat__ = context__.vals_r("y8d"); - current_statement__ = 95; - pos__ = 1; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d, X_rv_d, alpha, beta, + phi)); + current_statement__ = 91; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d, X_rv_d, alpha, beta, + phi)); + current_statement__ = 92; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d, X_rv_p, alpha, beta, + phi)); + current_statement__ = 93; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d, X_rv_p, alpha, beta, + phi)); + current_statement__ = 94; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_d_td, alpha, beta, + phi)); current_statement__ = 95; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 95; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 95; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 95; - for (int sym4__ = 1; sym4__ <= N; ++sym4__) { - current_statement__ = 95; - assign(y8d, y8d_flat__[(pos__ - 1)], - "assigning variable y8d", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 95; - pos__ = (pos__ + 1); - } - } - } - } + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_d_td, alpha, + beta, phi)); + current_statement__ = 96; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_p, alpha, beta, + phi)); + current_statement__ = 97; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_p, alpha, beta, + phi)); + current_statement__ = 98; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_s_d_td, X_d_td, alpha, beta, + phi)); + current_statement__ = 99; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_s_d_td, X_d_td, alpha, + beta, phi)); + current_statement__ = 100; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_s_d_td, X_p, alpha, beta, phi)); + current_statement__ = 101; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_s_d_td, X_p, alpha, beta, + phi)); + current_statement__ = 102; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, + beta, phi)); + current_statement__ = 103; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha, + beta, phi)); + current_statement__ = 104; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_rv_p, alpha, beta, + phi)); + current_statement__ = 105; + lp_accum__.add( + neg_binomial_2_log_glm_lpmf(y_vi_d_td, X_rv_p, alpha, + beta, phi)); + current_statement__ = 106; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_d, beta, cuts)); + current_statement__ = 107; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_d, beta, cuts)); + current_statement__ = 108; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_p, beta, cuts)); + current_statement__ = 109; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_p, beta, cuts)); + current_statement__ = 110; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d_td, X_d_td, beta, cuts)); + current_statement__ = 111; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d_td, X_d_td, beta, cuts)); + current_statement__ = 112; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d_td, X_p, beta, cuts)); + current_statement__ = 113; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d_td, X_p, beta, cuts)); + current_statement__ = 114; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_d, beta, cuts)); + current_statement__ = 115; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_d, beta, cuts)); + current_statement__ = 116; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_p, beta, cuts)); + current_statement__ = 117; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_p, beta, cuts)); + current_statement__ = 118; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d_td, X_d_td, beta, cuts)); + current_statement__ = 119; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d_td, X_d_td, beta, cuts)); + current_statement__ = 120; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d_td, X_p, beta, cuts)); + current_statement__ = 121; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d_td, X_p, beta, cuts)); + current_statement__ = 122; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_rv_d, beta, cuts)); + current_statement__ = 123; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_rv_d, beta, cuts)); + current_statement__ = 124; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_rv_p, beta, cuts)); + current_statement__ = 125; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_s_d, X_rv_p, beta, cuts)); + current_statement__ = 126; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d, X_d, beta, cuts)); + current_statement__ = 127; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d, X_d, beta, cuts)); + current_statement__ = 128; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d, X_p, beta, cuts)); + current_statement__ = 129; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d, X_p, beta, cuts)); + current_statement__ = 130; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d_td, X_d_td, beta, cuts)); + current_statement__ = 131; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d_td, X_d_td, beta, cuts)); + current_statement__ = 132; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d_td, X_p, beta, cuts)); + current_statement__ = 133; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d_td, X_p, beta, cuts)); + current_statement__ = 134; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d, X_rv_d, beta, cuts)); + current_statement__ = 135; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d, X_rv_d, beta, cuts)); + current_statement__ = 136; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d, X_rv_p, beta, cuts)); + current_statement__ = 137; + lp_accum__.add( + ordered_logistic_glm_lpmf(y_vi_d, X_rv_p, beta, cuts)); + current_statement__ = 138; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d, X_d, alpha_v, beta_m)); + current_statement__ = 139; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d, X_d, alpha_v, beta_m)); + current_statement__ = 140; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d, X_p, alpha_v, beta_m)); + current_statement__ = 141; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d, X_p, alpha_v, beta_m)); + current_statement__ = 142; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d_td, X_d_td, alpha_v, + beta_m)); + current_statement__ = 143; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d_td, X_d_td, alpha_v, + beta_m)); + current_statement__ = 144; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d_td, X_p, alpha_v, beta_m)); + current_statement__ = 145; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d_td, X_p, alpha_v, + beta_m)); + current_statement__ = 146; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d, X_rv_d, alpha_v, beta_m)); + current_statement__ = 147; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d, X_rv_d, alpha_v, + beta_m)); + current_statement__ = 148; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d, X_rv_p, alpha_v, beta_m)); + current_statement__ = 149; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d, X_rv_p, alpha_v, + beta_m)); + current_statement__ = 150; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d_td, X_rv_d_td, alpha_v, + beta_m)); + current_statement__ = 151; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d_td, X_rv_d_td, alpha_v, + beta_m)); + current_statement__ = 152; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d_td, X_rv_p, alpha_v, + beta_m)); + current_statement__ = 153; + lp_accum__.add( + categorical_logit_glm_lpmf(y_s_d_td, X_rv_p, alpha_v, + beta_m)); + current_statement__ = 154; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d, X_d, alpha_v, beta_m)); + current_statement__ = 155; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d, X_d, alpha_v, beta_m)); + current_statement__ = 156; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d, X_p, alpha_v, beta_m)); + current_statement__ = 157; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d, X_p, alpha_v, beta_m)); + current_statement__ = 158; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d_td, X_d_td, alpha_v, + beta_m)); + current_statement__ = 159; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d_td, X_d_td, alpha_v, + beta_m)); + current_statement__ = 160; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d_td, X_p, alpha_v, beta_m)); + current_statement__ = 161; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d_td, X_p, alpha_v, + beta_m)); + current_statement__ = 162; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d, X_rv_d, alpha_v, beta_m)); + current_statement__ = 163; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d, X_rv_d, alpha_v, + beta_m)); + current_statement__ = 164; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d, X_rv_p, alpha_v, beta_m)); + current_statement__ = 165; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d, X_rv_p, alpha_v, + beta_m)); + current_statement__ = 166; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha_v, + beta_m)); + current_statement__ = 167; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d_td, X_rv_d_td, alpha_v, + beta_m)); + current_statement__ = 168; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d_td, X_rv_p, alpha_v, + beta_m)); + current_statement__ = 169; + lp_accum__.add( + categorical_logit_glm_lpmf(y_vi_d_td, X_rv_p, alpha_v, + beta_m)); + current_statement__ = 170; + lp_accum__.add( + categorical_logit_glm_lpmf(y2_vi_d, X_rv_p, alpha_v, beta_m)); + current_statement__ = 171; + lp_accum__.add( + categorical_logit_glm_lpmf(y2_vi_d, X_rv_p, alpha_v, + beta_m)); + current_statement__ = 172; + lp_accum__.add( + categorical_logit_glm_lpmf(y2_vi_d_td, X_rv_p, alpha_v, + beta_m)); + current_statement__ = 173; + lp_accum__.add( + categorical_logit_glm_lpmf(y2_vi_d_td, X_rv_p, alpha_v, + beta_m)); + current_statement__ = 174; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d, + rvalue(X_d_a, "X_d_a", index_uni(1)), alpha, beta, sigma)); + current_statement__ = 175; + lp_accum__.add( + normal_id_glm_lpdf(y_v_d, + rvalue(X_d_a, "X_d_a", index_uni(1)), alpha, beta, sigma)); } - current_statement__ = 96; - context__.validate_dims("data initialization","y9d","double", - std::vector{}); - y9d = std::numeric_limits::quiet_NaN(); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "optimize_glm_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + Eigen::Matrix alpha_v; + alpha_v = Eigen::Matrix(k); + stan::math::fill(alpha_v, std::numeric_limits::quiet_NaN()); - current_statement__ = 96; - y9d = context__.vals_r("y9d")[(1 - 1)]; - current_statement__ = 97; - validate_non_negative_index("y10d", "N", N); - current_statement__ = 98; - context__.validate_dims("data initialization","y10d","double", - std::vector{static_cast(N)}); - y10d__ = Eigen::Matrix(N); - new (&y10d) Eigen::Map>(y10d__.data(), N); + current_statement__ = 1; + alpha_v = in__.template read>(k); + Eigen::Matrix beta; + beta = Eigen::Matrix(k); + stan::math::fill(beta, std::numeric_limits::quiet_NaN()); - { - std::vector y10d_flat__; - current_statement__ = 98; - y10d_flat__ = context__.vals_r("y10d"); - current_statement__ = 98; - pos__ = 1; - current_statement__ = 98; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 98; - assign(y10d, y10d_flat__[(pos__ - 1)], - "assigning variable y10d", index_uni(sym1__)); - current_statement__ = 98; - pos__ = (pos__ + 1); - } - } - current_statement__ = 99; - validate_non_negative_index("y11d", "N", N); - current_statement__ = 100; - context__.validate_dims("data initialization","y11d","double", - std::vector{static_cast(N)}); - y11d__ = Eigen::Matrix(N); - new (&y11d) Eigen::Map>(y11d__.data(), N); + current_statement__ = 2; + beta = in__.template read>(k); + Eigen::Matrix cuts; + cuts = Eigen::Matrix(k); + stan::math::fill(cuts, std::numeric_limits::quiet_NaN()); - { - std::vector y11d_flat__; - current_statement__ = 100; - y11d_flat__ = context__.vals_r("y11d"); - current_statement__ = 100; - pos__ = 1; - current_statement__ = 100; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 100; - assign(y11d, y11d_flat__[(pos__ - 1)], - "assigning variable y11d", index_uni(sym1__)); - current_statement__ = 100; - pos__ = (pos__ + 1); - } - } - current_statement__ = 101; - validate_non_negative_index("y12d", "N", N); - current_statement__ = 102; - validate_non_negative_index("y12d", "N", N); - current_statement__ = 103; - context__.validate_dims("data initialization","y12d","double", - std::vector{static_cast(N), - static_cast(N)}); - y12d__ = Eigen::Matrix(N, N); - new (&y12d) Eigen::Map>(y12d__.data(), N, N); + current_statement__ = 3; + cuts = in__.template read>(k); + double sigma; + sigma = std::numeric_limits::quiet_NaN(); + current_statement__ = 4; + sigma = in__.template read_constrain_lb( + 0, lp__); + double alpha; + alpha = std::numeric_limits::quiet_NaN(); - { - std::vector y12d_flat__; - current_statement__ = 103; - y12d_flat__ = context__.vals_r("y12d"); - current_statement__ = 103; - pos__ = 1; - current_statement__ = 103; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 103; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 103; - assign(y12d, y12d_flat__[(pos__ - 1)], - "assigning variable y12d", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 103; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 104; - context__.validate_dims("data initialization","y13d","int", - std::vector{}); - y13d = std::numeric_limits::min(); + current_statement__ = 5; + alpha = in__.template read(); + double phi; + phi = std::numeric_limits::quiet_NaN(); - current_statement__ = 104; - y13d = context__.vals_i("y13d")[(1 - 1)]; - current_statement__ = 105; - validate_non_negative_index("y14d", "N", N); - current_statement__ = 106; - context__.validate_dims("data initialization","y14d","int", - std::vector{static_cast(N)}); - y14d = std::vector(N, std::numeric_limits::min()); + current_statement__ = 6; + phi = in__.template read(); + Eigen::Matrix X_p; + X_p = Eigen::Matrix(n, k); + stan::math::fill(X_p, std::numeric_limits::quiet_NaN()); - current_statement__ = 106; - y14d = context__.vals_i("y14d"); - current_statement__ = 107; - validate_non_negative_index("y15d", "N", N); - current_statement__ = 108; - validate_non_negative_index("y15d", "N", N); - current_statement__ = 109; - context__.validate_dims("data initialization","y15d","int", - std::vector{static_cast(N), - static_cast(N)}); - y15d = std::vector>(N, std::vector(N, std::numeric_limits::min())); + current_statement__ = 7; + X_p = in__.template read>(n, k); + Eigen::Matrix beta_m; + beta_m = Eigen::Matrix(n, k); + stan::math::fill(beta_m, std::numeric_limits::quiet_NaN()); + current_statement__ = 8; + beta_m = in__.template read>(n, + k); + Eigen::Matrix X_rv_p; + X_rv_p = Eigen::Matrix(n); + stan::math::fill(X_rv_p, std::numeric_limits::quiet_NaN()); - { - std::vector y15d_flat__; - current_statement__ = 109; - y15d_flat__ = context__.vals_i("y15d"); - current_statement__ = 109; - pos__ = 1; - current_statement__ = 109; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 109; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 109; - assign(y15d, y15d_flat__[(pos__ - 1)], - "assigning variable y15d", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 109; - pos__ = (pos__ + 1); - } - } - } - current_statement__ = 110; - validate_non_negative_index("y16d", "N", N); - current_statement__ = 111; - validate_non_negative_index("y16d", "N", N); - current_statement__ = 112; - validate_non_negative_index("y16d", "N", N); - current_statement__ = 113; - context__.validate_dims("data initialization","y16d","int", - std::vector{static_cast(N), - static_cast(N), static_cast(N)}); - y16d = std::vector>>(N, std::vector>(N, std::vector(N, std::numeric_limits::min()))); + current_statement__ = 9; + X_rv_p = in__.template read>(n); + 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 ; + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // 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; + Eigen::Matrix alpha_v; + alpha_v = Eigen::Matrix(k); + stan::math::fill(alpha_v, DUMMY_VAR__); - { - std::vector y16d_flat__; - current_statement__ = 113; - y16d_flat__ = context__.vals_i("y16d"); - current_statement__ = 113; - pos__ = 1; - current_statement__ = 113; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 113; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 113; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 113; - assign(y16d, y16d_flat__[(pos__ - 1)], - "assigning variable y16d", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 113; - pos__ = (pos__ + 1); - } - } - } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + assign(alpha_v, in__.read(), + "assigning variable alpha_v", index_uni(sym1__)); } - current_statement__ = 114; - validate_non_negative_index("y17d", "N", N); - current_statement__ = 115; - validate_non_negative_index("y17d", "N", N); - current_statement__ = 116; - validate_non_negative_index("y17d", "N", N); - current_statement__ = 117; - context__.validate_dims("data initialization","y17d","double", - std::vector{static_cast(N), - static_cast(N), static_cast(N)}); - y17d = std::vector>>(N, std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN()))); - + out__.write(alpha_v); + Eigen::Matrix beta; + beta = Eigen::Matrix(k); + stan::math::fill(beta, DUMMY_VAR__); - { - std::vector y17d_flat__; - current_statement__ = 117; - y17d_flat__ = context__.vals_r("y17d"); - current_statement__ = 117; - pos__ = 1; - current_statement__ = 117; - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - current_statement__ = 117; - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - current_statement__ = 117; - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - current_statement__ = 117; - assign(y17d, y17d_flat__[(pos__ - 1)], - "assigning variable y17d", index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - current_statement__ = 117; - pos__ = (pos__ + 1); - } - } - } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + assign(beta, in__.read(), + "assigning variable beta", index_uni(sym1__)); } - current_statement__ = 118; - td1 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 118; - td1 = reduce_sum(y1d, 1, pstream__); - current_statement__ = 119; - td1a = std::numeric_limits::quiet_NaN(); - - current_statement__ = 119; - td1a = (reduce_sum(y1d, 1, pstream__) + - reduce_sum(y1d, 1, pstream__)); - current_statement__ = 120; - td2 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 120; - td2 = reduce_sum(y2d, 1, pstream__); - current_statement__ = 121; - td3 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 121; - td3 = reduce_sum(y3d, 1, pstream__); - current_statement__ = 122; - td4 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 122; - td4 = reduce_sum(y4d, 1, pstream__); - current_statement__ = 123; - td5 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 123; - td5 = reduce_sum(y5d, 1, pstream__); - current_statement__ = 124; - td6 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 124; - td6 = reduce_sum(y6d, 1, pstream__); - current_statement__ = 125; - td7 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 125; - td7 = reduce_sum(y7d, 1, pstream__); - current_statement__ = 126; - td8 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 126; - td8 = reduce_sum(y8d, 1, pstream__); - current_statement__ = 127; - td9 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 127; - td9 = reduce_sum(y14d, 1, pstream__); - current_statement__ = 128; - td10 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 128; - td10 = reduce_sum(y15d, 1, pstream__); - current_statement__ = 129; - td11 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 129; - td11 = reduce_sum(y16d, 1, pstream__); - current_statement__ = 130; - td12 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 130; - td12 = reduce_sum(y17d, 1, pstream__); - current_statement__ = 131; - tgd1 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 131; - tgd1 = reduce_sum(y1d, 1, pstream__, y9d); - current_statement__ = 132; - tgd2 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 132; - tgd2 = reduce_sum(y1d, 1, pstream__, y10d); - current_statement__ = 133; - tgd3 = std::numeric_limits::quiet_NaN(); + out__.write(beta); + Eigen::Matrix cuts; + cuts = Eigen::Matrix(k); + stan::math::fill(cuts, DUMMY_VAR__); - current_statement__ = 133; - tgd3 = reduce_sum(y1d, 1, pstream__, y11d); - current_statement__ = 134; - tgd4 = std::numeric_limits::quiet_NaN(); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + assign(cuts, in__.read(), + "assigning variable cuts", index_uni(sym1__)); + } + out__.write(cuts); + local_scalar_t__ sigma; + sigma = DUMMY_VAR__; - current_statement__ = 134; - tgd4 = reduce_sum(y1d, 1, pstream__, y12d); - current_statement__ = 135; - tgd5 = std::numeric_limits::quiet_NaN(); + sigma = in__.read(); + out__.write_free_lb(0, sigma); + local_scalar_t__ alpha; + alpha = DUMMY_VAR__; - current_statement__ = 135; - tgd5 = reduce_sum(y1d, 1, pstream__, y1d); - current_statement__ = 136; - tgd6 = std::numeric_limits::quiet_NaN(); + alpha = in__.read(); + out__.write(alpha); + local_scalar_t__ phi; + phi = DUMMY_VAR__; - current_statement__ = 136; - tgd6 = reduce_sum(y1d, 1, pstream__, y2d); - current_statement__ = 137; - tgd7 = 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__); - current_statement__ = 137; - tgd7 = reduce_sum(y1d, 1, pstream__, y3d); - current_statement__ = 138; - tgd8 = std::numeric_limits::quiet_NaN(); + 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__)); + } + } + out__.write(X_p); + Eigen::Matrix beta_m; + beta_m = Eigen::Matrix(n, k); + stan::math::fill(beta_m, DUMMY_VAR__); - current_statement__ = 138; - tgd8 = reduce_sum(y1d, 1, pstream__, y4d); - current_statement__ = 139; - tgd9 = std::numeric_limits::quiet_NaN(); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + for (int sym2__ = 1; sym2__ <= n; ++sym2__) { + 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__); - current_statement__ = 139; - tgd9 = reduce_sum(y1d, 1, pstream__, y5d); - current_statement__ = 140; - tgd10 = std::numeric_limits::quiet_NaN(); + for (int sym1__ = 1; sym1__ <= n; ++sym1__) { + 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__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"alpha_v", "beta", "cuts", "sigma", + "alpha", "phi", "X_p", "beta_m", "X_rv_p"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{ + static_cast(k) + }, + std::vector{static_cast(k)}, + std::vector{static_cast(k)}, std::vector{ + }, std::vector{}, std::vector{}, + std::vector{static_cast(n), static_cast(k)}, + std::vector{static_cast(n), static_cast(k)}, + 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__ <= k; ++sym1__) { + { + param_names__.emplace_back(std::string() + "alpha_v" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + { + param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + { + param_names__.emplace_back(std::string() + "cuts" + '.' + std::to_string(sym1__)); + } + } + param_names__.emplace_back(std::string() + "sigma"); + param_names__.emplace_back(std::string() + "alpha"); + param_names__.emplace_back(std::string() + "phi"); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= n; ++sym2__) { + { + param_names__.emplace_back(std::string() + "X_p" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= n; ++sym2__) { + { + param_names__.emplace_back(std::string() + "beta_m" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= n; ++sym1__) { + { + param_names__.emplace_back(std::string() + "X_rv_p" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { - current_statement__ = 140; - tgd10 = reduce_sum(y1d, 1, pstream__, y6d); - current_statement__ = 141; - tgd11 = std::numeric_limits::quiet_NaN(); + } + + if (emit_generated_quantities__) { - current_statement__ = 141; - tgd11 = reduce_sum(y1d, 1, pstream__, y7d); - current_statement__ = 142; - tgd12 = std::numeric_limits::quiet_NaN(); + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + { + param_names__.emplace_back(std::string() + "alpha_v" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + { + param_names__.emplace_back(std::string() + "beta" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + { + param_names__.emplace_back(std::string() + "cuts" + '.' + std::to_string(sym1__)); + } + } + param_names__.emplace_back(std::string() + "sigma"); + param_names__.emplace_back(std::string() + "alpha"); + param_names__.emplace_back(std::string() + "phi"); + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= n; ++sym2__) { + { + param_names__.emplace_back(std::string() + "X_p" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= k; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= n; ++sym2__) { + { + param_names__.emplace_back(std::string() + "beta_m" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= n; ++sym1__) { + { + param_names__.emplace_back(std::string() + "X_rv_p" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { - current_statement__ = 142; - tgd12 = reduce_sum(y1d, 1, pstream__, y8d); - current_statement__ = 143; - tsd = std::numeric_limits::quiet_NaN(); + } + + if (emit_generated_quantities__) { - current_statement__ = 143; - tsd = reduce_sum(y1d, 1, pstream__, y13d, y9d, y10d, - y11d, y12d, y14d, y1d, y2d, y3d, y4d, y15d, y5d, y6d, y7d, y8d, - y16d, y17d); - current_statement__ = 144; - validate_non_negative_index("y1", "N", N); - current_statement__ = 145; - validate_non_negative_index("y2", "N", N); - current_statement__ = 146; - validate_non_negative_index("y2", "N", N); - current_statement__ = 147; - validate_non_negative_index("y3", "N", N); - current_statement__ = 148; - validate_non_negative_index("y3", "N", N); - current_statement__ = 149; - validate_non_negative_index("y4", "N", N); - current_statement__ = 150; - validate_non_negative_index("y4", "N", N); - current_statement__ = 151; - validate_non_negative_index("y4", "N", N); - current_statement__ = 152; - validate_non_negative_index("y5", "N", N); - current_statement__ = 153; - validate_non_negative_index("y5", "N", N); - current_statement__ = 154; - validate_non_negative_index("y6", "N", N); - current_statement__ = 155; - validate_non_negative_index("y6", "N", N); - current_statement__ = 156; - validate_non_negative_index("y6", "N", N); - current_statement__ = 157; - validate_non_negative_index("y7", "N", N); - current_statement__ = 158; - validate_non_negative_index("y7", "N", N); - current_statement__ = 159; - validate_non_negative_index("y7", "N", N); - current_statement__ = 160; - validate_non_negative_index("y8", "N", N); - current_statement__ = 161; - validate_non_negative_index("y8", "N", N); - current_statement__ = 162; - validate_non_negative_index("y8", "N", N); - current_statement__ = 163; - validate_non_negative_index("y8", "N", N); - current_statement__ = 164; - validate_non_negative_index("y10", "N", N); - current_statement__ = 165; - validate_non_negative_index("y11", "N", N); - current_statement__ = 166; - validate_non_negative_index("y12", "N", N); - current_statement__ = 167; - validate_non_negative_index("y12", "N", N); - current_statement__ = 168; - validate_non_negative_index("y17", "N", N); - current_statement__ = 169; - validate_non_negative_index("y17", "N", N); - current_statement__ = 170; - validate_non_negative_index("y17", "N", N); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); } - num_params_r__ = 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); + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"alpha_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"beta\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"cuts\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"sigma\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"alpha\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"phi\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"X_p\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(n) + ",\"cols\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"beta_m\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(n) + ",\"cols\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"X_rv_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(n) + "},\"block\":\"parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"alpha_v\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"beta\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"cuts\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"sigma\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"alpha\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"phi\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"X_p\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(n) + ",\"cols\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"beta_m\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(n) + ",\"cols\":" + std::to_string(k) + "},\"block\":\"parameters\"},{\"name\":\"X_rv_p\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(n) + "},\"block\":\"parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"alpha_v", "beta", "cuts", + "sigma", "alpha", "phi", "X_p", "beta_m", "X_rv_p"}; + const std::array constrain_param_sizes__{k, k, + k, 1, 1, 1, (n * k), (n * k), n}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = optimize_glm_model_namespace::optimize_glm_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return optimize_glm_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../install/default/bin/stanc --print-cpp param-constraint.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace param_constraint_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'param-constraint.stan', line 7, column 2 to column 38)", + " (in 'param-constraint.stan', line 8, column 2 to column 38)", + " (in 'param-constraint.stan', line 2, column 2 to column 9)", + " (in 'param-constraint.stan', line 3, column 2 to column 9)", + " (in 'param-constraint.stan', line 7, column 34 to column 36)", + " (in 'param-constraint.stan', line 8, column 31 to column 33)"}; + + + +class param_constraint_model final : public model_base_crtp { + + private: + int nt; + int NS; + + + public: + ~param_constraint_model() { } + + inline std::string model_name() const final { return "param_constraint_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; } - 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__); + + param_constraint_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "param_constraint_model_namespace::param_constraint_model"; + (void) function__; // suppress unused var warning local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning - static constexpr const char* function__ = "reduce_sum_m3_model_namespace::log_prob"; - (void) function__; // suppress unused var warning - try { - std::vector y1; - y1 = std::vector(N, DUMMY_VAR__); - - current_statement__ = 1; - y1 = in__.template read>(N); - std::vector> y2; - y2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y2, DUMMY_VAR__); - - current_statement__ = 2; - y2 = in__.template read>>( - N, N); - std::vector> y3; - y3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y3, DUMMY_VAR__); + int pos__; + pos__ = std::numeric_limits::min(); + pos__ = 1; current_statement__ = 3; - y3 = in__.template read>>( - N, N); - std::vector> y4; - y4 = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(y4, DUMMY_VAR__); + context__.validate_dims("data initialization","nt","int", + std::vector{}); + nt = std::numeric_limits::min(); + current_statement__ = 3; + nt = context__.vals_i("nt")[(1 - 1)]; current_statement__ = 4; - y4 = in__.template read>>( - N, N, N); - std::vector> y5; - y5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); - + context__.validate_dims("data initialization","NS","int", + std::vector{}); + NS = std::numeric_limits::min(); + current_statement__ = 4; + NS = context__.vals_i("NS")[(1 - 1)]; current_statement__ = 5; - y5 = in__.template read>>(N, - N); - std::vector>> y6; - y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y6, DUMMY_VAR__); - + validate_non_negative_index("L_Omega", "nt", nt); current_statement__ = 6; - y6 = in__.template read>>>( - N, N, N); - std::vector>> y7; - y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y7, DUMMY_VAR__); - - current_statement__ = 7; - y7 = in__.template read>>>( - N, N, N); - std::vector>> y8; - y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(y8, DUMMY_VAR__); - - current_statement__ = 8; - y8 = in__.template read>>>( - N, N, N, N); - local_scalar_t__ y9; - y9 = DUMMY_VAR__; - - current_statement__ = 9; - y9 = in__.template read(); - Eigen::Matrix y10; - y10 = Eigen::Matrix(N); - stan::math::fill(y10, DUMMY_VAR__); - - current_statement__ = 10; - y10 = in__.template read>(N); - Eigen::Matrix y11; - y11 = Eigen::Matrix(N); - stan::math::fill(y11, DUMMY_VAR__); - - current_statement__ = 11; - y11 = in__.template read>(N); - Eigen::Matrix y12; - y12 = Eigen::Matrix(N, N); - stan::math::fill(y12, DUMMY_VAR__); - - current_statement__ = 12; - y12 = in__.template read>(N, N); - std::vector>> y17; - y17 = std::vector>>(N, std::vector>(N, std::vector(N, DUMMY_VAR__))); - - - current_statement__ = 13; - y17 = in__.template read>>>( - N, N, N); - { - local_scalar_t__ t1; - t1 = DUMMY_VAR__; - - current_statement__ = 40; - t1 = reduce_sum(y1, 1, pstream__); - local_scalar_t__ t1a; - t1a = DUMMY_VAR__; - - current_statement__ = 41; - t1a = (reduce_sum(y1, 1, pstream__) + - reduce_sum(y1, 1, pstream__)); - local_scalar_t__ t2; - t2 = DUMMY_VAR__; - - current_statement__ = 42; - t2 = reduce_sum(y2, 1, pstream__); - local_scalar_t__ t3; - t3 = DUMMY_VAR__; - - current_statement__ = 43; - t3 = reduce_sum(y3, 1, pstream__); - local_scalar_t__ t4; - t4 = DUMMY_VAR__; - - current_statement__ = 44; - t4 = reduce_sum(y4, 1, pstream__); - local_scalar_t__ t5; - t5 = DUMMY_VAR__; - - current_statement__ = 45; - t5 = reduce_sum(y5, 1, pstream__); - local_scalar_t__ t6; - t6 = DUMMY_VAR__; - - current_statement__ = 46; - t6 = reduce_sum(y6, 1, pstream__); - local_scalar_t__ t7; - t7 = DUMMY_VAR__; - - current_statement__ = 47; - t7 = reduce_sum(y7, 1, pstream__); - local_scalar_t__ t8; - t8 = DUMMY_VAR__; - - current_statement__ = 48; - t8 = reduce_sum(y8, 1, pstream__); - local_scalar_t__ t9; - t9 = DUMMY_VAR__; - - current_statement__ = 49; - t9 = reduce_sum(y14d, 1, pstream__); - local_scalar_t__ t10; - t10 = DUMMY_VAR__; - - current_statement__ = 50; - t10 = reduce_sum(y15d, 1, pstream__); - local_scalar_t__ t11; - t11 = DUMMY_VAR__; - - current_statement__ = 51; - t11 = reduce_sum(y16d, 1, pstream__); - local_scalar_t__ t12; - t12 = DUMMY_VAR__; - - current_statement__ = 52; - t12 = reduce_sum(y17, 1, pstream__); - local_scalar_t__ tg1; - tg1 = DUMMY_VAR__; - - current_statement__ = 53; - tg1 = reduce_sum(y1, 1, pstream__, y9); - local_scalar_t__ tg2; - tg2 = DUMMY_VAR__; - - current_statement__ = 54; - tg2 = reduce_sum(y1, 1, pstream__, y10); - local_scalar_t__ tg3; - tg3 = DUMMY_VAR__; - - current_statement__ = 55; - tg3 = reduce_sum(y1, 1, pstream__, y11); - local_scalar_t__ tg4; - tg4 = DUMMY_VAR__; - - current_statement__ = 56; - tg4 = reduce_sum(y1, 1, pstream__, y12); - local_scalar_t__ tg5; - tg5 = DUMMY_VAR__; - - current_statement__ = 57; - tg5 = reduce_sum(y1, 1, pstream__, y1); - local_scalar_t__ tg6; - tg6 = DUMMY_VAR__; - - current_statement__ = 58; - tg6 = reduce_sum(y1, 1, pstream__, y2); - local_scalar_t__ tg7; - tg7 = DUMMY_VAR__; - - current_statement__ = 59; - tg7 = reduce_sum(y1, 1, pstream__, y3); - local_scalar_t__ tg8; - tg8 = DUMMY_VAR__; - - current_statement__ = 60; - tg8 = reduce_sum(y1, 1, pstream__, y4); - local_scalar_t__ tg9; - tg9 = DUMMY_VAR__; - - current_statement__ = 61; - tg9 = reduce_sum(y1, 1, pstream__, y5); - local_scalar_t__ tg10; - tg10 = DUMMY_VAR__; - - current_statement__ = 62; - tg10 = reduce_sum(y1, 1, pstream__, y6); - local_scalar_t__ tg11; - tg11 = DUMMY_VAR__; - - current_statement__ = 63; - tg11 = reduce_sum(y1, 1, pstream__, y7); - local_scalar_t__ tg12; - tg12 = DUMMY_VAR__; - - current_statement__ = 64; - tg12 = reduce_sum(y1, 1, pstream__, y8); - local_scalar_t__ ts; - ts = DUMMY_VAR__; - - current_statement__ = 65; - ts = reduce_sum(y1d, 1, pstream__, y13d, y9, y10, y11, - y12, y14d, y1, y2, y3, y4, y15d, y5, y6, y7, y8, y16d, y17); - local_scalar_t__ tt; - tt = DUMMY_VAR__; - - current_statement__ = 66; - tt = r(pstream__); - } + validate_non_negative_index("z1", "NS", NS); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = (nt * ((2 * (2 - 1)) / 2)) + NS; + + } + + 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__ = "param_constraint_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + std::vector> L_Omega; + L_Omega = std::vector>(nt, Eigen::Matrix(2, 2)); + stan::math::fill(L_Omega, DUMMY_VAR__); + + current_statement__ = 1; + L_Omega = in__.template read_constrain_cholesky_factor_corr>, jacobian__>( + lp__, nt, 2); + Eigen::Matrix z1; + z1 = Eigen::Matrix(NS); + stan::math::fill(z1, DUMMY_VAR__); + + current_statement__ = 2; + z1 = in__.template read_constrain_lb, jacobian__>( + rvalue(L_Omega, "L_Omega", + index_uni(1), index_uni(1), index_uni(2)), lp__, NS); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } @@ -28644,156 +23186,35 @@ class reduce_sum_m3_model final : public model_base_crtp { 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__ = "reduce_sum_m3_model_namespace::write_array"; + static constexpr const char* function__ = "param_constraint_model_namespace::write_array"; (void) function__; // suppress unused var warning try { - std::vector y1; - y1 = std::vector(N, std::numeric_limits::quiet_NaN()); + std::vector> L_Omega; + L_Omega = std::vector>(nt, Eigen::Matrix(2, 2)); + stan::math::fill(L_Omega, std::numeric_limits::quiet_NaN()); current_statement__ = 1; - y1 = in__.template read>(N); - std::vector> y2; - y2 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y2, std::numeric_limits::quiet_NaN()); + L_Omega = in__.template read_constrain_cholesky_factor_corr>, jacobian__>( + lp__, nt, 2); + Eigen::Matrix z1; + z1 = Eigen::Matrix(NS); + stan::math::fill(z1, std::numeric_limits::quiet_NaN()); current_statement__ = 2; - y2 = in__.template read>>( - N, N); - std::vector> y3; - y3 = std::vector>(N, Eigen::Matrix(N)); - stan::math::fill(y3, std::numeric_limits::quiet_NaN()); - - current_statement__ = 3; - y3 = in__.template read>>( - N, N); - std::vector> y4; - y4 = std::vector>(N, Eigen::Matrix(N, N)); - stan::math::fill(y4, std::numeric_limits::quiet_NaN()); - - current_statement__ = 4; - y4 = in__.template read>>( - N, N, N); - std::vector> y5; - y5 = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); - - - current_statement__ = 5; - y5 = in__.template read>>(N, - N); - std::vector>> y6; - y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y6, std::numeric_limits::quiet_NaN()); - - current_statement__ = 6; - y6 = in__.template read>>>( - N, N, N); - std::vector>> y7; - y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); - stan::math::fill(y7, std::numeric_limits::quiet_NaN()); - - current_statement__ = 7; - y7 = in__.template read>>>( - N, N, N); - std::vector>> y8; - y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); - stan::math::fill(y8, std::numeric_limits::quiet_NaN()); - - current_statement__ = 8; - y8 = in__.template read>>>( - N, N, N, N); - double y9; - y9 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 9; - y9 = in__.template read(); - Eigen::Matrix y10; - y10 = Eigen::Matrix(N); - stan::math::fill(y10, std::numeric_limits::quiet_NaN()); - - current_statement__ = 10; - y10 = in__.template read>(N); - Eigen::Matrix y11; - y11 = Eigen::Matrix(N); - stan::math::fill(y11, std::numeric_limits::quiet_NaN()); - - current_statement__ = 11; - y11 = in__.template read>(N); - Eigen::Matrix y12; - y12 = Eigen::Matrix(N, N); - stan::math::fill(y12, std::numeric_limits::quiet_NaN()); - - current_statement__ = 12; - y12 = in__.template read>(N, N); - std::vector>> y17; - y17 = std::vector>>(N, std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN()))); - - - current_statement__ = 13; - y17 = in__.template read>>>( - N, N, N); - out__.write(y1); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(y2[(sym2__ - 1)][(sym1__ - 1)]); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(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__) { + z1 = in__.template read_constrain_lb, 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__) { out__.write( - rvalue(y4, "y4", + rvalue(L_Omega, "L_Omega", index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); } } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - out__.write(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__) { - out__.write(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__) { - out__.write(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__) { - out__.write( - rvalue(y8, "y8", - index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__))); - } - } - } - } - out__.write(y9); - out__.write(y10); - out__.write(y11); - out__.write(y12); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - out__.write(y17[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); - } - } - } + out__.write(z1); if (logical_negation((primitive_value(emit_transformed_parameters__) || primitive_value(emit_generated_quantities__)))) { return ; @@ -28801,165 +23222,6 @@ class reduce_sum_m3_model final : public model_base_crtp { if (logical_negation(emit_generated_quantities__)) { return ; } - double t1; - t1 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 14; - t1 = reduce_sum(y1, 1, pstream__); - double t1a; - t1a = std::numeric_limits::quiet_NaN(); - - current_statement__ = 15; - t1a = (reduce_sum(y1, 1, pstream__) + - reduce_sum(y1, 1, pstream__)); - double t2; - t2 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 16; - t2 = reduce_sum(y2, 1, pstream__); - double t3; - t3 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 17; - t3 = reduce_sum(y3, 1, pstream__); - double t4; - t4 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 18; - t4 = reduce_sum(y4, 1, pstream__); - double t5; - t5 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 19; - t5 = reduce_sum(y5, 1, pstream__); - double t6; - t6 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 20; - t6 = reduce_sum(y6, 1, pstream__); - double t7; - t7 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 21; - t7 = reduce_sum(y7, 1, pstream__); - double t8; - t8 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 22; - t8 = reduce_sum(y8, 1, pstream__); - double t9; - t9 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 23; - t9 = reduce_sum(y14d, 1, pstream__); - double t10; - t10 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 24; - t10 = reduce_sum(y15d, 1, pstream__); - double t11; - t11 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 25; - t11 = reduce_sum(y16d, 1, pstream__); - double t12; - t12 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 26; - t12 = reduce_sum(y17, 1, pstream__); - double tg1; - tg1 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 27; - tg1 = reduce_sum(y1, 1, pstream__, y9); - double tg2; - tg2 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 28; - tg2 = reduce_sum(y1, 1, pstream__, y10); - double tg3; - tg3 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 29; - tg3 = reduce_sum(y1, 1, pstream__, y11); - double tg4; - tg4 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 30; - tg4 = reduce_sum(y1, 1, pstream__, y12); - double tg5; - tg5 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 31; - tg5 = reduce_sum(y1, 1, pstream__, y1); - double tg6; - tg6 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 32; - tg6 = reduce_sum(y1, 1, pstream__, y2); - double tg7; - tg7 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 33; - tg7 = reduce_sum(y1, 1, pstream__, y3); - double tg8; - tg8 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 34; - tg8 = reduce_sum(y1, 1, pstream__, y4); - double tg9; - tg9 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 35; - tg9 = reduce_sum(y1, 1, pstream__, y5); - double tg10; - tg10 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 36; - tg10 = reduce_sum(y1, 1, pstream__, y6); - double tg11; - tg11 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 37; - tg11 = reduce_sum(y1, 1, pstream__, y7); - double tg12; - tg12 = std::numeric_limits::quiet_NaN(); - - current_statement__ = 38; - tg12 = reduce_sum(y1, 1, pstream__, y8); - double tgs; - tgs = std::numeric_limits::quiet_NaN(); - - current_statement__ = 39; - tgs = reduce_sum(y1d, 1, pstream__, y13d, y9d, y10d, - y11d, y12d, y14d, y1d, y2d, y3d, y4d, y15d, y5d, y6d, y7d, y8d, - y16d, y17); - 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__]); } @@ -28982,152 +23244,32 @@ class reduce_sum_m3_model final : public model_base_crtp { pos__ = std::numeric_limits::min(); pos__ = 1; - std::vector y1; - y1 = std::vector(N, DUMMY_VAR__); - - 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__); - - 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__)); - } - } - out__.write(y2); - 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__) { - assign(y3, in__.read(), - "assigning variable y3", index_uni(sym2__), index_uni(sym1__)); - } - } - out__.write(y3); - 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__) { - assign(y4, in__.read(), - "assigning variable y4", index_uni(sym3__), index_uni(sym2__), - index_uni(sym1__)); - } - } - } - out__.write(y4); - 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__) { - y5[(sym2__ - 1)][(sym1__ - 1)] = in__.read(); - } - } - out__.write(y5); - 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__) { - 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__) { - 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__); + std::vector> L_Omega; + L_Omega = std::vector>(nt, Eigen::Matrix(2, 2)); + stan::math::fill(L_Omega, 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__) { - assign(y8, in__.read(), - "assigning variable y8", index_uni(sym4__), - index_uni(sym3__), - index_uni(sym2__), - index_uni(sym1__)); - } + 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__)); } } } - 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__) { - 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__) { - 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__) { - 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__))); - + out__.write_free_cholesky_factor_corr(L_Omega); + Eigen::Matrix z1; + z1 = Eigen::Matrix(NS); + stan::math::fill(z1, DUMMY_VAR__); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { - y17[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)] = in__.read( - ); - } - } + for (int sym1__ = 1; sym1__ <= NS; ++sym1__) { + assign(z1, in__.read(), + "assigning variable z1", index_uni(sym1__)); } - out__.write(y17); + 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__]); } @@ -29135,44 +23277,20 @@ class reduce_sum_m3_model final : public model_base_crtp { inline void get_param_names(std::vector& names__) const { - names__ = std::vector{"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"}; + names__ = std::vector{"L_Omega", "z1"}; } // get_param_names() inline void get_dims(std::vector>& dimss__) const { dimss__ = std::vector>{std::vector{ - static_cast(N) + static_cast(nt) + , + static_cast(2) + , + static_cast(2) }, - std::vector{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), - 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), static_cast(N)}, - std::vector{}, std::vector{static_cast(N)}, - std::vector{static_cast(N)}, - std::vector{static_cast(N), static_cast(N)}, - std::vector{static_cast(N), static_cast(N), - static_cast(N)}, std::vector{ - }, std::vector{}, std::vector{}, std::vector{ - }, std::vector{}, std::vector{}, std::vector{ - }, std::vector{}, std::vector{}, std::vector{ - }, std::vector{}, std::vector{}, std::vector{ - }, std::vector{}, std::vector{}, std::vector{ - }, std::vector{}, std::vector{}, std::vector{ - }, std::vector{}, std::vector{}, std::vector{ - }, std::vector{}, std::vector{}, std::vector{ - }, std::vector{}}; + std::vector{static_cast(NS)}}; } // get_dims() @@ -29182,333 +23300,408 @@ class reduce_sum_m3_model final : public model_base_crtp { bool emit_generated_quantities__ = true) const final { - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y2" + '.' + 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() + "y3" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { { - for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + for (int sym3__ = 1; sym3__ <= nt; ++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() + "L_Omega" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } } } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= NS; ++sym1__) { { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y5" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } + param_names__.emplace_back(std::string() + "z1" + '.' + 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__)); - } - } - } - } - } + if (emit_transformed_parameters__) { + } - 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__)); - } - } - } - } - } + + if (emit_generated_quantities__) { + } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + for (int sym1__ = 1; sym1__ <= ((2 * (2 - 1)) / 2); ++sym1__) { { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + for (int sym2__ = 1; sym2__ <= nt; ++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__)); - } - } - } - } + param_names__.emplace_back(std::string() + "L_Omega" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); } } } } - param_names__.emplace_back(std::string() + "y9"); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym1__ = 1; sym1__ <= NS; ++sym1__) { { - param_names__.emplace_back(std::string() + "y10" + '.' + std::to_string(sym1__)); + param_names__.emplace_back(std::string() + "z1" + '.' + std::to_string(sym1__)); } } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y11" + '.' + std::to_string(sym1__)); - } + if (emit_transformed_parameters__) { + } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y12" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } + + if (emit_generated_quantities__) { + } - 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() + "y17" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"L_Omega\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(nt) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(2) + ",\"cols\":" + std::to_string(2) + "}},\"block\":\"parameters\"},{\"name\":\"z1\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(NS) + "},\"block\":\"parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"L_Omega\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(nt) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(((2 * (2 - 1)) / 2)) + "}},\"block\":\"parameters\"},{\"name\":\"z1\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(NS) + "},\"block\":\"parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); } - if (emit_transformed_parameters__) { + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = + (((nt * 2) * 2) + NS); + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"L_Omega", "z1"}; + const std::array constrain_param_sizes__{(nt * 2 * 2), + NS}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = param_constraint_model_namespace::param_constraint_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return param_constraint_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../install/default/bin/stanc --print-cpp print_unicode.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace print_unicode_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'print_unicode.stan', line 2, column 2 to column 24)", + " (in 'print_unicode.stan', line 3, column 2 to column 23)"}; + + + +class print_unicode_model final : public model_base_crtp { + + private: + + + + public: + ~print_unicode_model() { } + + inline std::string model_name() const final { return "print_unicode_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + print_unicode_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "print_unicode_model_namespace::print_unicode_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + pos__ = 1; + current_statement__ = 1; + if (pstream__) { + stan_print(pstream__, "test: \320\211\360\237\230\203"); + stan_print(pstream__, "\n"); + } + current_statement__ = 2; + if (pstream__) { + stan_print(pstream__, "\316\273 \316\262 \316\266 \317\200"); + stan_print(pstream__, "\n"); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); } + num_params_r__ = 0U; - if (emit_generated_quantities__) { - param_names__.emplace_back(std::string() + "t1"); - param_names__.emplace_back(std::string() + "t1a"); - param_names__.emplace_back(std::string() + "t2"); - param_names__.emplace_back(std::string() + "t3"); - param_names__.emplace_back(std::string() + "t4"); - param_names__.emplace_back(std::string() + "t5"); - param_names__.emplace_back(std::string() + "t6"); - param_names__.emplace_back(std::string() + "t7"); - param_names__.emplace_back(std::string() + "t8"); - param_names__.emplace_back(std::string() + "t9"); - param_names__.emplace_back(std::string() + "t10"); - param_names__.emplace_back(std::string() + "t11"); - param_names__.emplace_back(std::string() + "t12"); - param_names__.emplace_back(std::string() + "tg1"); - param_names__.emplace_back(std::string() + "tg2"); - param_names__.emplace_back(std::string() + "tg3"); - param_names__.emplace_back(std::string() + "tg4"); - param_names__.emplace_back(std::string() + "tg5"); - param_names__.emplace_back(std::string() + "tg6"); - param_names__.emplace_back(std::string() + "tg7"); - param_names__.emplace_back(std::string() + "tg8"); - param_names__.emplace_back(std::string() + "tg9"); - param_names__.emplace_back(std::string() + "tg10"); - param_names__.emplace_back(std::string() + "tg11"); - param_names__.emplace_back(std::string() + "tg12"); - param_names__.emplace_back(std::string() + "tgs"); - } + } + + 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__ = "print_unicode_model_namespace::log_prob"; + (void) function__; // suppress unused var warning - } // constrained_param_names() + try { + + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() - inline void unconstrained_param_names( - std::vector& param_names__, - bool emit_transformed_parameters__ = true, - bool emit_generated_quantities__ = true) const - final { + 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; + 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__ = "print_unicode_model_namespace::write_array"; + (void) function__; // suppress unused var warning - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); - } - } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y2" + '.' + 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() + "y3" + '.' + 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__)); - } - } - } - } - } - } - 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() + "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__) { - { - 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__) { - { - 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__)); - } - } - } - } - } - } + try { + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; } - } - param_names__.emplace_back(std::string() + "y9"); - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y10" + '.' + std::to_string(sym1__)); + if (logical_negation(emit_generated_quantities__)) { + return ; } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - param_names__.emplace_back(std::string() + "y11" + '.' + std::to_string(sym1__)); - } + } // 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; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); } - for (int sym1__ = 1; sym1__ <= N; ++sym1__) { - { - for (int sym2__ = 1; sym2__ <= N; ++sym2__) { - { - param_names__.emplace_back(std::string() + "y12" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{}; + + } // get_dims() + + inline void constrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + + if (emit_transformed_parameters__) { + } - 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() + "y17" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); - } - } - } - } - } + + if (emit_generated_quantities__) { + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + if (emit_transformed_parameters__) { } if (emit_generated_quantities__) { - param_names__.emplace_back(std::string() + "t1"); - param_names__.emplace_back(std::string() + "t1a"); - param_names__.emplace_back(std::string() + "t2"); - param_names__.emplace_back(std::string() + "t3"); - param_names__.emplace_back(std::string() + "t4"); - param_names__.emplace_back(std::string() + "t5"); - param_names__.emplace_back(std::string() + "t6"); - param_names__.emplace_back(std::string() + "t7"); - param_names__.emplace_back(std::string() + "t8"); - param_names__.emplace_back(std::string() + "t9"); - param_names__.emplace_back(std::string() + "t10"); - param_names__.emplace_back(std::string() + "t11"); - param_names__.emplace_back(std::string() + "t12"); - param_names__.emplace_back(std::string() + "tg1"); - param_names__.emplace_back(std::string() + "tg2"); - param_names__.emplace_back(std::string() + "tg3"); - param_names__.emplace_back(std::string() + "tg4"); - param_names__.emplace_back(std::string() + "tg5"); - param_names__.emplace_back(std::string() + "tg6"); - param_names__.emplace_back(std::string() + "tg7"); - param_names__.emplace_back(std::string() + "tg8"); - param_names__.emplace_back(std::string() + "tg9"); - param_names__.emplace_back(std::string() + "tg10"); - param_names__.emplace_back(std::string() + "tg11"); - param_names__.emplace_back(std::string() + "tg12"); - param_names__.emplace_back(std::string() + "tgs"); + } } // unconstrained_param_names() inline std::string get_constrained_sizedtypes() const { - return std::string("[{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"y6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y9\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"y10\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y11\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y12\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y17\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"parameters\"},{\"name\":\"t1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t1a\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t3\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t4\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t5\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t6\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t7\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t8\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t9\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t10\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t11\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t12\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg3\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg4\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg5\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg6\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg7\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg8\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg9\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg10\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg11\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg12\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tgs\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"}]"); + return std::string("[]"); } // get_constrained_sizedtypes() inline std::string get_unconstrained_sizedtypes() const { - return std::string("[{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"y6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y9\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"y10\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y11\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y12\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y17\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"parameters\"},{\"name\":\"t1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t1a\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t3\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t4\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t5\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t6\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t7\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t8\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t9\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t10\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t11\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t12\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg3\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg4\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg5\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg6\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg7\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg8\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg9\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg10\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg11\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg12\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tgs\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"}]"); + return std::string("[]"); } // get_unconstrained_sizedtypes() @@ -29521,15 +23714,9 @@ 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 { - 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_params__ = 0; 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); + const size_t num_gen_quantities = 0; std::vector vars_vec(num_params__ + (emit_transformed_parameters * num_transformed) + (emit_generated_quantities * num_gen_quantities)); @@ -29547,15 +23734,9 @@ 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 { - 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_params__ = 0; 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); + const size_t num_gen_quantities = 0; vars.resize(num_params__ + (emit_transformed_parameters * num_transformed) + (emit_generated_quantities * num_gen_quantities)); @@ -29591,11 +23772,8 @@ class reduce_sum_m3_model final : public model_base_crtp { std::vector& params_i, std::vector& vars, std::ostream* pstream__ = nullptr) const { - constexpr std::array names__{"y1", "y2", "y3", "y4", - "y5", "y6", "y7", "y8", "y9", "y10", "y11", "y12", "y17"}; - const std::array constrain_param_sizes__{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)}; + constexpr std::array names__{}; + const std::array constrain_param_sizes__{}; const auto num_constrained_params__ = std::accumulate( constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); @@ -29616,7 +23794,7 @@ class reduce_sum_m3_model final : public model_base_crtp { }; } -using stan_model = reduce_sum_m3_model_namespace::reduce_sum_m3_model; +using stan_model = print_unicode_model_namespace::print_unicode_model; #ifndef USING_R @@ -29630,7 +23808,7 @@ stan::model::model_base& new_model( } stan::math::profile_map& get_stan_profile_data() { - return reduce_sum_m3_model_namespace::profiles__; + return print_unicode_model_namespace::profiles__; } #endif @@ -29672,6 +23850,89 @@ static constexpr std::array locations_array__ = " (in 'single-argument-lpmf.stan', line 18, column 4 to column 14)", " (in 'single-argument-lpmf.stan', line 17, column 23 to line 19, column 3)"}; +template +double +foo0_log(const int& y, std::ostream* pstream__) ; + +struct foo0_log_functor__ { +template +double +operator()(const int& y, std::ostream* pstream__) const +{ +return foo0_log(y, pstream__); +} +}; + +template +double +foo1_lpmf(const int& y, std::ostream* pstream__) ; + +struct foo1_lpmf_functor__ { +template +double +operator()(const int& y, std::ostream* pstream__) const +{ +return foo1_lpmf(y, pstream__); +} +}; + +template +double +foo4_lp(const int& y, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) ; + +struct foo4_lp_functor__ { +template +double +operator()(const int& y, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) const +{ +return foo4_lp(y, lp__, lp_accum__, pstream__); +} +}; + +template +stan::promote_args_t +foo2_log(const T0__& y, std::ostream* pstream__) ; + +struct foo2_log_functor__ { +template +stan::promote_args_t +operator()(const T0__& y, std::ostream* pstream__) const +{ +return foo2_log(y, pstream__); +} +}; + +template +stan::promote_args_t +foo3_lpdf(const T0__& y, std::ostream* pstream__) ; + +struct foo3_lpdf_functor__ { +template +stan::promote_args_t +operator()(const T0__& y, std::ostream* pstream__) const +{ +return foo3_lpdf(y, pstream__); +} +}; + +template +stan::promote_args_t +foo5_lp(const T0__& y, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) ; + +struct foo5_lp_functor__ { +template +stan::promote_args_t +operator()(const T0__& y, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) const +{ +return foo5_lp(y, lp__, lp_accum__, pstream__); +} +}; template double @@ -29688,16 +23949,6 @@ foo0_log(const int& y, std::ostream* pstream__) { } } - -struct foo0_log_functor__ { -template -double -operator()(const int& y, std::ostream* pstream__) const -{ -return foo0_log(y, pstream__); -} -}; - template double foo1_lpmf(const int& y, std::ostream* pstream__) { @@ -29713,16 +23964,6 @@ foo1_lpmf(const int& y, std::ostream* pstream__) { } } - -struct foo1_lpmf_functor__ { -template -double -operator()(const int& y, std::ostream* pstream__) const -{ -return foo1_lpmf(y, pstream__); -} -}; - template double foo4_lp(const int& y, T_lp__& lp__, T_lp_accum__& lp_accum__, @@ -29739,17 +23980,6 @@ foo4_lp(const int& y, T_lp__& lp__, T_lp_accum__& lp_accum__, } } - -struct foo4_lp_functor__ { -template -double -operator()(const int& y, T_lp__& lp__, T_lp_accum__& lp_accum__, - std::ostream* pstream__) const -{ -return foo4_lp(y, lp__, lp_accum__, pstream__); -} -}; - template stan::promote_args_t foo2_log(const T0__& y, std::ostream* pstream__) { @@ -29765,16 +23995,6 @@ foo2_log(const T0__& y, std::ostream* pstream__) { } } - -struct foo2_log_functor__ { -template -stan::promote_args_t -operator()(const T0__& y, std::ostream* pstream__) const -{ -return foo2_log(y, pstream__); -} -}; - template stan::promote_args_t foo3_lpdf(const T0__& y, std::ostream* pstream__) { @@ -29790,16 +24010,6 @@ foo3_lpdf(const T0__& y, std::ostream* pstream__) { } } - -struct foo3_lpdf_functor__ { -template -stan::promote_args_t -operator()(const T0__& y, std::ostream* pstream__) const -{ -return foo3_lpdf(y, pstream__); -} -}; - template stan::promote_args_t @@ -29817,18 +24027,6 @@ foo5_lp(const T0__& y, T_lp__& lp__, T_lp_accum__& lp_accum__, } } - -struct foo5_lp_functor__ { -template -stan::promote_args_t -operator()(const T0__& y, T_lp__& lp__, T_lp_accum__& lp_accum__, - std::ostream* pstream__) const -{ -return foo5_lp(y, lp__, lp_accum__, pstream__); -} -}; - class single_argument_lpmf_model final : public model_base_crtp { private: @@ -29849,6 +24047,8 @@ class single_argument_lpmf_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -30664,6 +24866,8 @@ class transform_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -33326,6 +27530,8 @@ class truncate_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -33760,6 +27966,18 @@ static constexpr std::array locations_array__ = " (in 'udf_tilde_stmt_conflict.stan', line 3, column 4 to column 21)", " (in 'udf_tilde_stmt_conflict.stan', line 2, column 22 to line 4, column 3)"}; +template +stan::promote_args_t +normal(const T0__& a, std::ostream* pstream__) ; + +struct normal_functor__ { +template +stan::promote_args_t +operator()(const T0__& a, std::ostream* pstream__) const +{ +return normal(a, pstream__); +} +}; template stan::promote_args_t @@ -33778,16 +27996,6 @@ normal(const T0__& a, std::ostream* pstream__) { } } - -struct normal_functor__ { -template -stan::promote_args_t -operator()(const T0__& a, std::ostream* pstream__) const -{ -return normal(a, pstream__); -} -}; - class udf_tilde_stmt_conflict_model final : public model_base_crtp { private: @@ -33808,6 +28016,8 @@ class udf_tilde_stmt_conflict_model final : public model_base_crtp locations_array__ = " (in 'user_constrain.stan', line 3, column 4 to column 13)", " (in 'user_constrain.stan', line 2, column 36 to line 4, column 3)"}; +template +stan::promote_args_t +lb_constrain(const T0__& x, const T1__& y, std::ostream* pstream__) ; + +struct lb_constrain_functor__ { +template +stan::promote_args_t +operator()(const T0__& x, const T1__& y, std::ostream* pstream__) const +{ +return lb_constrain(x, y, pstream__); +} +}; template stan::promote_args_t -stan::promote_args_t -operator()(const T0__& x, const T1__& y, std::ostream* pstream__) const -{ -return lb_constrain(x, y, pstream__); -} -}; - class user_constrain_model final : public model_base_crtp { private: @@ -34178,6 +28391,8 @@ class user_constrain_model final : public model_base_crtp unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); diff --git a/test/integration/good/code-gen/expressions/cpp.expected b/test/integration/good/code-gen/expressions/cpp.expected index 06345b5825..0c40675332 100644 --- a/test/integration/good/code-gen/expressions/cpp.expected +++ b/test/integration/good/code-gen/expressions/cpp.expected @@ -31,6 +31,61 @@ static constexpr std::array locations_array__ = " (in 'simple_function.stan', line 9, column 7 to column 16)", " (in 'simple_function.stan', line 8, column 36 to line 10, column 5)"}; +template +stan::promote_args_t, +stan::value_type_t, +stan::value_type_t> +foo1(const T0__& a, const int& b, const std::vector& c, const T3__& d, + const T4__& e, const T5__& f, std::ostream* pstream__) ; + +struct foo1_functor__ { +template +stan::promote_args_t, +stan::value_type_t, +stan::value_type_t> +operator()(const T0__& a, const int& b, const std::vector& c, + const T3__& d, const T4__& e, const T5__& f, + std::ostream* pstream__) const +{ +return foo1(a, b, c, d, e, f, pstream__); +} +}; + +template +Eigen::Matrix, T1__, +T2__>, -1, 1> +foo2(const T0__& a, const std::vector>& b, + const std::vector>& c, + std::ostream* pstream__) ; + +struct foo2_functor__ { +template +Eigen::Matrix, T1__, +T2__>, -1, 1> +operator()(const T0__& a, const std::vector>& b, + const std::vector>& c, + std::ostream* pstream__) const +{ +return foo2(a, b, c, pstream__); +} +}; + +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +foo3(const T0__& a, const T1__& b, std::ostream* pstream__) ; + +struct foo3_functor__ { +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +operator()(const T0__& a, const T1__& b, std::ostream* pstream__) const +{ +return foo3(a, b, pstream__); +} +}; template @@ -61,21 +116,6 @@ foo1(const T0__& a, const int& b, const std::vector& c, } } - -struct foo1_functor__ { -template -stan::promote_args_t, -stan::value_type_t, -stan::value_type_t> -operator()(const T0__& a, const int& b, const std::vector& c, - const T3__& d, const T4__& e, const T5__& f, - std::ostream* pstream__) const -{ -return foo1(a, b, c, d, e, f, pstream__); -} -}; - template Eigen::Matrix, T1__, T2__>, -1, 1> @@ -99,19 +139,6 @@ foo2(const T0__& a_arg__, const std::vector>& b, } } - -struct foo2_functor__ { -template -Eigen::Matrix, T1__, -T2__>, -1, 1> -operator()(const T0__& a, const std::vector>& b, - const std::vector>& c, - std::ostream* pstream__) const -{ -return foo2(a, b, c, pstream__); -} -}; - template Eigen::Matrix, stan::value_type_t>, -1, -1> @@ -133,17 +160,6 @@ foo3(const T0__& a_arg__, const T1__& b_arg__, std::ostream* pstream__) { } } - -struct foo3_functor__ { -template -Eigen::Matrix, -stan::value_type_t>, -1, -1> -operator()(const T0__& a, const T1__& b, std::ostream* pstream__) const -{ -return foo3(a, b, pstream__); -} -}; - class simple_function_model final : public model_base_crtp { private: @@ -165,6 +181,8 @@ class simple_function_model final : public model_base_crtp)) - ((fdrt (UInt)) (fdname foo) (fdsuffix FnPlain) + ((fdrt (UInt)) (fdname foo) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable n UInt))) (fdbody (((pattern @@ -46,13 +46,13 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UReal))) (fdname sho) (fdsuffix FnPlain) + ((fdrt ((UArray UReal))) (fdname sho) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable t UReal) (AutoDiffable y (UArray UReal)) (AutoDiffable theta (UArray UReal)) (DataOnly x (UArray UReal)) (DataOnly x_int (UArray UInt)))) (fdbody ()) (fdloc )) - ((fdrt ((UArray UReal))) (fdname sho) (fdsuffix FnPlain) + ((fdrt ((UArray UReal))) (fdname sho) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable t UReal) (AutoDiffable y (UArray UReal)) (AutoDiffable theta (UArray UReal)) (DataOnly x (UArray UReal)) @@ -149,7 +149,8 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_bar0) (fdsuffix FnPlain) (fdargs ()) + ((fdrt (UReal)) (fdname foo_bar0) (fdsuffix FnPlain) (fdcaptures ()) + (fdargs ()) (fdbody (((pattern (Block @@ -160,7 +161,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_bar1) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname foo_bar1) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x UReal))) (fdbody (((pattern @@ -172,7 +173,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_bar2) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname foo_bar2) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x UReal) (AutoDiffable y UReal))) (fdbody (((pattern @@ -184,7 +185,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_lpmf) (fdsuffix (FnLpdf ())) + ((fdrt (UReal)) (fdname foo_lpmf) (fdsuffix (FnLpdf ())) (fdcaptures ()) (fdargs ((AutoDiffable y UInt) (AutoDiffable lambda UReal))) (fdbody (((pattern @@ -196,7 +197,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_lcdf) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname foo_lcdf) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable y UInt) (AutoDiffable lambda UReal))) (fdbody (((pattern @@ -208,7 +209,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_lccdf) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname foo_lccdf) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable y UInt) (AutoDiffable lambda UReal))) (fdbody (((pattern @@ -220,7 +221,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_rng) (fdsuffix FnRng) + ((fdrt (UReal)) (fdname foo_rng) (fdsuffix FnRng) (fdcaptures ()) (fdargs ((AutoDiffable mu UReal) (AutoDiffable sigma UReal))) (fdbody (((pattern @@ -239,7 +240,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ()) (fdname unit_normal_lp) (fdsuffix FnTarget) + ((fdrt ()) (fdname unit_normal_lp) (fdsuffix FnTarget) (fdcaptures ()) (fdargs ((AutoDiffable u UReal))) (fdbody (((pattern @@ -275,7 +276,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UInt)) (fdname foo_1) (fdsuffix FnPlain) + ((fdrt (UInt)) (fdname foo_1) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a UInt))) (fdbody (((pattern @@ -1118,7 +1119,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UInt)) (fdname foo_2) (fdsuffix FnPlain) + ((fdrt (UInt)) (fdname foo_2) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a UInt))) (fdbody (((pattern @@ -1189,7 +1190,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UReal))) (fdname foo_3) (fdsuffix FnPlain) + ((fdrt ((UArray UReal))) (fdname foo_3) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable t UReal) (AutoDiffable n UInt))) (fdbody (((pattern @@ -1209,7 +1210,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_lp) (fdsuffix FnTarget) + ((fdrt (UReal)) (fdname foo_lp) (fdsuffix FnTarget) (fdcaptures ()) (fdargs ((AutoDiffable x UReal))) (fdbody (((pattern @@ -1228,7 +1229,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ()) (fdname foo_4) (fdsuffix FnPlain) + ((fdrt ()) (fdname foo_4) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x UReal))) (fdbody (((pattern @@ -1242,7 +1243,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname relative_diff) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname relative_diff) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x UReal) (AutoDiffable y UReal) (AutoDiffable max_ UReal) (AutoDiffable min_ UReal))) @@ -1393,7 +1394,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname foo_5) (fdsuffix FnPlain) + ((fdrt (UVector)) (fdname foo_5) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable shared_params UVector) (AutoDiffable job_params UVector) (DataOnly data_r (UArray UReal)) (DataOnly data_i (UArray UInt)))) @@ -1421,7 +1422,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_five_args) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname foo_five_args) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x1 UReal) (AutoDiffable x2 UReal) (AutoDiffable x3 UReal) (AutoDiffable x4 UReal) (AutoDiffable x5 UReal))) @@ -1436,6 +1437,7 @@ (meta )))) (fdloc )) ((fdrt (UReal)) (fdname foo_five_args_lp) (fdsuffix FnTarget) + (fdcaptures ()) (fdargs ((AutoDiffable x1 UReal) (AutoDiffable x2 UReal) (AutoDiffable x3 UReal) (AutoDiffable x4 UReal) (AutoDiffable x5 UReal) @@ -1451,6 +1453,7 @@ (meta )))) (fdloc )) ((fdrt (UMatrix)) (fdname covsqrt2corsqrt) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable mat UMatrix) (AutoDiffable invert UInt))) (fdbody (((pattern @@ -1549,7 +1552,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ()) (fdname f0) (fdsuffix FnPlain) + ((fdrt ()) (fdname f0) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1569,7 +1572,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UInt)) (fdname f1) (fdsuffix FnPlain) + ((fdrt (UInt)) (fdname f1) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1589,7 +1592,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UInt))) (fdname f2) (fdsuffix FnPlain) + ((fdrt ((UArray UInt))) (fdname f2) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1611,6 +1614,7 @@ (meta )))) (fdloc )) ((fdrt ((UArray (UArray UInt)))) (fdname f3) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1632,7 +1636,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname f4) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname f4) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1652,7 +1656,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UReal))) (fdname f5) (fdsuffix FnPlain) + ((fdrt ((UArray UReal))) (fdname f5) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1675,6 +1679,7 @@ (meta )))) (fdloc )) ((fdrt ((UArray (UArray UReal)))) (fdname f6) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1696,7 +1701,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname f7) (fdsuffix FnPlain) + ((fdrt (UVector)) (fdname f7) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1716,7 +1721,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UVector))) (fdname f8) (fdsuffix FnPlain) + ((fdrt ((UArray UVector))) (fdname f8) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1739,6 +1744,7 @@ (meta )))) (fdloc )) ((fdrt ((UArray (UArray UVector)))) (fdname f9) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1760,7 +1766,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UMatrix)) (fdname f10) (fdsuffix FnPlain) + ((fdrt (UMatrix)) (fdname f10) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1780,7 +1786,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UMatrix))) (fdname f11) (fdsuffix FnPlain) + ((fdrt ((UArray UMatrix))) (fdname f11) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1803,6 +1809,7 @@ (meta )))) (fdloc )) ((fdrt ((UArray (UArray UMatrix)))) (fdname f12) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1824,7 +1831,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ()) (fdname foo_6) (fdsuffix FnPlain) (fdargs ()) + ((fdrt ()) (fdname foo_6) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ()) (fdbody (((pattern (Block @@ -1885,7 +1892,8 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UMatrix)) (fdname matfoo) (fdsuffix FnPlain) (fdargs ()) + ((fdrt (UMatrix)) (fdname matfoo) (fdsuffix FnPlain) (fdcaptures ()) + (fdargs ()) (fdbody (((pattern (Block @@ -1999,7 +2007,8 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname vecfoo) (fdsuffix FnPlain) (fdargs ()) + ((fdrt (UVector)) (fdname vecfoo) (fdsuffix FnPlain) (fdcaptures ()) + (fdargs ()) (fdbody (((pattern (Block @@ -2045,7 +2054,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname vecmufoo) (fdsuffix FnPlain) + ((fdrt (UVector)) (fdname vecmufoo) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable mu UReal))) (fdbody (((pattern @@ -2077,7 +2086,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname vecmubar) (fdsuffix FnPlain) + ((fdrt (UVector)) (fdname vecmubar) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable mu UReal))) (fdbody (((pattern @@ -2170,6 +2179,7 @@ (meta )))) (fdloc )) ((fdrt (UVector)) (fdname algebra_system) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable x UVector) (AutoDiffable y UVector) (AutoDiffable dat (UArray UReal)) (AutoDiffable dat_int (UArray UInt)))) @@ -2256,7 +2266,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname binomialf) (fdsuffix FnPlain) + ((fdrt (UVector)) (fdname binomialf) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable phi UVector) (AutoDiffable theta UVector) (DataOnly x_r (UArray UReal)) (DataOnly x_i (UArray UInt)))) @@ -8699,7 +8709,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -8721,7 +8731,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -8749,7 +8759,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -8777,7 +8787,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -8799,7 +8809,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -8827,7 +8837,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -8849,7 +8859,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -10170,7 +10180,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (DataOnly (UArray UReal)) (DataOnly (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var tmp)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -10933,7 +10943,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -10955,7 +10965,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -10983,7 +10993,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -11011,7 +11021,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -11033,7 +11043,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -11061,7 +11071,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -11083,7 +11093,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) diff --git a/test/integration/good/code-gen/ode/cpp.expected b/test/integration/good/code-gen/ode/cpp.expected index fb50216bc9..c1b1a68a90 100644 --- a/test/integration/good/code-gen/ode/cpp.expected +++ b/test/integration/good/code-gen/ode/cpp.expected @@ -56,6 +56,53 @@ static constexpr std::array locations_array__ = " (in 'ode_adjoint_test_model.stan', line 9, column 4 to column 13)", " (in 'ode_adjoint_test_model.stan', line 8, column 50 to line 10, column 3)"}; +template +Eigen::Matrix>, -1, 1> +f_0_arg(const T0__& t, const T1__& z, std::ostream* pstream__) ; + +struct f_0_arg_functor__ { +template +Eigen::Matrix>, -1, 1> +operator()(const T0__& t, const T1__& z, std::ostream* pstream__) const +{ +return f_0_arg(t, z, pstream__); +} +}; + +template +Eigen::Matrix, +T2__>, -1, 1> +f_1_arg(const T0__& t, const T1__& z, const T2__& a, std::ostream* pstream__) ; + +struct f_1_arg_functor__ { +template +Eigen::Matrix, +T2__>, -1, 1> +operator()(const T0__& t, const T1__& z, const T2__& a, + std::ostream* pstream__) const +{ +return f_1_arg(t, z, a, pstream__); +} +}; + +template +Eigen::Matrix, +T3__>, -1, 1> +f_2_arg(const T0__& t, const T1__& z, const int& b, const T3__& a, + std::ostream* pstream__) ; + +struct f_2_arg_functor__ { +template +Eigen::Matrix, +T3__>, -1, 1> +operator()(const T0__& t, const T1__& z, const int& b, const T3__& a, + std::ostream* pstream__) const +{ +return f_2_arg(t, z, b, a, pstream__); +} +}; template Eigen::Matrix -Eigen::Matrix>, -1, 1> -operator()(const T0__& t, const T1__& z, std::ostream* pstream__) const -{ -return f_0_arg(t, z, pstream__); -} -}; - - -struct f_0_arg_odefunctor__ { -template -Eigen::Matrix>, -1, 1> -operator()(const T0__& t, const T1__& z, std::ostream* pstream__) const -{ -return f_0_arg(t, z, pstream__); -} -}; - template Eigen::Matrix, T2__>, -1, 1> @@ -121,30 +146,6 @@ f_1_arg(const T0__& t, const T1__& z_arg__, const T2__& a, } } - -struct f_1_arg_functor__ { -template -Eigen::Matrix, -T2__>, -1, 1> -operator()(const T0__& t, const T1__& z, const T2__& a, - std::ostream* pstream__) const -{ -return f_1_arg(t, z, a, pstream__); -} -}; - - -struct f_1_arg_odefunctor__ { -template -Eigen::Matrix, -T2__>, -1, 1> -operator()(const T0__& t, const T1__& z, std::ostream* pstream__, - const T2__& a) const -{ -return f_1_arg(t, z, a, pstream__); -} -}; - template Eigen::Matrix, T3__>, -1, 1> @@ -167,30 +168,6 @@ f_2_arg(const T0__& t, const T1__& z_arg__, const int& b, const T3__& a, } } - -struct f_2_arg_functor__ { -template -Eigen::Matrix, -T3__>, -1, 1> -operator()(const T0__& t, const T1__& z, const int& b, const T3__& a, - std::ostream* pstream__) const -{ -return f_2_arg(t, z, b, a, pstream__); -} -}; - - -struct f_2_arg_odefunctor__ { -template -Eigen::Matrix, -T3__>, -1, 1> -operator()(const T0__& t, const T1__& z, std::ostream* pstream__, - const int& b, const T3__& a) const -{ -return f_2_arg(t, z, b, a, pstream__); -} -}; - class ode_adjoint_test_model_model final : public model_base_crtp { private: @@ -225,6 +202,8 @@ class ode_adjoint_test_model_model final : public model_base_crtp(y, 0, 1)); @@ -448,22 +430,25 @@ class ode_adjoint_test_model_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -6428,6 +6430,8 @@ class restricted_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); diff --git a/test/integration/good/code-gen/profiling/cpp.expected b/test/integration/good/code-gen/profiling/cpp.expected index 3886ed165b..3f87ad316e 100644 --- a/test/integration/good/code-gen/profiling/cpp.expected +++ b/test/integration/good/code-gen/profiling/cpp.expected @@ -74,6 +74,8 @@ class simple_function_model final : public model_base_crtp +namespace arg_type_convert_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'arg_type_convert.stan', line 12, column 4 to column 14)", + " (in 'arg_type_convert.stan', line 16, column 4 to column 55)", + " (in 'arg_type_convert.stan', line 8, column 4 to column 10)", + " (in 'arg_type_convert.stan', line 3, column 4 to column 44)", + " (in 'arg_type_convert.stan', line 2, column 72 to line 4, column 3)"}; +struct my_func_rsfunctor__; +template +stan::promote_args_t +my_func(const std::vector& y_slice, const int& start, const int& end, + const T3__& mu, const T4__& sigma, std::ostream* pstream__) ; + +struct my_func_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, const T3__& mu, + const T4__& sigma) const +{ +return my_func(y_slice, start + 1, end + 1, mu, sigma, pstream__); +} +}; + + +struct my_func_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, const T3__& mu, const T4__& sigma, + std::ostream* pstream__) const +{ +return my_func(y_slice, start, end, mu, sigma, pstream__); +} +}; + +template +stan::promote_args_t +my_func(const std::vector& y_slice, const int& start, const int& end, + const T3__& mu, const T4__& sigma, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 4; + return normal_lpdf(y_slice, mu, sigma); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class arg_type_convert_model final : public model_base_crtp { + + private: + int b; + + + public: + ~arg_type_convert_model() { } + + inline std::string model_name() const final { return "arg_type_convert_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + arg_type_convert_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "arg_type_convert_model_namespace::arg_type_convert_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 3; + context__.validate_dims("data initialization","b","int", + std::vector{}); + b = std::numeric_limits::min(); + + current_statement__ = 3; + b = context__.vals_i("b")[(1 - 1)]; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 5; + + } + + 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__ = "arg_type_convert_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + std::vector a; + a = std::vector(5, DUMMY_VAR__); + + current_statement__ = 1; + a = in__.template read>(5); + { + current_statement__ = 2; + lp_accum__.add( + reduce_sum_static(a, 1, pstream__, 0.0, b)); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "arg_type_convert_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + std::vector a; + a = std::vector(5, std::numeric_limits::quiet_NaN()); + + current_statement__ = 1; + a = in__.template read>(5); + out__.write(a); + 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__]); + } + } // 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 a; + a = std::vector(5, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { + a[(sym1__ - 1)] = in__.read(); + } + out__.write(a); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"a"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{ + static_cast(5) + }}; + + } // 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__ <= 5; ++sym1__) { + { + param_names__.emplace_back(std::string() + "a" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { + { + param_names__.emplace_back(std::string() + "a" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"a\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"a\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(5) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = 5; + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = 5; + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"a"}; + const std::array constrain_param_sizes__{5}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = arg_type_convert_model_namespace::arg_type_convert_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return arg_type_convert_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../../install/default/bin/stanc --print-cpp reduce_sum_m1.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace reduce_sum_m1_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'reduce_sum_m1.stan', line 26, column 2 to column 13)", + " (in 'reduce_sum_m1.stan', line 27, column 2 to column 13)", + " (in 'reduce_sum_m1.stan', line 28, column 2 to column 13)", + " (in 'reduce_sum_m1.stan', line 32, column 2 to column 33)", + " (in 'reduce_sum_m1.stan', line 33, column 2 to column 37)", + " (in 'reduce_sum_m1.stan', line 34, column 2 to column 40)", + " (in 'reduce_sum_m1.stan', line 35, column 2 to column 41)", + " (in 'reduce_sum_m1.stan', line 22, column 2 to column 14)", + " (in 'reduce_sum_m1.stan', line 26, column 10 to column 11)", + " (in 'reduce_sum_m1.stan', line 27, column 10 to column 11)", + " (in 'reduce_sum_m1.stan', line 28, column 10 to column 11)", + " (in 'reduce_sum_m1.stan', line 6, column 6 to column 41)", + " (in 'reduce_sum_m1.stan', line 5, column 11 to line 7, column 5)", + " (in 'reduce_sum_m1.stan', line 4, column 6 to column 39)", + " (in 'reduce_sum_m1.stan', line 3, column 26 to line 5, column 5)", + " (in 'reduce_sum_m1.stan', line 3, column 4 to line 7, column 5)", + " (in 'reduce_sum_m1.stan', line 2, column 45 to line 8, column 3)", + " (in 'reduce_sum_m1.stan', line 13, column 6 to column 35)", + " (in 'reduce_sum_m1.stan', line 12, column 11 to line 14, column 5)", + " (in 'reduce_sum_m1.stan', line 11, column 6 to column 53)", + " (in 'reduce_sum_m1.stan', line 10, column 20 to line 12, column 5)", + " (in 'reduce_sum_m1.stan', line 10, column 4 to line 14, column 5)", + " (in 'reduce_sum_m1.stan', line 9, column 55 to line 15, column 3)", + " (in 'reduce_sum_m1.stan', line 17, column 4 to column 38)", + " (in 'reduce_sum_m1.stan', line 16, column 52 to line 18, column 3)"}; +struct g_rsfunctor__; +struct h_rsfunctor__; +template +struct foo_lpdf_rsfunctor__; +template +stan::promote_args_t +g(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) ; + +struct g_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return g(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct g_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return g(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +h(const std::vector& y_slice, const int& start, const int& end, + const std::vector& a, std::ostream* pstream__) ; + +struct h_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, + const std::vector& a) const +{ +return h(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct h_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, const std::vector& a, + std::ostream* pstream__) const +{ +return h(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +foo_lpdf(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) ; + +template +struct foo_lpdf_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return foo_lpdf(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct foo_lpdf_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return foo_lpdf(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +g(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 16; + if (logical_gt(size(y_slice), 1)) { + current_statement__ = 14; + return reduce_sum(y_slice, 1, pstream__); + } else { + current_statement__ = 12; + return normal_lpdf(y_slice, 0, 1); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +h(const std::vector& y_slice, const int& start, const int& end, + const std::vector& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 22; + if (logical_gt(size(a), 1)) { + current_statement__ = 20; + return reduce_sum(y_slice, 1, pstream__, + rvalue(a, "a", index_min_max(start, end))); + } else { + current_statement__ = 18; + return normal_lpdf(a, 0, 1); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +foo_lpdf(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 24; + return normal_lpdf(y_slice, 0, 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class reduce_sum_m1_model final : public model_base_crtp { + + private: + int N; + + + public: + ~reduce_sum_m1_model() { } + + inline std::string model_name() const final { return "reduce_sum_m1_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + reduce_sum_m1_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "reduce_sum_m1_model_namespace::reduce_sum_m1_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 8; + N = std::numeric_limits::min(); + + current_statement__ = 8; + N = 100; + current_statement__ = 9; + validate_non_negative_index("y1", "N", N); + current_statement__ = 10; + validate_non_negative_index("y2", "N", N); + current_statement__ = 11; + validate_non_negative_index("y3", "N", N); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = N + N + N; + + } + + 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__ = "reduce_sum_m1_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + std::vector y1; + y1 = std::vector(N, DUMMY_VAR__); + + current_statement__ = 1; + y1 = in__.template read>(N); + std::vector y2; + y2 = std::vector(N, DUMMY_VAR__); + + current_statement__ = 2; + y2 = in__.template read>(N); + std::vector y3; + y3 = std::vector(N, DUMMY_VAR__); + + current_statement__ = 3; + y3 = in__.template read>(N); + { + current_statement__ = 4; + lp_accum__.add(reduce_sum(y1, 1, pstream__)); + current_statement__ = 5; + lp_accum__.add(reduce_sum(y2, 1, pstream__, y2)); + current_statement__ = 6; + lp_accum__.add( + reduce_sum>(y3, 1, pstream__)); + current_statement__ = 7; + lp_accum__.add( + reduce_sum>(y3, 1, pstream__)); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "reduce_sum_m1_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + std::vector y1; + y1 = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 1; + y1 = in__.template read>(N); + std::vector y2; + y2 = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 2; + y2 = in__.template read>(N); + std::vector y3; + y3 = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 3; + y3 = in__.template read>(N); + out__.write(y1); + out__.write(y2); + out__.write(y3); + 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__]); + } + } // 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 y1; + y1 = std::vector(N, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + y1[(sym1__ - 1)] = in__.read(); + } + out__.write(y1); + std::vector y2; + y2 = std::vector(N, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + y2[(sym1__ - 1)] = in__.read(); + } + out__.write(y2); + std::vector y3; + y3 = std::vector(N, DUMMY_VAR__); + + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + y3[(sym1__ - 1)] = in__.read(); + } + out__.write(y3); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"y1", "y2", "y3"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{ + static_cast(N) + }, + std::vector{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__) { + { + param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y2" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y3" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_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__) { + { + param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y2" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y3" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"y1", "y2", "y3"}; + const std::array constrain_param_sizes__{N, N, N}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = reduce_sum_m1_model_namespace::reduce_sum_m1_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return reduce_sum_m1_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../../install/default/bin/stanc --print-cpp reduce_sum_m2.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace reduce_sum_m2_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'reduce_sum_m2.stan', line 130, column 2 to column 24)", + " (in 'reduce_sum_m2.stan', line 131, column 2 to column 25)", + " (in 'reduce_sum_m2.stan', line 132, column 2 to column 21)", + " (in 'reduce_sum_m2.stan', line 133, column 2 to column 16)", + " (in 'reduce_sum_m2.stan', line 134, column 2 to column 21)", + " (in 'reduce_sum_m2.stan', line 135, column 2 to column 22)", + " (in 'reduce_sum_m2.stan', line 136, column 2 to column 18)", + " (in 'reduce_sum_m2.stan', line 137, column 2 to column 13)", + " (in 'reduce_sum_m2.stan', line 139, column 2 to column 24)", + " (in 'reduce_sum_m2.stan', line 140, column 2 to column 25)", + " (in 'reduce_sum_m2.stan', line 141, column 2 to column 21)", + " (in 'reduce_sum_m2.stan', line 142, column 2 to column 16)", + " (in 'reduce_sum_m2.stan', line 143, column 2 to column 21)", + " (in 'reduce_sum_m2.stan', line 144, column 2 to column 22)", + " (in 'reduce_sum_m2.stan', line 145, column 2 to column 18)", + " (in 'reduce_sum_m2.stan', line 146, column 2 to column 13)", + " (in 'reduce_sum_m2.stan', line 150, column 2 to column 37)", + " (in 'reduce_sum_m2.stan', line 151, column 2 to column 37)", + " (in 'reduce_sum_m2.stan', line 152, column 2 to column 37)", + " (in 'reduce_sum_m2.stan', line 153, column 2 to column 37)", + " (in 'reduce_sum_m2.stan', line 154, column 2 to column 37)", + " (in 'reduce_sum_m2.stan', line 155, column 2 to column 37)", + " (in 'reduce_sum_m2.stan', line 156, column 2 to column 37)", + " (in 'reduce_sum_m2.stan', line 157, column 2 to column 37)", + " (in 'reduce_sum_m2.stan', line 159, column 2 to column 34)", + " (in 'reduce_sum_m2.stan', line 160, column 2 to column 34)", + " (in 'reduce_sum_m2.stan', line 161, column 2 to column 34)", + " (in 'reduce_sum_m2.stan', line 162, column 2 to column 34)", + " (in 'reduce_sum_m2.stan', line 163, column 2 to column 34)", + " (in 'reduce_sum_m2.stan', line 164, column 2 to column 34)", + " (in 'reduce_sum_m2.stan', line 165, column 2 to column 34)", + " (in 'reduce_sum_m2.stan', line 166, column 2 to column 34)", + " (in 'reduce_sum_m2.stan', line 125, column 2 to column 12)", + " (in 'reduce_sum_m2.stan', line 126, column 9 to column 10)", + " (in 'reduce_sum_m2.stan', line 126, column 2 to column 12)", + " (in 'reduce_sum_m2.stan', line 130, column 18 to column 19)", + " (in 'reduce_sum_m2.stan', line 130, column 21 to column 22)", + " (in 'reduce_sum_m2.stan', line 130, column 9 to column 10)", + " (in 'reduce_sum_m2.stan', line 130, column 12 to column 13)", + " (in 'reduce_sum_m2.stan', line 131, column 19 to column 20)", + " (in 'reduce_sum_m2.stan', line 131, column 22 to column 23)", + " (in 'reduce_sum_m2.stan', line 131, column 13 to column 14)", + " (in 'reduce_sum_m2.stan', line 132, column 15 to column 16)", + " (in 'reduce_sum_m2.stan', line 132, column 18 to column 19)", + " (in 'reduce_sum_m2.stan', line 132, column 9 to column 10)", + " (in 'reduce_sum_m2.stan', line 133, column 10 to column 11)", + " (in 'reduce_sum_m2.stan', line 133, column 13 to column 14)", + " (in 'reduce_sum_m2.stan', line 134, column 18 to column 19)", + " (in 'reduce_sum_m2.stan', line 134, column 9 to column 10)", + " (in 'reduce_sum_m2.stan', line 134, column 12 to column 13)", + " (in 'reduce_sum_m2.stan', line 135, column 19 to column 20)", + " (in 'reduce_sum_m2.stan', line 135, column 13 to column 14)", + " (in 'reduce_sum_m2.stan', line 136, column 15 to column 16)", + " (in 'reduce_sum_m2.stan', line 136, column 9 to column 10)", + " (in 'reduce_sum_m2.stan', line 137, column 10 to column 11)", + " (in 'reduce_sum_m2.stan', line 139, column 18 to column 19)", + " (in 'reduce_sum_m2.stan', line 139, column 21 to column 22)", + " (in 'reduce_sum_m2.stan', line 139, column 9 to column 10)", + " (in 'reduce_sum_m2.stan', line 139, column 12 to column 13)", + " (in 'reduce_sum_m2.stan', line 140, column 19 to column 20)", + " (in 'reduce_sum_m2.stan', line 140, column 22 to column 23)", + " (in 'reduce_sum_m2.stan', line 140, column 13 to column 14)", + " (in 'reduce_sum_m2.stan', line 141, column 15 to column 16)", + " (in 'reduce_sum_m2.stan', line 141, column 18 to column 19)", + " (in 'reduce_sum_m2.stan', line 141, column 9 to column 10)", + " (in 'reduce_sum_m2.stan', line 142, column 10 to column 11)", + " (in 'reduce_sum_m2.stan', line 142, column 13 to column 14)", + " (in 'reduce_sum_m2.stan', line 143, column 18 to column 19)", + " (in 'reduce_sum_m2.stan', line 143, column 9 to column 10)", + " (in 'reduce_sum_m2.stan', line 143, column 12 to column 13)", + " (in 'reduce_sum_m2.stan', line 144, column 19 to column 20)", + " (in 'reduce_sum_m2.stan', line 144, column 13 to column 14)", + " (in 'reduce_sum_m2.stan', line 145, column 15 to column 16)", + " (in 'reduce_sum_m2.stan', line 145, column 9 to column 10)", + " (in 'reduce_sum_m2.stan', line 146, column 10 to column 11)", + " (in 'reduce_sum_m2.stan', line 3, column 4 to column 39)", + " (in 'reduce_sum_m2.stan', line 2, column 46 to line 4, column 3)", + " (in 'reduce_sum_m2.stan', line 6, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 8, column 6 to column 49)", + " (in 'reduce_sum_m2.stan', line 7, column 30 to line 9, column 5)", + " (in 'reduce_sum_m2.stan', line 7, column 4 to line 9, column 5)", + " (in 'reduce_sum_m2.stan', line 10, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 5, column 48 to line 11, column 3)", + " (in 'reduce_sum_m2.stan', line 13, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 15, column 6 to column 49)", + " (in 'reduce_sum_m2.stan', line 14, column 30 to line 16, column 5)", + " (in 'reduce_sum_m2.stan', line 14, column 4 to line 16, column 5)", + " (in 'reduce_sum_m2.stan', line 17, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 12, column 52 to line 18, column 3)", + " (in 'reduce_sum_m2.stan', line 20, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 22, column 6 to column 60)", + " (in 'reduce_sum_m2.stan', line 21, column 30 to line 23, column 5)", + " (in 'reduce_sum_m2.stan', line 21, column 4 to line 23, column 5)", + " (in 'reduce_sum_m2.stan', line 24, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 19, column 48 to line 25, column 3)", + " (in 'reduce_sum_m2.stan', line 27, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 30, column 8 to column 54)", + " (in 'reduce_sum_m2.stan', line 29, column 35 to line 31, column 7)", + " (in 'reduce_sum_m2.stan', line 29, column 6 to line 31, column 7)", + " (in 'reduce_sum_m2.stan', line 28, column 30 to line 32, column 5)", + " (in 'reduce_sum_m2.stan', line 28, column 4 to line 32, column 5)", + " (in 'reduce_sum_m2.stan', line 33, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 26, column 47 to line 34, column 3)", + " (in 'reduce_sum_m2.stan', line 36, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 39, column 8 to column 65)", + " (in 'reduce_sum_m2.stan', line 38, column 35 to line 40, column 7)", + " (in 'reduce_sum_m2.stan', line 38, column 6 to line 40, column 7)", + " (in 'reduce_sum_m2.stan', line 37, column 30 to line 41, column 5)", + " (in 'reduce_sum_m2.stan', line 37, column 4 to line 41, column 5)", + " (in 'reduce_sum_m2.stan', line 42, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 35, column 49 to line 43, column 3)", + " (in 'reduce_sum_m2.stan', line 45, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 48, column 8 to column 65)", + " (in 'reduce_sum_m2.stan', line 47, column 35 to line 49, column 7)", + " (in 'reduce_sum_m2.stan', line 47, column 6 to line 49, column 7)", + " (in 'reduce_sum_m2.stan', line 46, column 30 to line 50, column 5)", + " (in 'reduce_sum_m2.stan', line 46, column 4 to line 50, column 5)", + " (in 'reduce_sum_m2.stan', line 51, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 44, column 53 to line 52, column 3)", + " (in 'reduce_sum_m2.stan', line 54, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 57, column 8 to column 65)", + " (in 'reduce_sum_m2.stan', line 56, column 35 to line 58, column 7)", + " (in 'reduce_sum_m2.stan', line 56, column 6 to line 58, column 7)", + " (in 'reduce_sum_m2.stan', line 55, column 30 to line 59, column 5)", + " (in 'reduce_sum_m2.stan', line 55, column 4 to line 59, column 5)", + " (in 'reduce_sum_m2.stan', line 60, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 53, column 49 to line 61, column 3)", + " (in 'reduce_sum_m2.stan', line 63, column 4 to column 44)", + " (in 'reduce_sum_m2.stan', line 62, column 50 to line 64, column 3)", + " (in 'reduce_sum_m2.stan', line 66, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 68, column 6 to column 43)", + " (in 'reduce_sum_m2.stan', line 67, column 24 to line 69, column 5)", + " (in 'reduce_sum_m2.stan', line 67, column 4 to line 69, column 5)", + " (in 'reduce_sum_m2.stan', line 70, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 65, column 52 to line 71, column 3)", + " (in 'reduce_sum_m2.stan', line 73, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 75, column 6 to column 43)", + " (in 'reduce_sum_m2.stan', line 74, column 24 to line 76, column 5)", + " (in 'reduce_sum_m2.stan', line 74, column 4 to line 76, column 5)", + " (in 'reduce_sum_m2.stan', line 77, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 72, column 56 to line 78, column 3)", + " (in 'reduce_sum_m2.stan', line 80, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 82, column 6 to column 54)", + " (in 'reduce_sum_m2.stan', line 81, column 24 to line 83, column 5)", + " (in 'reduce_sum_m2.stan', line 81, column 4 to line 83, column 5)", + " (in 'reduce_sum_m2.stan', line 84, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 79, column 52 to line 85, column 3)", + " (in 'reduce_sum_m2.stan', line 87, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 90, column 8 to column 48)", + " (in 'reduce_sum_m2.stan', line 89, column 29 to line 91, column 7)", + " (in 'reduce_sum_m2.stan', line 89, column 6 to line 91, column 7)", + " (in 'reduce_sum_m2.stan', line 88, column 24 to line 92, column 5)", + " (in 'reduce_sum_m2.stan', line 88, column 4 to line 92, column 5)", + " (in 'reduce_sum_m2.stan', line 93, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 86, column 51 to line 94, column 3)", + " (in 'reduce_sum_m2.stan', line 96, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 99, column 8 to column 59)", + " (in 'reduce_sum_m2.stan', line 98, column 29 to line 100, column 7)", + " (in 'reduce_sum_m2.stan', line 98, column 6 to line 100, column 7)", + " (in 'reduce_sum_m2.stan', line 97, column 24 to line 101, column 5)", + " (in 'reduce_sum_m2.stan', line 97, column 4 to line 101, column 5)", + " (in 'reduce_sum_m2.stan', line 102, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 95, column 53 to line 103, column 3)", + " (in 'reduce_sum_m2.stan', line 105, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 108, column 8 to column 59)", + " (in 'reduce_sum_m2.stan', line 107, column 29 to line 109, column 7)", + " (in 'reduce_sum_m2.stan', line 107, column 6 to line 109, column 7)", + " (in 'reduce_sum_m2.stan', line 106, column 24 to line 110, column 5)", + " (in 'reduce_sum_m2.stan', line 106, column 4 to line 110, column 5)", + " (in 'reduce_sum_m2.stan', line 111, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 104, column 57 to line 112, column 3)", + " (in 'reduce_sum_m2.stan', line 114, column 4 to column 24)", + " (in 'reduce_sum_m2.stan', line 117, column 8 to column 59)", + " (in 'reduce_sum_m2.stan', line 116, column 29 to line 118, column 7)", + " (in 'reduce_sum_m2.stan', line 116, column 6 to line 118, column 7)", + " (in 'reduce_sum_m2.stan', line 115, column 24 to line 119, column 5)", + " (in 'reduce_sum_m2.stan', line 115, column 4 to line 119, column 5)", + " (in 'reduce_sum_m2.stan', line 120, column 4 to column 20)", + " (in 'reduce_sum_m2.stan', line 113, column 53 to line 121, column 3)"}; +struct g1_rsfunctor__; +struct g2_rsfunctor__; +struct g3_rsfunctor__; +struct g4_rsfunctor__; +struct g5_rsfunctor__; +struct g6_rsfunctor__; +struct g7_rsfunctor__; +struct g8_rsfunctor__; +struct h1_rsfunctor__; +struct h2_rsfunctor__; +struct h3_rsfunctor__; +struct h4_rsfunctor__; +struct h5_rsfunctor__; +struct h6_rsfunctor__; +struct h7_rsfunctor__; +struct h8_rsfunctor__; +template +stan::promote_args_t +g1(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) ; + +struct g1_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return g1(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct g1_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return g1(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +g2(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) ; + +struct g2_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g2(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct g2_functor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g2(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +g3(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) ; + +struct g3_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g3(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct g3_functor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g3(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +g4(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) ; + +struct g4_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g4(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct g4_functor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g4(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +g5(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) ; + +struct g5_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return g5(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct g5_functor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return g5(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +g6(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) ; + +struct g6_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g6(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct g6_functor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g6(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +g7(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) ; + +struct g7_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g7(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct g7_functor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g7(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +g8(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) ; + +struct g8_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g8(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct g8_functor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return g8(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +h1(const std::vector& y, const int& start, const int& end, + const std::vector& a, std::ostream* pstream__) ; + +struct h1_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + std::ostream* pstream__, const std::vector& a) const +{ +return h1(y, start + 1, end + 1, a, pstream__); +} +}; + + +struct h1_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + const std::vector& a, std::ostream* pstream__) const +{ +return h1(y, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +h2(const std::vector& y, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) ; + +struct h2_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + std::ostream* pstream__, + const std::vector>& a) const +{ +return h2(y, start + 1, end + 1, a, pstream__); +} +}; + + +struct h2_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + const std::vector>& a, + std::ostream* pstream__) const +{ +return h2(y, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +h3(const std::vector& y, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) ; + +struct h3_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + std::ostream* pstream__, + const std::vector>& a) const +{ +return h3(y, start + 1, end + 1, a, pstream__); +} +}; + + +struct h3_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + const std::vector>& a, + std::ostream* pstream__) const +{ +return h3(y, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +h4(const std::vector& y, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) ; + +struct h4_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + std::ostream* pstream__, + const std::vector>& a) const +{ +return h4(y, start + 1, end + 1, a, pstream__); +} +}; + + +struct h4_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + const std::vector>& a, + std::ostream* pstream__) const +{ +return h4(y, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +h5(const std::vector& y, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) ; + +struct h5_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + std::ostream* pstream__, const std::vector>& a) const +{ +return h5(y, start + 1, end + 1, a, pstream__); +} +}; + + +struct h5_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) const +{ +return h5(y, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +h6(const std::vector& y, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) ; + +struct h6_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + std::ostream* pstream__, + const std::vector>>& a) const +{ +return h6(y, start + 1, end + 1, a, pstream__); +} +}; + + +struct h6_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) const +{ +return h6(y, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +h7(const std::vector& y, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) ; + +struct h7_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + std::ostream* pstream__, + const std::vector>>& a) const +{ +return h7(y, start + 1, end + 1, a, pstream__); +} +}; + + +struct h7_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) const +{ +return h7(y, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +h8(const std::vector& y, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) ; + +struct h8_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + std::ostream* pstream__, + const std::vector>>& a) const +{ +return h8(y, start + 1, end + 1, a, pstream__); +} +}; + + +struct h8_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) const +{ +return h8(y, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +g1(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 76; + return normal_lpdf(y_slice, 0, 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g2(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 78; + sum_lpdf = 0.0; + current_statement__ = 81; + for (int n = 1; n <= size(y_slice); ++n) { + current_statement__ = 79; + sum_lpdf = (sum_lpdf + + normal_lpdf( + rvalue(y_slice, "y_slice", index_uni(n)), 0, 1)); + } + current_statement__ = 82; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g3(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 84; + sum_lpdf = 0.0; + current_statement__ = 87; + for (int n = 1; n <= size(y_slice); ++n) { + current_statement__ = 85; + sum_lpdf = (sum_lpdf + + normal_lpdf( + rvalue(y_slice, "y_slice", index_uni(n)), 0, 1)); + } + current_statement__ = 88; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g4(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 90; + sum_lpdf = 0.0; + current_statement__ = 93; + for (int n = 1; n <= size(y_slice); ++n) { + current_statement__ = 91; + sum_lpdf = (sum_lpdf + + normal_lpdf( + to_vector(rvalue(y_slice, "y_slice", index_uni(n))), 0, + 1)); + } + current_statement__ = 94; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g5(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 96; + sum_lpdf = 0.0; + current_statement__ = 101; + for (int n = 1; n <= size(y_slice); ++n) { + current_statement__ = 99; + for (int m = 1; m <= size(rvalue(y_slice, "y_slice", index_uni(n))); + ++m) { + current_statement__ = 97; + sum_lpdf = (sum_lpdf + + normal_lpdf( + rvalue(y_slice, "y_slice", index_uni(n), index_uni(m)), + 0, 1)); + } + } + current_statement__ = 102; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g6(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 104; + sum_lpdf = 0.0; + current_statement__ = 109; + for (int n = 1; n <= size(y_slice); ++n) { + current_statement__ = 107; + for (int m = 1; m <= size(rvalue(y_slice, "y_slice", index_uni(n))); + ++m) { + current_statement__ = 105; + sum_lpdf = (sum_lpdf + + normal_lpdf( + to_vector( + rvalue(y_slice, "y_slice", + index_uni(n), index_uni(m))), 0, 1)); + } + } + current_statement__ = 110; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g7(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 112; + sum_lpdf = 0.0; + current_statement__ = 117; + for (int n = 1; n <= size(y_slice); ++n) { + current_statement__ = 115; + for (int m = 1; m <= size(rvalue(y_slice, "y_slice", index_uni(n))); + ++m) { + current_statement__ = 113; + sum_lpdf = (sum_lpdf + + normal_lpdf( + to_vector( + rvalue(y_slice, "y_slice", + index_uni(n), index_uni(m))), 0, 1)); + } + } + current_statement__ = 118; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g8(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 120; + sum_lpdf = 0.0; + current_statement__ = 125; + for (int n = 1; n <= size(y_slice); ++n) { + current_statement__ = 123; + for (int m = 1; m <= size(rvalue(y_slice, "y_slice", index_uni(n))); + ++m) { + current_statement__ = 121; + sum_lpdf = (sum_lpdf + + normal_lpdf( + to_vector( + rvalue(y_slice, "y_slice", + index_uni(n), index_uni(m))), 0, 1)); + } + } + current_statement__ = 126; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +h1(const std::vector& y, const int& start, const int& end, + const std::vector& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 128; + return normal_lpdf(rvalue(a, "a", index_min_max(start, end)), 0, + 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +h2(const std::vector& y, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 130; + sum_lpdf = 0.0; + current_statement__ = 133; + for (int n = start; n <= end; ++n) { + current_statement__ = 131; + sum_lpdf = (sum_lpdf + + normal_lpdf(rvalue(a, "a", index_uni(n)), 0, 1)); + } + current_statement__ = 134; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +h3(const std::vector& y, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 136; + sum_lpdf = 0.0; + current_statement__ = 139; + for (int n = start; n <= end; ++n) { + current_statement__ = 137; + sum_lpdf = (sum_lpdf + + normal_lpdf(rvalue(a, "a", index_uni(n)), 0, 1)); + } + current_statement__ = 140; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +h4(const std::vector& y, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 142; + sum_lpdf = 0.0; + current_statement__ = 145; + for (int n = start; n <= end; ++n) { + current_statement__ = 143; + sum_lpdf = (sum_lpdf + + normal_lpdf( + to_vector(rvalue(a, "a", index_uni(n))), 0, 1)); + } + current_statement__ = 146; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +h5(const std::vector& y, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 148; + sum_lpdf = 0.0; + current_statement__ = 153; + for (int n = start; n <= end; ++n) { + current_statement__ = 151; + for (int m = 1; m <= size(rvalue(a, "a", index_uni(n))); ++m) { + current_statement__ = 149; + sum_lpdf = (sum_lpdf + + normal_lpdf( + rvalue(a, "a", index_uni(n), index_uni(m)), 0, 1)); + } + } + current_statement__ = 154; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +h6(const std::vector& y, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 156; + sum_lpdf = 0.0; + current_statement__ = 161; + for (int n = start; n <= end; ++n) { + current_statement__ = 159; + for (int m = 1; m <= size(rvalue(a, "a", index_uni(n))); ++m) { + current_statement__ = 157; + sum_lpdf = (sum_lpdf + + normal_lpdf( + to_vector(rvalue(a, "a", index_uni(n), index_uni(m))), + 0, 1)); + } + } + current_statement__ = 162; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +h7(const std::vector& y, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 164; + sum_lpdf = 0.0; + current_statement__ = 169; + for (int n = start; n <= end; ++n) { + current_statement__ = 167; + for (int m = 1; m <= size(rvalue(a, "a", index_uni(n))); ++m) { + current_statement__ = 165; + sum_lpdf = (sum_lpdf + + normal_lpdf( + to_vector(rvalue(a, "a", index_uni(n), index_uni(m))), + 0, 1)); + } + } + current_statement__ = 170; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +h8(const std::vector& y, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + local_scalar_t__ sum_lpdf; + sum_lpdf = DUMMY_VAR__; + + current_statement__ = 172; + sum_lpdf = 0.0; + current_statement__ = 177; + for (int n = start; n <= end; ++n) { + current_statement__ = 175; + for (int m = 1; m <= size(rvalue(a, "a", index_uni(n))); ++m) { + current_statement__ = 173; + sum_lpdf = (sum_lpdf + + normal_lpdf( + to_vector(rvalue(a, "a", index_uni(n), index_uni(m))), + 0, 1)); + } + } + current_statement__ = 178; + return sum_lpdf; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class reduce_sum_m2_model final : public model_base_crtp { + + private: + int N; + std::vector x; + + + public: + ~reduce_sum_m2_model() { } + + inline std::string model_name() const final { return "reduce_sum_m2_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + reduce_sum_m2_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "reduce_sum_m2_model_namespace::reduce_sum_m2_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 33; + N = std::numeric_limits::min(); + + current_statement__ = 33; + N = 2; + current_statement__ = 34; + validate_non_negative_index("x", "N", N); + current_statement__ = 35; + x = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 36; + validate_non_negative_index("a8", "N", N); + current_statement__ = 37; + validate_non_negative_index("a8", "N", N); + current_statement__ = 38; + validate_non_negative_index("a8", "N", N); + current_statement__ = 39; + validate_non_negative_index("a8", "N", N); + current_statement__ = 40; + validate_non_negative_index("a7", "N", N); + current_statement__ = 41; + validate_non_negative_index("a7", "N", N); + current_statement__ = 42; + validate_non_negative_index("a7", "N", N); + current_statement__ = 43; + validate_non_negative_index("a6", "N", N); + current_statement__ = 44; + validate_non_negative_index("a6", "N", N); + current_statement__ = 45; + validate_non_negative_index("a6", "N", N); + current_statement__ = 46; + validate_non_negative_index("a5", "N", N); + current_statement__ = 47; + validate_non_negative_index("a5", "N", N); + current_statement__ = 48; + validate_non_negative_index("a4", "N", N); + current_statement__ = 49; + validate_non_negative_index("a4", "N", N); + current_statement__ = 50; + validate_non_negative_index("a4", "N", N); + current_statement__ = 51; + validate_non_negative_index("a3", "N", N); + current_statement__ = 52; + validate_non_negative_index("a3", "N", N); + current_statement__ = 53; + validate_non_negative_index("a2", "N", N); + current_statement__ = 54; + validate_non_negative_index("a2", "N", N); + current_statement__ = 55; + validate_non_negative_index("a1", "N", N); + current_statement__ = 56; + validate_non_negative_index("y8", "N", N); + current_statement__ = 57; + validate_non_negative_index("y8", "N", N); + current_statement__ = 58; + validate_non_negative_index("y8", "N", N); + current_statement__ = 59; + validate_non_negative_index("y8", "N", N); + current_statement__ = 60; + validate_non_negative_index("y7", "N", N); + current_statement__ = 61; + validate_non_negative_index("y7", "N", N); + current_statement__ = 62; + validate_non_negative_index("y7", "N", N); + current_statement__ = 63; + validate_non_negative_index("y6", "N", N); + current_statement__ = 64; + validate_non_negative_index("y6", "N", N); + current_statement__ = 65; + validate_non_negative_index("y6", "N", N); + current_statement__ = 66; + validate_non_negative_index("y5", "N", N); + current_statement__ = 67; + validate_non_negative_index("y5", "N", N); + current_statement__ = 68; + validate_non_negative_index("y4", "N", N); + current_statement__ = 69; + validate_non_negative_index("y4", "N", N); + current_statement__ = 70; + validate_non_negative_index("y4", "N", N); + current_statement__ = 71; + validate_non_negative_index("y3", "N", N); + current_statement__ = 72; + validate_non_negative_index("y3", "N", N); + current_statement__ = 73; + validate_non_negative_index("y2", "N", N); + current_statement__ = 74; + validate_non_negative_index("y2", "N", N); + current_statement__ = 75; + validate_non_negative_index("y1", "N", N); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = (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; + + } + + 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__ = "reduce_sum_m2_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + std::vector>> a8; + a8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(a8, DUMMY_VAR__); + + current_statement__ = 1; + a8 = in__.template read>>>( + N, N, N, N); + std::vector>> a7; + a7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(a7, DUMMY_VAR__); + + current_statement__ = 2; + a7 = in__.template read>>>( + N, N, N); + std::vector>> a6; + a6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(a6, DUMMY_VAR__); + + current_statement__ = 3; + a6 = in__.template read>>>( + N, N, N); + std::vector> a5; + a5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); + + + current_statement__ = 4; + a5 = in__.template read>>(N, + N); + std::vector> a4; + a4 = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(a4, DUMMY_VAR__); + + current_statement__ = 5; + a4 = in__.template read>>( + N, N, N); + std::vector> a3; + a3 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(a3, DUMMY_VAR__); + + current_statement__ = 6; + a3 = in__.template read>>( + N, N); + std::vector> a2; + a2 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(a2, DUMMY_VAR__); + + current_statement__ = 7; + a2 = in__.template read>>( + N, N); + std::vector a1; + a1 = std::vector(N, DUMMY_VAR__); + + current_statement__ = 8; + a1 = in__.template read>(N); + std::vector>> y8; + y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(y8, DUMMY_VAR__); + + current_statement__ = 9; + y8 = in__.template read>>>( + N, N, N, N); + std::vector>> y7; + y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y7, DUMMY_VAR__); + + current_statement__ = 10; + y7 = in__.template read>>>( + N, N, N); + std::vector>> y6; + y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y6, DUMMY_VAR__); + + current_statement__ = 11; + y6 = in__.template read>>>( + N, N, N); + std::vector> y5; + y5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); + + + current_statement__ = 12; + y5 = in__.template read>>(N, + N); + std::vector> y4; + y4 = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(y4, DUMMY_VAR__); + + current_statement__ = 13; + y4 = in__.template read>>( + N, N, N); + std::vector> y3; + y3 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y3, DUMMY_VAR__); + + current_statement__ = 14; + y3 = in__.template read>>( + N, N); + std::vector> y2; + y2 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y2, DUMMY_VAR__); + + current_statement__ = 15; + y2 = in__.template read>>( + N, N); + std::vector y1; + y1 = std::vector(N, DUMMY_VAR__); + + current_statement__ = 16; + y1 = in__.template read>(N); + { + current_statement__ = 17; + lp_accum__.add(reduce_sum(x, 1, pstream__, a8)); + current_statement__ = 18; + lp_accum__.add(reduce_sum(x, 1, pstream__, a7)); + current_statement__ = 19; + lp_accum__.add(reduce_sum(x, 1, pstream__, a6)); + current_statement__ = 20; + lp_accum__.add(reduce_sum(x, 1, pstream__, a5)); + current_statement__ = 21; + lp_accum__.add(reduce_sum(x, 1, pstream__, a4)); + current_statement__ = 22; + lp_accum__.add(reduce_sum(x, 1, pstream__, a3)); + current_statement__ = 23; + lp_accum__.add(reduce_sum(x, 1, pstream__, a2)); + current_statement__ = 24; + lp_accum__.add(reduce_sum(x, 1, pstream__, a1)); + current_statement__ = 25; + lp_accum__.add(reduce_sum(y8, 1, pstream__)); + current_statement__ = 26; + lp_accum__.add(reduce_sum(y7, 1, pstream__)); + current_statement__ = 27; + lp_accum__.add(reduce_sum(y6, 1, pstream__)); + current_statement__ = 28; + lp_accum__.add(reduce_sum(y5, 1, pstream__)); + current_statement__ = 29; + lp_accum__.add(reduce_sum(y4, 1, pstream__)); + current_statement__ = 30; + lp_accum__.add(reduce_sum(y3, 1, pstream__)); + current_statement__ = 31; + lp_accum__.add(reduce_sum(y2, 1, pstream__)); + current_statement__ = 32; + lp_accum__.add(reduce_sum(y1, 1, pstream__)); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "reduce_sum_m2_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + std::vector>> a8; + a8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(a8, std::numeric_limits::quiet_NaN()); + + current_statement__ = 1; + a8 = in__.template read>>>( + N, N, N, N); + std::vector>> a7; + a7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(a7, std::numeric_limits::quiet_NaN()); + + current_statement__ = 2; + a7 = in__.template read>>>( + N, N, N); + std::vector>> a6; + a6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(a6, std::numeric_limits::quiet_NaN()); + + current_statement__ = 3; + a6 = in__.template read>>>( + N, N, N); + std::vector> a5; + a5 = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); + + + current_statement__ = 4; + a5 = in__.template read>>(N, + N); + std::vector> a4; + a4 = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(a4, std::numeric_limits::quiet_NaN()); + + current_statement__ = 5; + a4 = in__.template read>>( + N, N, N); + std::vector> a3; + a3 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(a3, std::numeric_limits::quiet_NaN()); + + current_statement__ = 6; + a3 = in__.template read>>( + N, N); + std::vector> a2; + a2 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(a2, std::numeric_limits::quiet_NaN()); + + current_statement__ = 7; + a2 = in__.template read>>( + N, N); + std::vector a1; + a1 = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 8; + a1 = in__.template read>(N); + std::vector>> y8; + y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(y8, std::numeric_limits::quiet_NaN()); + + current_statement__ = 9; + y8 = in__.template read>>>( + N, N, N, N); + std::vector>> y7; + y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y7, std::numeric_limits::quiet_NaN()); + + current_statement__ = 10; + y7 = in__.template read>>>( + N, N, N); + std::vector>> y6; + y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y6, std::numeric_limits::quiet_NaN()); + + current_statement__ = 11; + y6 = in__.template read>>>( + N, N, N); + std::vector> y5; + y5 = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); + + + current_statement__ = 12; + y5 = in__.template read>>(N, + N); + std::vector> y4; + y4 = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(y4, std::numeric_limits::quiet_NaN()); + + current_statement__ = 13; + y4 = in__.template read>>( + N, N, N); + std::vector> y3; + y3 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y3, std::numeric_limits::quiet_NaN()); + + current_statement__ = 14; + y3 = in__.template read>>( + N, N); + std::vector> y2; + y2 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y2, std::numeric_limits::quiet_NaN()); + + current_statement__ = 15; + y2 = in__.template read>>( + N, N); + std::vector y1; + y1 = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 16; + y1 = in__.template read>(N); + 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__) { + out__.write( + rvalue(a8, "a8", + index_uni(sym4__), index_uni(sym3__), 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__) { + out__.write(a7[(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__) { + out__.write(a6[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + } + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(a5[(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__) { + out__.write( + rvalue(a4, "a4", + index_uni(sym3__), index_uni(sym2__), index_uni(sym1__))); + } + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(a3[(sym2__ - 1)][(sym1__ - 1)]); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(a2[(sym2__ - 1)][(sym1__ - 1)]); + } + } + out__.write(a1); + 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__) { + out__.write( + rvalue(y8, "y8", + index_uni(sym4__), index_uni(sym3__), 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__) { + out__.write(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__) { + out__.write(y6[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + } + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(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__) { + out__.write( + 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__) { + out__.write(y3[(sym2__ - 1)][(sym1__ - 1)]); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(y2[(sym2__ - 1)][(sym1__ - 1)]); + } + } + 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__]); + } + } // 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + 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__) { + y1[(sym1__ - 1)] = in__.read(); + } + out__.write(y1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // 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__)); + } + } + } + } + } + } + } + } + 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() + "a7" + '.' + 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() + "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__)); + } + } + } + } + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "y3" + '.' + 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() + "y2" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // constrained_param_names() + + inline void unconstrained_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__)); + } + } + } + } + } + } + } + } + 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() + "a7" + '.' + 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() + "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__)); + } + } + } + } + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "y3" + '.' + 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() + "y2" + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"a8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"a4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"y4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"a8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"a5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"a4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"a1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"y4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"a8", "a7", "a6", "a5", + "a4", "a3", "a2", "a1", "y8", "y7", "y6", "y5", "y4", "y3", "y2", "y1" + }; + const std::array constrain_param_sizes__{(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 auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = reduce_sum_m2_model_namespace::reduce_sum_m2_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return reduce_sum_m2_model_namespace::profiles__; +} + +#endif + + + + $ ../../../../../../install/default/bin/stanc --print-cpp reduce_sum_m3.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace reduce_sum_m3_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'reduce_sum_m3.stan', line 210, column 2 to column 13)", + " (in 'reduce_sum_m3.stan', line 211, column 2 to column 18)", + " (in 'reduce_sum_m3.stan', line 212, column 2 to column 22)", + " (in 'reduce_sum_m3.stan', line 213, column 2 to column 21)", + " (in 'reduce_sum_m3.stan', line 214, column 2 to column 16)", + " (in 'reduce_sum_m3.stan', line 215, column 2 to column 21)", + " (in 'reduce_sum_m3.stan', line 216, column 2 to column 25)", + " (in 'reduce_sum_m3.stan', line 217, column 2 to column 24)", + " (in 'reduce_sum_m3.stan', line 218, column 2 to column 10)", + " (in 'reduce_sum_m3.stan', line 219, column 2 to column 16)", + " (in 'reduce_sum_m3.stan', line 220, column 2 to column 20)", + " (in 'reduce_sum_m3.stan', line 221, column 2 to column 19)", + " (in 'reduce_sum_m3.stan', line 222, column 2 to column 20)", + " (in 'reduce_sum_m3.stan', line 260, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 261, column 2 to column 60)", + " (in 'reduce_sum_m3.stan', line 262, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 263, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 264, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 265, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 266, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 267, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 268, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 269, column 2 to column 36)", + " (in 'reduce_sum_m3.stan', line 270, column 2 to column 38)", + " (in 'reduce_sum_m3.stan', line 271, column 2 to column 38)", + " (in 'reduce_sum_m3.stan', line 272, column 2 to column 37)", + " (in 'reduce_sum_m3.stan', line 273, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 274, column 2 to column 40)", + " (in 'reduce_sum_m3.stan', line 275, column 2 to column 40)", + " (in 'reduce_sum_m3.stan', line 276, column 2 to column 40)", + " (in 'reduce_sum_m3.stan', line 277, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 278, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 279, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 280, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 281, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 282, column 2 to column 41)", + " (in 'reduce_sum_m3.stan', line 283, column 2 to column 41)", + " (in 'reduce_sum_m3.stan', line 284, column 2 to column 41)", + " (in 'reduce_sum_m3.stan', line 285, column 2 to line 288, column 35)", + " (in 'reduce_sum_m3.stan', line 226, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 227, column 2 to column 60)", + " (in 'reduce_sum_m3.stan', line 228, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 229, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 230, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 231, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 232, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 233, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 234, column 2 to column 34)", + " (in 'reduce_sum_m3.stan', line 235, column 2 to column 36)", + " (in 'reduce_sum_m3.stan', line 236, column 2 to column 38)", + " (in 'reduce_sum_m3.stan', line 237, column 2 to column 38)", + " (in 'reduce_sum_m3.stan', line 238, column 2 to column 37)", + " (in 'reduce_sum_m3.stan', line 239, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 240, column 2 to column 40)", + " (in 'reduce_sum_m3.stan', line 241, column 2 to column 40)", + " (in 'reduce_sum_m3.stan', line 242, column 2 to column 40)", + " (in 'reduce_sum_m3.stan', line 243, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 244, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 245, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 246, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 247, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 248, column 2 to column 41)", + " (in 'reduce_sum_m3.stan', line 249, column 2 to column 41)", + " (in 'reduce_sum_m3.stan', line 250, column 2 to column 41)", + " (in 'reduce_sum_m3.stan', line 251, column 2 to line 254, column 34)", + " (in 'reduce_sum_m3.stan', line 256, column 2 to column 16)", + " (in 'reduce_sum_m3.stan', line 157, column 2 to column 8)", + " (in 'reduce_sum_m3.stan', line 158, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 158, column 2 to column 14)", + " (in 'reduce_sum_m3.stan', line 159, column 16 to column 17)", + " (in 'reduce_sum_m3.stan', line 159, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 159, column 2 to column 19)", + " (in 'reduce_sum_m3.stan', line 160, column 20 to column 21)", + " (in 'reduce_sum_m3.stan', line 160, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 160, column 2 to column 23)", + " (in 'reduce_sum_m3.stan', line 161, column 19 to column 20)", + " (in 'reduce_sum_m3.stan', line 161, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 161, column 12 to column 13)", + " (in 'reduce_sum_m3.stan', line 161, column 2 to column 22)", + " (in 'reduce_sum_m3.stan', line 162, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 162, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 162, column 2 to column 17)", + " (in 'reduce_sum_m3.stan', line 163, column 16 to column 17)", + " (in 'reduce_sum_m3.stan', line 163, column 19 to column 20)", + " (in 'reduce_sum_m3.stan', line 163, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 163, column 2 to column 22)", + " (in 'reduce_sum_m3.stan', line 164, column 20 to column 21)", + " (in 'reduce_sum_m3.stan', line 164, column 23 to column 24)", + " (in 'reduce_sum_m3.stan', line 164, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 164, column 2 to column 26)", + " (in 'reduce_sum_m3.stan', line 165, column 19 to column 20)", + " (in 'reduce_sum_m3.stan', line 165, column 22 to column 23)", + " (in 'reduce_sum_m3.stan', line 165, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 165, column 12 to column 13)", + " (in 'reduce_sum_m3.stan', line 165, column 2 to column 25)", + " (in 'reduce_sum_m3.stan', line 166, column 2 to column 11)", + " (in 'reduce_sum_m3.stan', line 167, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 167, column 2 to column 17)", + " (in 'reduce_sum_m3.stan', line 168, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 168, column 2 to column 21)", + " (in 'reduce_sum_m3.stan', line 169, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 169, column 12 to column 13)", + " (in 'reduce_sum_m3.stan', line 169, column 2 to column 20)", + " (in 'reduce_sum_m3.stan', line 170, column 2 to column 11)", + " (in 'reduce_sum_m3.stan', line 171, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 171, column 2 to column 14)", + " (in 'reduce_sum_m3.stan', line 172, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 172, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 172, column 2 to column 17)", + " (in 'reduce_sum_m3.stan', line 173, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 173, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 173, column 17 to column 18)", + " (in 'reduce_sum_m3.stan', line 173, column 2 to column 20)", + " (in 'reduce_sum_m3.stan', line 174, column 12 to column 13)", + " (in 'reduce_sum_m3.stan', line 174, column 15 to column 16)", + " (in 'reduce_sum_m3.stan', line 174, column 18 to column 19)", + " (in 'reduce_sum_m3.stan', line 174, column 2 to column 21)", + " (in 'reduce_sum_m3.stan', line 178, column 2 to column 36)", + " (in 'reduce_sum_m3.stan', line 179, column 2 to column 63)", + " (in 'reduce_sum_m3.stan', line 180, column 2 to column 36)", + " (in 'reduce_sum_m3.stan', line 181, column 2 to column 36)", + " (in 'reduce_sum_m3.stan', line 182, column 2 to column 36)", + " (in 'reduce_sum_m3.stan', line 183, column 2 to column 36)", + " (in 'reduce_sum_m3.stan', line 184, column 2 to column 36)", + " (in 'reduce_sum_m3.stan', line 185, column 2 to column 36)", + " (in 'reduce_sum_m3.stan', line 186, column 2 to column 36)", + " (in 'reduce_sum_m3.stan', line 187, column 2 to column 37)", + " (in 'reduce_sum_m3.stan', line 188, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 189, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 190, column 2 to column 39)", + " (in 'reduce_sum_m3.stan', line 191, column 2 to column 42)", + " (in 'reduce_sum_m3.stan', line 192, column 2 to column 43)", + " (in 'reduce_sum_m3.stan', line 193, column 2 to column 43)", + " (in 'reduce_sum_m3.stan', line 194, column 2 to column 43)", + " (in 'reduce_sum_m3.stan', line 195, column 2 to column 42)", + " (in 'reduce_sum_m3.stan', line 196, column 2 to column 42)", + " (in 'reduce_sum_m3.stan', line 197, column 2 to column 42)", + " (in 'reduce_sum_m3.stan', line 198, column 2 to column 42)", + " (in 'reduce_sum_m3.stan', line 199, column 2 to column 42)", + " (in 'reduce_sum_m3.stan', line 200, column 2 to column 44)", + " (in 'reduce_sum_m3.stan', line 201, column 2 to column 44)", + " (in 'reduce_sum_m3.stan', line 202, column 2 to column 44)", + " (in 'reduce_sum_m3.stan', line 203, column 2 to line 206, column 36)", + " (in 'reduce_sum_m3.stan', line 210, column 10 to column 11)", + " (in 'reduce_sum_m3.stan', line 211, column 15 to column 16)", + " (in 'reduce_sum_m3.stan', line 211, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 212, column 19 to column 20)", + " (in 'reduce_sum_m3.stan', line 212, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 213, column 18 to column 19)", + " (in 'reduce_sum_m3.stan', line 213, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 213, column 12 to column 13)", + " (in 'reduce_sum_m3.stan', line 214, column 10 to column 11)", + " (in 'reduce_sum_m3.stan', line 214, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 215, column 15 to column 16)", + " (in 'reduce_sum_m3.stan', line 215, column 18 to column 19)", + " (in 'reduce_sum_m3.stan', line 215, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 216, column 19 to column 20)", + " (in 'reduce_sum_m3.stan', line 216, column 22 to column 23)", + " (in 'reduce_sum_m3.stan', line 216, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 217, column 18 to column 19)", + " (in 'reduce_sum_m3.stan', line 217, column 21 to column 22)", + " (in 'reduce_sum_m3.stan', line 217, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 217, column 12 to column 13)", + " (in 'reduce_sum_m3.stan', line 219, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 220, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 221, column 9 to column 10)", + " (in 'reduce_sum_m3.stan', line 221, column 12 to column 13)", + " (in 'reduce_sum_m3.stan', line 222, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 222, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 222, column 17 to column 18)", + " (in 'reduce_sum_m3.stan', line 3, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 2, column 46 to line 4, column 3)", + " (in 'reduce_sum_m3.stan', line 6, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 5, column 47 to line 7, column 3)", + " (in 'reduce_sum_m3.stan', line 9, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 8, column 48 to line 10, column 3)", + " (in 'reduce_sum_m3.stan', line 12, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 11, column 52 to line 13, column 3)", + " (in 'reduce_sum_m3.stan', line 15, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 14, column 48 to line 16, column 3)", + " (in 'reduce_sum_m3.stan', line 18, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 17, column 47 to line 19, column 3)", + " (in 'reduce_sum_m3.stan', line 21, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 20, column 49 to line 22, column 3)", + " (in 'reduce_sum_m3.stan', line 24, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 23, column 53 to line 25, column 3)", + " (in 'reduce_sum_m3.stan', line 27, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 26, column 49 to line 28, column 3)", + " (in 'reduce_sum_m3.stan', line 30, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 29, column 45 to line 31, column 3)", + " (in 'reduce_sum_m3.stan', line 33, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 32, column 47 to line 34, column 3)", + " (in 'reduce_sum_m3.stan', line 36, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 35, column 48 to line 37, column 3)", + " (in 'reduce_sum_m3.stan', line 39, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 38, column 49 to line 40, column 3)", + " (in 'reduce_sum_m3.stan', line 42, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 41, column 54 to line 43, column 3)", + " (in 'reduce_sum_m3.stan', line 45, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 44, column 56 to line 46, column 3)", + " (in 'reduce_sum_m3.stan', line 48, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 47, column 60 to line 49, column 3)", + " (in 'reduce_sum_m3.stan', line 51, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 50, column 56 to line 52, column 3)", + " (in 'reduce_sum_m3.stan', line 54, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 53, column 56 to line 55, column 3)", + " (in 'reduce_sum_m3.stan', line 57, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 56, column 58 to line 58, column 3)", + " (in 'reduce_sum_m3.stan', line 60, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 59, column 62 to line 61, column 3)", + " (in 'reduce_sum_m3.stan', line 63, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 62, column 58 to line 64, column 3)", + " (in 'reduce_sum_m3.stan', line 66, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 65, column 57 to line 67, column 3)", + " (in 'reduce_sum_m3.stan', line 69, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 68, column 60 to line 70, column 3)", + " (in 'reduce_sum_m3.stan', line 72, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 71, column 64 to line 73, column 3)", + " (in 'reduce_sum_m3.stan', line 75, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 74, column 60 to line 76, column 3)", + " (in 'reduce_sum_m3.stan', line 82, column 4 to line 86, column 28)", + " (in 'reduce_sum_m3.stan', line 81, column 32 to line 87, column 3)", + " (in 'reduce_sum_m3.stan', line 89, column 4 to column 10)", + " (in 'reduce_sum_m3.stan', line 90, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 90, column 4 to column 16)", + " (in 'reduce_sum_m3.stan', line 91, column 18 to column 19)", + " (in 'reduce_sum_m3.stan', line 91, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 91, column 4 to column 21)", + " (in 'reduce_sum_m3.stan', line 92, column 22 to column 23)", + " (in 'reduce_sum_m3.stan', line 92, column 15 to column 16)", + " (in 'reduce_sum_m3.stan', line 92, column 4 to column 25)", + " (in 'reduce_sum_m3.stan', line 93, column 21 to column 22)", + " (in 'reduce_sum_m3.stan', line 93, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 93, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 93, column 4 to column 24)", + " (in 'reduce_sum_m3.stan', line 94, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 94, column 16 to column 17)", + " (in 'reduce_sum_m3.stan', line 94, column 4 to column 19)", + " (in 'reduce_sum_m3.stan', line 95, column 18 to column 19)", + " (in 'reduce_sum_m3.stan', line 95, column 21 to column 22)", + " (in 'reduce_sum_m3.stan', line 95, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 95, column 4 to column 24)", + " (in 'reduce_sum_m3.stan', line 96, column 22 to column 23)", + " (in 'reduce_sum_m3.stan', line 96, column 25 to column 26)", + " (in 'reduce_sum_m3.stan', line 96, column 15 to column 16)", + " (in 'reduce_sum_m3.stan', line 96, column 4 to column 28)", + " (in 'reduce_sum_m3.stan', line 97, column 21 to column 22)", + " (in 'reduce_sum_m3.stan', line 97, column 24 to column 25)", + " (in 'reduce_sum_m3.stan', line 97, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 97, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 97, column 4 to column 27)", + " (in 'reduce_sum_m3.stan', line 98, column 4 to column 13)", + " (in 'reduce_sum_m3.stan', line 99, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 99, column 4 to column 19)", + " (in 'reduce_sum_m3.stan', line 100, column 15 to column 16)", + " (in 'reduce_sum_m3.stan', line 100, column 4 to column 23)", + " (in 'reduce_sum_m3.stan', line 101, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 101, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 101, column 4 to column 22)", + " (in 'reduce_sum_m3.stan', line 102, column 4 to column 13)", + " (in 'reduce_sum_m3.stan', line 103, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 103, column 4 to column 16)", + " (in 'reduce_sum_m3.stan', line 104, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 104, column 16 to column 17)", + " (in 'reduce_sum_m3.stan', line 104, column 4 to column 19)", + " (in 'reduce_sum_m3.stan', line 105, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 105, column 16 to column 17)", + " (in 'reduce_sum_m3.stan', line 105, column 19 to column 20)", + " (in 'reduce_sum_m3.stan', line 105, column 4 to column 22)", + " (in 'reduce_sum_m3.stan', line 106, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 106, column 17 to column 18)", + " (in 'reduce_sum_m3.stan', line 106, column 20 to column 21)", + " (in 'reduce_sum_m3.stan', line 106, column 4 to column 23)", + " (in 'reduce_sum_m3.stan', line 108, column 12 to column 13)", + " (in 'reduce_sum_m3.stan', line 108, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 109, column 17 to column 18)", + " (in 'reduce_sum_m3.stan', line 109, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 109, column 4 to column 20)", + " (in 'reduce_sum_m3.stan', line 110, column 21 to column 22)", + " (in 'reduce_sum_m3.stan', line 110, column 15 to column 16)", + " (in 'reduce_sum_m3.stan', line 110, column 4 to column 24)", + " (in 'reduce_sum_m3.stan', line 111, column 20 to column 21)", + " (in 'reduce_sum_m3.stan', line 111, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 111, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 111, column 4 to column 23)", + " (in 'reduce_sum_m3.stan', line 112, column 12 to column 13)", + " (in 'reduce_sum_m3.stan', line 112, column 15 to column 16)", + " (in 'reduce_sum_m3.stan', line 112, column 4 to column 18)", + " (in 'reduce_sum_m3.stan', line 113, column 17 to column 18)", + " (in 'reduce_sum_m3.stan', line 113, column 20 to column 21)", + " (in 'reduce_sum_m3.stan', line 113, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 113, column 4 to column 23)", + " (in 'reduce_sum_m3.stan', line 114, column 21 to column 22)", + " (in 'reduce_sum_m3.stan', line 114, column 24 to column 25)", + " (in 'reduce_sum_m3.stan', line 114, column 15 to column 16)", + " (in 'reduce_sum_m3.stan', line 114, column 4 to column 27)", + " (in 'reduce_sum_m3.stan', line 115, column 20 to column 21)", + " (in 'reduce_sum_m3.stan', line 115, column 23 to column 24)", + " (in 'reduce_sum_m3.stan', line 115, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 115, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 115, column 4 to column 26)", + " (in 'reduce_sum_m3.stan', line 116, column 4 to column 12)", + " (in 'reduce_sum_m3.stan', line 117, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 117, column 4 to column 18)", + " (in 'reduce_sum_m3.stan', line 118, column 15 to column 16)", + " (in 'reduce_sum_m3.stan', line 118, column 4 to column 22)", + " (in 'reduce_sum_m3.stan', line 119, column 11 to column 12)", + " (in 'reduce_sum_m3.stan', line 119, column 14 to column 15)", + " (in 'reduce_sum_m3.stan', line 119, column 4 to column 21)", + " (in 'reduce_sum_m3.stan', line 120, column 13 to column 14)", + " (in 'reduce_sum_m3.stan', line 120, column 16 to column 17)", + " (in 'reduce_sum_m3.stan', line 120, column 19 to column 20)", + " (in 'reduce_sum_m3.stan', line 120, column 4 to column 22)", + " (in 'reduce_sum_m3.stan', line 122, column 4 to column 36)", + " (in 'reduce_sum_m3.stan', line 123, column 4 to column 62)", + " (in 'reduce_sum_m3.stan', line 124, column 4 to column 36)", + " (in 'reduce_sum_m3.stan', line 125, column 4 to column 36)", + " (in 'reduce_sum_m3.stan', line 126, column 4 to column 36)", + " (in 'reduce_sum_m3.stan', line 127, column 4 to column 36)", + " (in 'reduce_sum_m3.stan', line 128, column 4 to column 36)", + " (in 'reduce_sum_m3.stan', line 129, column 4 to column 36)", + " (in 'reduce_sum_m3.stan', line 130, column 4 to column 36)", + " (in 'reduce_sum_m3.stan', line 131, column 4 to column 38)", + " (in 'reduce_sum_m3.stan', line 132, column 4 to column 40)", + " (in 'reduce_sum_m3.stan', line 133, column 4 to column 40)", + " (in 'reduce_sum_m3.stan', line 134, column 4 to column 39)", + " (in 'reduce_sum_m3.stan', line 135, column 4 to column 41)", + " (in 'reduce_sum_m3.stan', line 136, column 4 to column 42)", + " (in 'reduce_sum_m3.stan', line 137, column 4 to column 42)", + " (in 'reduce_sum_m3.stan', line 138, column 4 to column 42)", + " (in 'reduce_sum_m3.stan', line 139, column 4 to column 41)", + " (in 'reduce_sum_m3.stan', line 140, column 4 to column 41)", + " (in 'reduce_sum_m3.stan', line 141, column 4 to column 41)", + " (in 'reduce_sum_m3.stan', line 142, column 4 to column 41)", + " (in 'reduce_sum_m3.stan', line 143, column 4 to column 41)", + " (in 'reduce_sum_m3.stan', line 144, column 4 to column 43)", + " (in 'reduce_sum_m3.stan', line 145, column 4 to column 43)", + " (in 'reduce_sum_m3.stan', line 146, column 4 to column 43)", + " (in 'reduce_sum_m3.stan', line 147, column 4 to line 150, column 36)", + " (in 'reduce_sum_m3.stan', line 152, column 4 to column 15)", + " (in 'reduce_sum_m3.stan', line 88, column 11 to line 153, column 3)"}; +struct f10_rsfunctor__; +struct f11_rsfunctor__; +struct f12_rsfunctor__; +struct f1_rsfunctor__; +struct f1a_rsfunctor__; +struct f2_rsfunctor__; +struct f3_rsfunctor__; +struct f4_rsfunctor__; +struct f5_rsfunctor__; +struct f6_rsfunctor__; +struct f7_rsfunctor__; +struct f8_rsfunctor__; +struct f9_rsfunctor__; +struct g10_rsfunctor__; +struct g11_rsfunctor__; +struct g12_rsfunctor__; +struct g1_rsfunctor__; +struct g2_rsfunctor__; +struct g3_rsfunctor__; +struct g4_rsfunctor__; +struct g5_rsfunctor__; +struct g6_rsfunctor__; +struct g7_rsfunctor__; +struct g8_rsfunctor__; +struct g9_rsfunctor__; +struct s_rsfunctor__; +template +stan::promote_args_t +f1(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) ; + +struct f1_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return f1(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f1_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return f1(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +f1a(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) ; + +struct f1a_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return f1a(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f1a_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return f1a(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +f2(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) ; + +struct f2_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f2(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f2_functor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f2(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +f3(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) ; + +struct f3_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f3(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f3_functor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f3(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +f4(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) ; + +struct f4_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f4(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f4_functor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f4(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +f5(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) ; + +struct f5_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return f5(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f5_functor__ { +template +stan::promote_args_t +operator()(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return f5(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +f6(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) ; + +struct f6_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f6(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f6_functor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f6(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +f7(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) ; + +struct f7_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f7(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f7_functor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f7(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +f8(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) ; + +struct f8_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f8(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f8_functor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f8(y_slice, start, end, pstream__); +} +}; + +double +f9(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) ; + +struct f9_rsfunctor__ { +double +operator()(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) const +{ +return f9(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f9_functor__ { +double +operator()(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) const +{ +return f9(y_slice, start, end, pstream__); +} +}; + +double +f10(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) ; + +struct f10_rsfunctor__ { +double +operator()(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return f10(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f10_functor__ { +double +operator()(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) const +{ +return f10(y_slice, start, end, pstream__); +} +}; + +double +f11(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) ; + +struct f11_rsfunctor__ { +double +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f11(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f11_functor__ { +double +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f11(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +f12(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) ; + +struct f12_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f12(y_slice, start + 1, end + 1, pstream__); +} +}; + + +struct f12_functor__ { +template +stan::promote_args_t +operator()(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) const +{ +return f12(y_slice, start, end, pstream__); +} +}; + +template +stan::promote_args_t +g1(const std::vector& y_slice, const int& start, const int& end, + const T3__& a, std::ostream* pstream__) ; + +struct g1_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, const T3__& a) const +{ +return g1(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g1_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, const T3__& a, std::ostream* pstream__) const +{ +return g1(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t> +g2(const std::vector& y_slice, const int& start, const int& end, + const T3__& a, std::ostream* pstream__) ; + +struct g2_rsfunctor__ { +template +stan::promote_args_t> +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, const T3__& a) const +{ +return g2(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g2_functor__ { +template +stan::promote_args_t> +operator()(const std::vector& y_slice, const int& start, + const int& end, const T3__& a, std::ostream* pstream__) const +{ +return g2(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t> +g3(const std::vector& y_slice, const int& start, const int& end, + const T3__& a, std::ostream* pstream__) ; + +struct g3_rsfunctor__ { +template +stan::promote_args_t> +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, const T3__& a) const +{ +return g3(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g3_functor__ { +template +stan::promote_args_t> +operator()(const std::vector& y_slice, const int& start, + const int& end, const T3__& a, std::ostream* pstream__) const +{ +return g3(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t> +g4(const std::vector& y_slice, const int& start, const int& end, + const T3__& a, std::ostream* pstream__) ; + +struct g4_rsfunctor__ { +template +stan::promote_args_t> +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, const T3__& a) const +{ +return g4(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g4_functor__ { +template +stan::promote_args_t> +operator()(const std::vector& y_slice, const int& start, + const int& end, const T3__& a, std::ostream* pstream__) const +{ +return g4(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +g5(const std::vector& y_slice, const int& start, const int& end, + const std::vector& a, std::ostream* pstream__) ; + +struct g5_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, + const std::vector& a) const +{ +return g5(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g5_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, const std::vector& a, + std::ostream* pstream__) const +{ +return g5(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +g6(const std::vector& y_slice, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) ; + +struct g6_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, + const std::vector>& a) const +{ +return g6(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g6_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, const std::vector>& a, + std::ostream* pstream__) const +{ +return g6(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +g7(const std::vector& y_slice, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) ; + +struct g7_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, + const std::vector>& a) const +{ +return g7(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g7_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, const std::vector>& a, + std::ostream* pstream__) const +{ +return g7(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +g8(const std::vector& y_slice, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) ; + +struct g8_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, + const std::vector>& a) const +{ +return g8(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g8_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, const std::vector>& a, + std::ostream* pstream__) const +{ +return g8(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +g9(const std::vector& y_slice, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) ; + +struct g9_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, + const std::vector>& a) const +{ +return g9(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g9_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, const std::vector>& a, + std::ostream* pstream__) const +{ +return g9(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +g10(const std::vector& y_slice, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) ; + +struct g10_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, + const std::vector>>& a) const +{ +return g10(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g10_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, + const std::vector>>& a, + std::ostream* pstream__) const +{ +return g10(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +g11(const std::vector& y_slice, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) ; + +struct g11_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, + const std::vector>>& a) const +{ +return g11(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g11_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, + const std::vector>>& a, + std::ostream* pstream__) const +{ +return g11(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t +g12(const std::vector& y_slice, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) ; + +struct g12_rsfunctor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, + const std::vector>>& a) const +{ +return g12(y_slice, start + 1, end + 1, a, pstream__); +} +}; + + +struct g12_functor__ { +template +stan::promote_args_t +operator()(const std::vector& y_slice, const int& start, + const int& end, + const std::vector>>& a, + std::ostream* pstream__) const +{ +return g12(y_slice, start, end, a, pstream__); +} +}; + +template +stan::promote_args_t, +stan::value_type_t, +stan::value_type_t, stan::promote_args_t>> +s(const std::vector& y_slice, const int& start, const int& end, + const int& a, const T4__& b, const T5__& c, const T6__& d, const T7__& e, + const std::vector& f, const std::vector& g, + const std::vector>& h, + const std::vector>& i, + const std::vector>& j, + const std::vector>& k, + const std::vector>& l, + const std::vector>>& m, + const std::vector>>& n, + const std::vector>>& o, + const std::vector>>& p, + const std::vector>>& q, + std::ostream* pstream__) ; + +struct s_rsfunctor__ { +template +stan::promote_args_t, +stan::value_type_t, +stan::value_type_t, stan::promote_args_t>> +operator()(const std::vector& y_slice, const int& start, + const int& end, std::ostream* pstream__, const int& a, + const T4__& b, const T5__& c, const T6__& d, const T7__& e, + const std::vector& f, const std::vector& g, + const std::vector>& h, + const std::vector>& i, + const std::vector>& j, + const std::vector>& k, + const std::vector>& l, + const std::vector>>& m, + const std::vector>>& n, + const std::vector>>& o, + const std::vector>>& p, + const std::vector>>& q) const +{ +return s(y_slice, start + 1, end + 1, a, b, c, d, e, f, g, h, i, j, k, l, m, + n, o, p, q, pstream__); +} +}; + + +struct s_functor__ { +template +stan::promote_args_t, +stan::value_type_t, +stan::value_type_t, stan::promote_args_t>> +operator()(const std::vector& y_slice, const int& start, + const int& end, const int& a, const T4__& b, const T5__& c, + const T6__& d, const T7__& e, const std::vector& f, + const std::vector& g, + const std::vector>& h, + const std::vector>& i, + const std::vector>& j, + const std::vector>& k, + const std::vector>& l, + const std::vector>>& m, + const std::vector>>& n, + const std::vector>>& o, + const std::vector>>& p, + const std::vector>>& q, + std::ostream* pstream__) const +{ +return s(y_slice, start, end, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, + q, pstream__); +} +}; + +double +r(std::ostream* pstream__) ; + +struct r_functor__ { +double +operator()(std::ostream* pstream__) const +{ +return r(pstream__); +} +}; + +template +stan::promote_args_t +f1(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 171; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f1a(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 173; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f2(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 175; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f3(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 177; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f4(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 179; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f5(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 181; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f6(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 183; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f7(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 185; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f8(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 187; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +double +f9(const std::vector& y_slice, const int& start, const int& end, + std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 189; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +double +f10(const std::vector>& y_slice, const int& start, + const int& end, std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 191; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +double +f11(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 193; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +f12(const std::vector>>& y_slice, + const int& start, const int& end, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 195; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g1(const std::vector& y_slice, const int& start, const int& end, + const T3__& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 197; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t> +g2(const std::vector& y_slice, const int& start, const int& end, + const T3__& a_arg__, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + const auto& a = to_ref(a_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 199; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t> +g3(const std::vector& y_slice, const int& start, const int& end, + const T3__& a_arg__, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + const auto& a = to_ref(a_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 201; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t> +g4(const std::vector& y_slice, const int& start, const int& end, + const T3__& a_arg__, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t>; + int current_statement__ = 0; + const auto& a = to_ref(a_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 203; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g5(const std::vector& y_slice, const int& start, const int& end, + const std::vector& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 205; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g6(const std::vector& y_slice, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 207; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g7(const std::vector& y_slice, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 209; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g8(const std::vector& y_slice, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 211; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g9(const std::vector& y_slice, const int& start, const int& end, + const std::vector>& a, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 213; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g10(const std::vector& y_slice, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 215; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g11(const std::vector& y_slice, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 217; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t +g12(const std::vector& y_slice, const int& start, const int& end, + const std::vector>>& a, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 219; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +template +stan::promote_args_t, +stan::value_type_t, +stan::value_type_t, stan::promote_args_t>> +s(const std::vector& y_slice, const int& start, const int& end, + const int& a, const T4__& b, const T5__& c_arg__, const T6__& d_arg__, + const T7__& e_arg__, const std::vector& f, const std::vector& g, + const std::vector>& h, + const std::vector>& i, + const std::vector>& j, + const std::vector>& k, + const std::vector>& l, + const std::vector>>& m, + const std::vector>>& n, + const std::vector>>& o, + const std::vector>>& p, + const std::vector>>& q, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t, + stan::value_type_t, stan::promote_args_t>>; + int current_statement__ = 0; + const auto& c = to_ref(c_arg__); + const auto& d = to_ref(d_arg__); + const auto& e = to_ref(e_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + current_statement__ = 221; + return reduce_sum(y_slice, 1, pstream__, a, b, c, d, e, f, + g, h, i, j, k, l, m, n, o, p, q); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +double +r(std::ostream* pstream__) { + using local_scalar_t__ = double; + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int N; + N = std::numeric_limits::min(); + + current_statement__ = 224; + validate_non_negative_index("y1d", "N", N); + std::vector y1d; + y1d = std::vector(N, DUMMY_VAR__); + + current_statement__ = 226; + validate_non_negative_index("y2d", "N", N); + current_statement__ = 227; + validate_non_negative_index("y2d", "N", N); + std::vector> y2d; + y2d = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y2d, DUMMY_VAR__); + + current_statement__ = 229; + validate_non_negative_index("y3d", "N", N); + current_statement__ = 230; + validate_non_negative_index("y3d", "N", N); + std::vector> y3d; + y3d = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y3d, DUMMY_VAR__); + + current_statement__ = 232; + validate_non_negative_index("y4d", "N", N); + current_statement__ = 233; + validate_non_negative_index("y4d", "N", N); + current_statement__ = 234; + validate_non_negative_index("y4d", "N", N); + std::vector> y4d; + y4d = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(y4d, DUMMY_VAR__); + + current_statement__ = 236; + validate_non_negative_index("y5d", "N", N); + current_statement__ = 237; + validate_non_negative_index("y5d", "N", N); + std::vector> y5d; + y5d = std::vector>(N, std::vector(N, DUMMY_VAR__)); + + + current_statement__ = 239; + validate_non_negative_index("y6d", "N", N); + current_statement__ = 240; + validate_non_negative_index("y6d", "N", N); + current_statement__ = 241; + validate_non_negative_index("y6d", "N", N); + std::vector>> y6d; + y6d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y6d, DUMMY_VAR__); + + current_statement__ = 243; + validate_non_negative_index("y7d", "N", N); + current_statement__ = 244; + validate_non_negative_index("y7d", "N", N); + current_statement__ = 245; + validate_non_negative_index("y7d", "N", N); + std::vector>> y7d; + y7d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y7d, DUMMY_VAR__); + + current_statement__ = 247; + validate_non_negative_index("y8d", "N", N); + current_statement__ = 248; + validate_non_negative_index("y8d", "N", N); + current_statement__ = 249; + validate_non_negative_index("y8d", "N", N); + current_statement__ = 250; + validate_non_negative_index("y8d", "N", N); + std::vector>> y8d; + y8d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(y8d, DUMMY_VAR__); + + local_scalar_t__ y9d; + y9d = DUMMY_VAR__; + + current_statement__ = 253; + validate_non_negative_index("y10d", "N", N); + Eigen::Matrix y10d; + y10d = Eigen::Matrix(N); + stan::math::fill(y10d, DUMMY_VAR__); + + current_statement__ = 255; + validate_non_negative_index("y11d", "N", N); + Eigen::Matrix y11d; + y11d = Eigen::Matrix(N); + stan::math::fill(y11d, DUMMY_VAR__); + + current_statement__ = 257; + validate_non_negative_index("y12d", "N", N); + current_statement__ = 258; + validate_non_negative_index("y12d", "N", N); + Eigen::Matrix y12d; + y12d = Eigen::Matrix(N, N); + stan::math::fill(y12d, DUMMY_VAR__); + + int y13d; + y13d = std::numeric_limits::min(); + + current_statement__ = 261; + validate_non_negative_index("y14d", "N", N); + std::vector y14d; + y14d = std::vector(N, std::numeric_limits::min()); + + current_statement__ = 263; + validate_non_negative_index("y15d", "N", N); + current_statement__ = 264; + validate_non_negative_index("y15d", "N", N); + std::vector> y15d; + y15d = std::vector>(N, std::vector(N, std::numeric_limits::min())); + + + current_statement__ = 266; + validate_non_negative_index("y16d", "N", N); + current_statement__ = 267; + validate_non_negative_index("y16d", "N", N); + current_statement__ = 268; + validate_non_negative_index("y16d", "N", N); + std::vector>> y16d; + y16d = std::vector>>(N, std::vector>(N, std::vector(N, std::numeric_limits::min()))); + + + current_statement__ = 270; + validate_non_negative_index("y17d", "N", N); + current_statement__ = 271; + validate_non_negative_index("y17d", "N", N); + current_statement__ = 272; + validate_non_negative_index("y17d", "N", N); + std::vector>> y17d; + y17d = std::vector>>(N, std::vector>(N, std::vector(N, DUMMY_VAR__))); + + + current_statement__ = 274; + validate_non_negative_index("y1", "N", N); + std::vector y1; + y1 = std::vector(N, DUMMY_VAR__); + + current_statement__ = 276; + validate_non_negative_index("y2", "N", N); + current_statement__ = 277; + validate_non_negative_index("y2", "N", N); + std::vector> y2; + y2 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y2, DUMMY_VAR__); + + current_statement__ = 279; + validate_non_negative_index("y3", "N", N); + current_statement__ = 280; + validate_non_negative_index("y3", "N", N); + std::vector> y3; + y3 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y3, DUMMY_VAR__); + + current_statement__ = 282; + validate_non_negative_index("y4", "N", N); + current_statement__ = 283; + validate_non_negative_index("y4", "N", N); + current_statement__ = 284; + validate_non_negative_index("y4", "N", N); + std::vector> y4; + y4 = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(y4, DUMMY_VAR__); + + current_statement__ = 286; + validate_non_negative_index("y5", "N", N); + current_statement__ = 287; + validate_non_negative_index("y5", "N", N); + std::vector> y5; + y5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); + + + current_statement__ = 289; + validate_non_negative_index("y6", "N", N); + current_statement__ = 290; + validate_non_negative_index("y6", "N", N); + current_statement__ = 291; + validate_non_negative_index("y6", "N", N); + std::vector>> y6; + y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y6, DUMMY_VAR__); + + current_statement__ = 293; + validate_non_negative_index("y7", "N", N); + current_statement__ = 294; + validate_non_negative_index("y7", "N", N); + current_statement__ = 295; + validate_non_negative_index("y7", "N", N); + std::vector>> y7; + y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y7, DUMMY_VAR__); + + current_statement__ = 297; + validate_non_negative_index("y8", "N", N); + current_statement__ = 298; + validate_non_negative_index("y8", "N", N); + current_statement__ = 299; + validate_non_negative_index("y8", "N", N); + current_statement__ = 300; + validate_non_negative_index("y8", "N", N); + std::vector>> y8; + y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(y8, DUMMY_VAR__); + + local_scalar_t__ y9; + y9 = DUMMY_VAR__; + + current_statement__ = 303; + validate_non_negative_index("y10", "N", N); + Eigen::Matrix y10; + y10 = Eigen::Matrix(N); + stan::math::fill(y10, DUMMY_VAR__); + + current_statement__ = 305; + validate_non_negative_index("y11", "N", N); + Eigen::Matrix y11; + y11 = Eigen::Matrix(N); + stan::math::fill(y11, DUMMY_VAR__); + + current_statement__ = 307; + validate_non_negative_index("y12", "N", N); + current_statement__ = 308; + validate_non_negative_index("y12", "N", N); + Eigen::Matrix y12; + y12 = Eigen::Matrix(N, N); + stan::math::fill(y12, DUMMY_VAR__); + + current_statement__ = 310; + validate_non_negative_index("y17", "N", N); + current_statement__ = 311; + validate_non_negative_index("y17", "N", N); + current_statement__ = 312; + validate_non_negative_index("y17", "N", N); + std::vector>> y17; + y17 = std::vector>>(N, std::vector>(N, std::vector(N, DUMMY_VAR__))); + + + local_scalar_t__ t1; + t1 = DUMMY_VAR__; + + current_statement__ = 314; + t1 = reduce_sum(y1, 1, pstream__); + local_scalar_t__ t1a; + t1a = DUMMY_VAR__; + + current_statement__ = 315; + t1a = (reduce_sum(y1, 1, pstream__) + + reduce_sum(y1, 1, pstream__)); + local_scalar_t__ t2; + t2 = DUMMY_VAR__; + + current_statement__ = 316; + t2 = reduce_sum(y2, 1, pstream__); + local_scalar_t__ t3; + t3 = DUMMY_VAR__; + + current_statement__ = 317; + t3 = reduce_sum(y3, 1, pstream__); + local_scalar_t__ t4; + t4 = DUMMY_VAR__; + + current_statement__ = 318; + t4 = reduce_sum(y4, 1, pstream__); + local_scalar_t__ t5; + t5 = DUMMY_VAR__; + + current_statement__ = 319; + t5 = reduce_sum(y5, 1, pstream__); + local_scalar_t__ t6; + t6 = DUMMY_VAR__; + + current_statement__ = 320; + t6 = reduce_sum(y6, 1, pstream__); + local_scalar_t__ t7; + t7 = DUMMY_VAR__; + + current_statement__ = 321; + t7 = reduce_sum(y7, 1, pstream__); + local_scalar_t__ t8; + t8 = DUMMY_VAR__; + + current_statement__ = 322; + t8 = reduce_sum(y8, 1, pstream__); + local_scalar_t__ t9; + t9 = DUMMY_VAR__; + + current_statement__ = 323; + t9 = reduce_sum(y14d, 1, pstream__); + local_scalar_t__ t10; + t10 = DUMMY_VAR__; + + current_statement__ = 324; + t10 = reduce_sum(y15d, 1, pstream__); + local_scalar_t__ t11; + t11 = DUMMY_VAR__; + + current_statement__ = 325; + t11 = reduce_sum(y16d, 1, pstream__); + local_scalar_t__ t12; + t12 = DUMMY_VAR__; + + current_statement__ = 326; + t12 = reduce_sum(y17, 1, pstream__); + local_scalar_t__ tg1; + tg1 = DUMMY_VAR__; + + current_statement__ = 327; + tg1 = reduce_sum(y1, 1, pstream__, y9); + local_scalar_t__ tg2; + tg2 = DUMMY_VAR__; + + current_statement__ = 328; + tg2 = reduce_sum(y1, 1, pstream__, y10); + local_scalar_t__ tg3; + tg3 = DUMMY_VAR__; + + current_statement__ = 329; + tg3 = reduce_sum(y1, 1, pstream__, y11); + local_scalar_t__ tg4; + tg4 = DUMMY_VAR__; + + current_statement__ = 330; + tg4 = reduce_sum(y1, 1, pstream__, y12); + local_scalar_t__ tg5; + tg5 = DUMMY_VAR__; + + current_statement__ = 331; + tg5 = reduce_sum(y1, 1, pstream__, y1); + local_scalar_t__ tg6; + tg6 = DUMMY_VAR__; + + current_statement__ = 332; + tg6 = reduce_sum(y1, 1, pstream__, y2); + local_scalar_t__ tg7; + tg7 = DUMMY_VAR__; + + current_statement__ = 333; + tg7 = reduce_sum(y1, 1, pstream__, y3); + local_scalar_t__ tg8; + tg8 = DUMMY_VAR__; + + current_statement__ = 334; + tg8 = reduce_sum(y1, 1, pstream__, y4); + local_scalar_t__ tg9; + tg9 = DUMMY_VAR__; + + current_statement__ = 335; + tg9 = reduce_sum(y1, 1, pstream__, y5); + local_scalar_t__ tg10; + tg10 = DUMMY_VAR__; + + current_statement__ = 336; + tg10 = reduce_sum(y1, 1, pstream__, y6); + local_scalar_t__ tg11; + tg11 = DUMMY_VAR__; + + current_statement__ = 337; + tg11 = reduce_sum(y1, 1, pstream__, y7); + local_scalar_t__ tg12; + tg12 = DUMMY_VAR__; + + current_statement__ = 338; + tg12 = reduce_sum(y1, 1, pstream__, y8); + local_scalar_t__ ts; + ts = DUMMY_VAR__; + + current_statement__ = 339; + ts = reduce_sum(y1d, 1, pstream__, y13d, y9, y10, y11, + y12, y14d, y1, y2, y3, y4, y15d, y5, y6, y7, y8, y16d, y17); + current_statement__ = 340; + return 0.0; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} +class reduce_sum_m3_model final : public model_base_crtp { + + private: + int N; + std::vector y1d; + std::vector> y2d; + std::vector> y3d; + std::vector> y4d; + std::vector> y5d; + std::vector>> y6d; + std::vector>> y7d; + std::vector>> y8d; + double y9d; + Eigen::Matrix y10d__; + Eigen::Matrix y11d__; + Eigen::Matrix y12d__; + int y13d; + std::vector y14d; + std::vector> y15d; + std::vector>> y16d; + std::vector>> y17d; + double td1; + double td1a; + double td2; + double td3; + double td4; + double td5; + double td6; + double td7; + double td8; + double td9; + double td10; + double td11; + double td12; + double tgd1; + double tgd2; + double tgd3; + double tgd4; + double tgd5; + double tgd6; + double tgd7; + double tgd8; + double tgd9; + double tgd10; + double tgd11; + double tgd12; + double tsd; + Eigen::Map> y10d{nullptr, 0}; + Eigen::Map> y11d{nullptr, 0}; + Eigen::Map> y12d{nullptr, 0, 0}; + + public: + ~reduce_sum_m3_model() { } + + inline std::string model_name() const final { return "reduce_sum_m3_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + reduce_sum_m3_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "reduce_sum_m3_model_namespace::reduce_sum_m3_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = std::numeric_limits::min(); + + pos__ = 1; + current_statement__ = 67; + context__.validate_dims("data initialization","N","int", + std::vector{}); + N = std::numeric_limits::min(); + + current_statement__ = 67; + N = context__.vals_i("N")[(1 - 1)]; + current_statement__ = 68; + validate_non_negative_index("y1d", "N", N); + current_statement__ = 69; + context__.validate_dims("data initialization","y1d","double", + std::vector{static_cast(N)}); + y1d = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 69; + y1d = context__.vals_r("y1d"); + current_statement__ = 70; + validate_non_negative_index("y2d", "N", N); + current_statement__ = 71; + validate_non_negative_index("y2d", "N", N); + current_statement__ = 72; + context__.validate_dims("data initialization","y2d","double", + std::vector{static_cast(N), + static_cast(N)}); + y2d = std::vector>(N, Eigen::Matrix(N)); + + + { + std::vector y2d_flat__; + current_statement__ = 72; + y2d_flat__ = context__.vals_r("y2d"); + current_statement__ = 72; + pos__ = 1; + current_statement__ = 72; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 72; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 72; + assign(y2d, y2d_flat__[(pos__ - 1)], + "assigning variable y2d", index_uni(sym2__), index_uni(sym1__)); + current_statement__ = 72; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 73; + validate_non_negative_index("y3d", "N", N); + current_statement__ = 74; + validate_non_negative_index("y3d", "N", N); + current_statement__ = 75; + context__.validate_dims("data initialization","y3d","double", + std::vector{static_cast(N), + static_cast(N)}); + y3d = std::vector>(N, Eigen::Matrix(N)); + + + { + std::vector y3d_flat__; + current_statement__ = 75; + y3d_flat__ = context__.vals_r("y3d"); + current_statement__ = 75; + pos__ = 1; + current_statement__ = 75; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 75; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 75; + assign(y3d, y3d_flat__[(pos__ - 1)], + "assigning variable y3d", index_uni(sym2__), index_uni(sym1__)); + current_statement__ = 75; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 76; + validate_non_negative_index("y4d", "N", N); + current_statement__ = 77; + validate_non_negative_index("y4d", "N", N); + current_statement__ = 78; + validate_non_negative_index("y4d", "N", N); + current_statement__ = 79; + context__.validate_dims("data initialization","y4d","double", + std::vector{static_cast(N), + static_cast(N), static_cast(N)}); + y4d = std::vector>(N, Eigen::Matrix(N, N)); + + + { + std::vector y4d_flat__; + current_statement__ = 79; + y4d_flat__ = context__.vals_r("y4d"); + current_statement__ = 79; + pos__ = 1; + current_statement__ = 79; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 79; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 79; + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + current_statement__ = 79; + assign(y4d, y4d_flat__[(pos__ - 1)], + "assigning variable y4d", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 79; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 80; + validate_non_negative_index("y5d", "N", N); + current_statement__ = 81; + validate_non_negative_index("y5d", "N", N); + current_statement__ = 82; + context__.validate_dims("data initialization","y5d","double", + std::vector{static_cast(N), + static_cast(N)}); + y5d = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); + + + { + std::vector y5d_flat__; + current_statement__ = 82; + y5d_flat__ = context__.vals_r("y5d"); + current_statement__ = 82; + pos__ = 1; + current_statement__ = 82; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 82; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 82; + assign(y5d, y5d_flat__[(pos__ - 1)], + "assigning variable y5d", index_uni(sym2__), index_uni(sym1__)); + current_statement__ = 82; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 83; + validate_non_negative_index("y6d", "N", N); + current_statement__ = 84; + validate_non_negative_index("y6d", "N", N); + current_statement__ = 85; + validate_non_negative_index("y6d", "N", N); + current_statement__ = 86; + context__.validate_dims("data initialization","y6d","double", + std::vector{static_cast(N), + static_cast(N), static_cast(N)}); + y6d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + + + { + std::vector y6d_flat__; + current_statement__ = 86; + y6d_flat__ = context__.vals_r("y6d"); + current_statement__ = 86; + pos__ = 1; + current_statement__ = 86; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 86; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 86; + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + current_statement__ = 86; + assign(y6d, y6d_flat__[(pos__ - 1)], + "assigning variable y6d", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 86; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 87; + validate_non_negative_index("y7d", "N", N); + current_statement__ = 88; + validate_non_negative_index("y7d", "N", N); + current_statement__ = 89; + validate_non_negative_index("y7d", "N", N); + current_statement__ = 90; + context__.validate_dims("data initialization","y7d","double", + std::vector{static_cast(N), + static_cast(N), static_cast(N)}); + y7d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + + + { + std::vector y7d_flat__; + current_statement__ = 90; + y7d_flat__ = context__.vals_r("y7d"); + current_statement__ = 90; + pos__ = 1; + current_statement__ = 90; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 90; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 90; + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + current_statement__ = 90; + assign(y7d, y7d_flat__[(pos__ - 1)], + "assigning variable y7d", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 90; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 91; + validate_non_negative_index("y8d", "N", N); + current_statement__ = 92; + validate_non_negative_index("y8d", "N", N); + current_statement__ = 93; + validate_non_negative_index("y8d", "N", N); + current_statement__ = 94; + validate_non_negative_index("y8d", "N", N); + current_statement__ = 95; + context__.validate_dims("data initialization","y8d","double", + std::vector{static_cast(N), + static_cast(N), static_cast(N), + static_cast(N)}); + y8d = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + + + { + std::vector y8d_flat__; + current_statement__ = 95; + y8d_flat__ = context__.vals_r("y8d"); + current_statement__ = 95; + pos__ = 1; + current_statement__ = 95; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 95; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 95; + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + current_statement__ = 95; + for (int sym4__ = 1; sym4__ <= N; ++sym4__) { + current_statement__ = 95; + assign(y8d, y8d_flat__[(pos__ - 1)], + "assigning variable y8d", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 95; + pos__ = (pos__ + 1); + } + } + } + } + } + current_statement__ = 96; + context__.validate_dims("data initialization","y9d","double", + std::vector{}); + y9d = std::numeric_limits::quiet_NaN(); + + current_statement__ = 96; + y9d = context__.vals_r("y9d")[(1 - 1)]; + current_statement__ = 97; + validate_non_negative_index("y10d", "N", N); + current_statement__ = 98; + context__.validate_dims("data initialization","y10d","double", + std::vector{static_cast(N)}); + y10d__ = Eigen::Matrix(N); + new (&y10d) Eigen::Map>(y10d__.data(), N); + + { + std::vector y10d_flat__; + current_statement__ = 98; + y10d_flat__ = context__.vals_r("y10d"); + current_statement__ = 98; + pos__ = 1; + current_statement__ = 98; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 98; + assign(y10d, y10d_flat__[(pos__ - 1)], + "assigning variable y10d", index_uni(sym1__)); + current_statement__ = 98; + pos__ = (pos__ + 1); + } + } + current_statement__ = 99; + validate_non_negative_index("y11d", "N", N); + current_statement__ = 100; + context__.validate_dims("data initialization","y11d","double", + std::vector{static_cast(N)}); + y11d__ = Eigen::Matrix(N); + new (&y11d) Eigen::Map>(y11d__.data(), N); + + { + std::vector y11d_flat__; + current_statement__ = 100; + y11d_flat__ = context__.vals_r("y11d"); + current_statement__ = 100; + pos__ = 1; + current_statement__ = 100; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 100; + assign(y11d, y11d_flat__[(pos__ - 1)], + "assigning variable y11d", index_uni(sym1__)); + current_statement__ = 100; + pos__ = (pos__ + 1); + } + } + current_statement__ = 101; + validate_non_negative_index("y12d", "N", N); + current_statement__ = 102; + validate_non_negative_index("y12d", "N", N); + current_statement__ = 103; + context__.validate_dims("data initialization","y12d","double", + std::vector{static_cast(N), + static_cast(N)}); + y12d__ = Eigen::Matrix(N, N); + new (&y12d) Eigen::Map>(y12d__.data(), N, N); + + + { + std::vector y12d_flat__; + current_statement__ = 103; + y12d_flat__ = context__.vals_r("y12d"); + current_statement__ = 103; + pos__ = 1; + current_statement__ = 103; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 103; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 103; + assign(y12d, y12d_flat__[(pos__ - 1)], + "assigning variable y12d", index_uni(sym2__), index_uni(sym1__)); + current_statement__ = 103; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 104; + context__.validate_dims("data initialization","y13d","int", + std::vector{}); + y13d = std::numeric_limits::min(); + + current_statement__ = 104; + y13d = context__.vals_i("y13d")[(1 - 1)]; + current_statement__ = 105; + validate_non_negative_index("y14d", "N", N); + current_statement__ = 106; + context__.validate_dims("data initialization","y14d","int", + std::vector{static_cast(N)}); + y14d = std::vector(N, std::numeric_limits::min()); + + current_statement__ = 106; + y14d = context__.vals_i("y14d"); + current_statement__ = 107; + validate_non_negative_index("y15d", "N", N); + current_statement__ = 108; + validate_non_negative_index("y15d", "N", N); + current_statement__ = 109; + context__.validate_dims("data initialization","y15d","int", + std::vector{static_cast(N), + static_cast(N)}); + y15d = std::vector>(N, std::vector(N, std::numeric_limits::min())); + + + { + std::vector y15d_flat__; + current_statement__ = 109; + y15d_flat__ = context__.vals_i("y15d"); + current_statement__ = 109; + pos__ = 1; + current_statement__ = 109; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 109; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 109; + assign(y15d, y15d_flat__[(pos__ - 1)], + "assigning variable y15d", index_uni(sym2__), index_uni(sym1__)); + current_statement__ = 109; + pos__ = (pos__ + 1); + } + } + } + current_statement__ = 110; + validate_non_negative_index("y16d", "N", N); + current_statement__ = 111; + validate_non_negative_index("y16d", "N", N); + current_statement__ = 112; + validate_non_negative_index("y16d", "N", N); + current_statement__ = 113; + context__.validate_dims("data initialization","y16d","int", + std::vector{static_cast(N), + static_cast(N), static_cast(N)}); + y16d = std::vector>>(N, std::vector>(N, std::vector(N, std::numeric_limits::min()))); + + + { + std::vector y16d_flat__; + current_statement__ = 113; + y16d_flat__ = context__.vals_i("y16d"); + current_statement__ = 113; + pos__ = 1; + current_statement__ = 113; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 113; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 113; + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + current_statement__ = 113; + assign(y16d, y16d_flat__[(pos__ - 1)], + "assigning variable y16d", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 113; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 114; + validate_non_negative_index("y17d", "N", N); + current_statement__ = 115; + validate_non_negative_index("y17d", "N", N); + current_statement__ = 116; + validate_non_negative_index("y17d", "N", N); + current_statement__ = 117; + context__.validate_dims("data initialization","y17d","double", + std::vector{static_cast(N), + static_cast(N), static_cast(N)}); + y17d = std::vector>>(N, std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN()))); + + + { + std::vector y17d_flat__; + current_statement__ = 117; + y17d_flat__ = context__.vals_r("y17d"); + current_statement__ = 117; + pos__ = 1; + current_statement__ = 117; + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + current_statement__ = 117; + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + current_statement__ = 117; + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + current_statement__ = 117; + assign(y17d, y17d_flat__[(pos__ - 1)], + "assigning variable y17d", index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + current_statement__ = 117; + pos__ = (pos__ + 1); + } + } + } + } + current_statement__ = 118; + td1 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 118; + td1 = reduce_sum(y1d, 1, pstream__); + current_statement__ = 119; + td1a = std::numeric_limits::quiet_NaN(); + + current_statement__ = 119; + td1a = (reduce_sum(y1d, 1, pstream__) + + reduce_sum(y1d, 1, pstream__)); + current_statement__ = 120; + td2 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 120; + td2 = reduce_sum(y2d, 1, pstream__); + current_statement__ = 121; + td3 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 121; + td3 = reduce_sum(y3d, 1, pstream__); + current_statement__ = 122; + td4 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 122; + td4 = reduce_sum(y4d, 1, pstream__); + current_statement__ = 123; + td5 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 123; + td5 = reduce_sum(y5d, 1, pstream__); + current_statement__ = 124; + td6 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 124; + td6 = reduce_sum(y6d, 1, pstream__); + current_statement__ = 125; + td7 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 125; + td7 = reduce_sum(y7d, 1, pstream__); + current_statement__ = 126; + td8 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 126; + td8 = reduce_sum(y8d, 1, pstream__); + current_statement__ = 127; + td9 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 127; + td9 = reduce_sum(y14d, 1, pstream__); + current_statement__ = 128; + td10 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 128; + td10 = reduce_sum(y15d, 1, pstream__); + current_statement__ = 129; + td11 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 129; + td11 = reduce_sum(y16d, 1, pstream__); + current_statement__ = 130; + td12 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 130; + td12 = reduce_sum(y17d, 1, pstream__); + current_statement__ = 131; + tgd1 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 131; + tgd1 = reduce_sum(y1d, 1, pstream__, y9d); + current_statement__ = 132; + tgd2 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 132; + tgd2 = reduce_sum(y1d, 1, pstream__, y10d); + current_statement__ = 133; + tgd3 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 133; + tgd3 = reduce_sum(y1d, 1, pstream__, y11d); + current_statement__ = 134; + tgd4 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 134; + tgd4 = reduce_sum(y1d, 1, pstream__, y12d); + current_statement__ = 135; + tgd5 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 135; + tgd5 = reduce_sum(y1d, 1, pstream__, y1d); + current_statement__ = 136; + tgd6 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 136; + tgd6 = reduce_sum(y1d, 1, pstream__, y2d); + current_statement__ = 137; + tgd7 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 137; + tgd7 = reduce_sum(y1d, 1, pstream__, y3d); + current_statement__ = 138; + tgd8 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 138; + tgd8 = reduce_sum(y1d, 1, pstream__, y4d); + current_statement__ = 139; + tgd9 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 139; + tgd9 = reduce_sum(y1d, 1, pstream__, y5d); + current_statement__ = 140; + tgd10 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 140; + tgd10 = reduce_sum(y1d, 1, pstream__, y6d); + current_statement__ = 141; + tgd11 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 141; + tgd11 = reduce_sum(y1d, 1, pstream__, y7d); + current_statement__ = 142; + tgd12 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 142; + tgd12 = reduce_sum(y1d, 1, pstream__, y8d); + current_statement__ = 143; + tsd = std::numeric_limits::quiet_NaN(); + + current_statement__ = 143; + tsd = reduce_sum(y1d, 1, pstream__, y13d, y9d, y10d, + y11d, y12d, y14d, y1d, y2d, y3d, y4d, y15d, y5d, y6d, y7d, y8d, + y16d, y17d); + current_statement__ = 144; + validate_non_negative_index("y1", "N", N); + current_statement__ = 145; + validate_non_negative_index("y2", "N", N); + current_statement__ = 146; + validate_non_negative_index("y2", "N", N); + current_statement__ = 147; + validate_non_negative_index("y3", "N", N); + current_statement__ = 148; + validate_non_negative_index("y3", "N", N); + current_statement__ = 149; + validate_non_negative_index("y4", "N", N); + current_statement__ = 150; + validate_non_negative_index("y4", "N", N); + current_statement__ = 151; + validate_non_negative_index("y4", "N", N); + current_statement__ = 152; + validate_non_negative_index("y5", "N", N); + current_statement__ = 153; + validate_non_negative_index("y5", "N", N); + current_statement__ = 154; + validate_non_negative_index("y6", "N", N); + current_statement__ = 155; + validate_non_negative_index("y6", "N", N); + current_statement__ = 156; + validate_non_negative_index("y6", "N", N); + current_statement__ = 157; + validate_non_negative_index("y7", "N", N); + current_statement__ = 158; + validate_non_negative_index("y7", "N", N); + current_statement__ = 159; + validate_non_negative_index("y7", "N", N); + current_statement__ = 160; + validate_non_negative_index("y8", "N", N); + current_statement__ = 161; + validate_non_negative_index("y8", "N", N); + current_statement__ = 162; + validate_non_negative_index("y8", "N", N); + current_statement__ = 163; + validate_non_negative_index("y8", "N", N); + current_statement__ = 164; + validate_non_negative_index("y10", "N", N); + current_statement__ = 165; + validate_non_negative_index("y11", "N", N); + current_statement__ = 166; + validate_non_negative_index("y12", "N", N); + current_statement__ = 167; + validate_non_negative_index("y12", "N", N); + current_statement__ = 168; + validate_non_negative_index("y17", "N", N); + current_statement__ = 169; + validate_non_negative_index("y17", "N", N); + current_statement__ = 170; + validate_non_negative_index("y17", "N", N); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 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); + + } + + 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__ = "reduce_sum_m3_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + std::vector y1; + y1 = std::vector(N, DUMMY_VAR__); + + current_statement__ = 1; + y1 = in__.template read>(N); + std::vector> y2; + y2 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y2, DUMMY_VAR__); + + current_statement__ = 2; + y2 = in__.template read>>( + N, N); + std::vector> y3; + y3 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y3, DUMMY_VAR__); + + current_statement__ = 3; + y3 = in__.template read>>( + N, N); + std::vector> y4; + y4 = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(y4, DUMMY_VAR__); + + current_statement__ = 4; + y4 = in__.template read>>( + N, N, N); + std::vector> y5; + y5 = std::vector>(N, std::vector(N, DUMMY_VAR__)); + + + current_statement__ = 5; + y5 = in__.template read>>(N, + N); + std::vector>> y6; + y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y6, DUMMY_VAR__); + + current_statement__ = 6; + y6 = in__.template read>>>( + N, N, N); + std::vector>> y7; + y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y7, DUMMY_VAR__); + + current_statement__ = 7; + y7 = in__.template read>>>( + N, N, N); + std::vector>> y8; + y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(y8, DUMMY_VAR__); + + current_statement__ = 8; + y8 = in__.template read>>>( + N, N, N, N); + local_scalar_t__ y9; + y9 = DUMMY_VAR__; + + current_statement__ = 9; + y9 = in__.template read(); + Eigen::Matrix y10; + y10 = Eigen::Matrix(N); + stan::math::fill(y10, DUMMY_VAR__); + + current_statement__ = 10; + y10 = in__.template read>(N); + Eigen::Matrix y11; + y11 = Eigen::Matrix(N); + stan::math::fill(y11, DUMMY_VAR__); + + current_statement__ = 11; + y11 = in__.template read>(N); + Eigen::Matrix y12; + y12 = Eigen::Matrix(N, N); + stan::math::fill(y12, DUMMY_VAR__); + + current_statement__ = 12; + y12 = in__.template read>(N, N); + std::vector>> y17; + y17 = std::vector>>(N, std::vector>(N, std::vector(N, DUMMY_VAR__))); + + + current_statement__ = 13; + y17 = in__.template read>>>( + N, N, N); + { + local_scalar_t__ t1; + t1 = DUMMY_VAR__; + + current_statement__ = 40; + t1 = reduce_sum(y1, 1, pstream__); + local_scalar_t__ t1a; + t1a = DUMMY_VAR__; + + current_statement__ = 41; + t1a = (reduce_sum(y1, 1, pstream__) + + reduce_sum(y1, 1, pstream__)); + local_scalar_t__ t2; + t2 = DUMMY_VAR__; + + current_statement__ = 42; + t2 = reduce_sum(y2, 1, pstream__); + local_scalar_t__ t3; + t3 = DUMMY_VAR__; + + current_statement__ = 43; + t3 = reduce_sum(y3, 1, pstream__); + local_scalar_t__ t4; + t4 = DUMMY_VAR__; + + current_statement__ = 44; + t4 = reduce_sum(y4, 1, pstream__); + local_scalar_t__ t5; + t5 = DUMMY_VAR__; + + current_statement__ = 45; + t5 = reduce_sum(y5, 1, pstream__); + local_scalar_t__ t6; + t6 = DUMMY_VAR__; + + current_statement__ = 46; + t6 = reduce_sum(y6, 1, pstream__); + local_scalar_t__ t7; + t7 = DUMMY_VAR__; + + current_statement__ = 47; + t7 = reduce_sum(y7, 1, pstream__); + local_scalar_t__ t8; + t8 = DUMMY_VAR__; + + current_statement__ = 48; + t8 = reduce_sum(y8, 1, pstream__); + local_scalar_t__ t9; + t9 = DUMMY_VAR__; + + current_statement__ = 49; + t9 = reduce_sum(y14d, 1, pstream__); + local_scalar_t__ t10; + t10 = DUMMY_VAR__; + + current_statement__ = 50; + t10 = reduce_sum(y15d, 1, pstream__); + local_scalar_t__ t11; + t11 = DUMMY_VAR__; + + current_statement__ = 51; + t11 = reduce_sum(y16d, 1, pstream__); + local_scalar_t__ t12; + t12 = DUMMY_VAR__; + + current_statement__ = 52; + t12 = reduce_sum(y17, 1, pstream__); + local_scalar_t__ tg1; + tg1 = DUMMY_VAR__; + + current_statement__ = 53; + tg1 = reduce_sum(y1, 1, pstream__, y9); + local_scalar_t__ tg2; + tg2 = DUMMY_VAR__; + + current_statement__ = 54; + tg2 = reduce_sum(y1, 1, pstream__, y10); + local_scalar_t__ tg3; + tg3 = DUMMY_VAR__; + + current_statement__ = 55; + tg3 = reduce_sum(y1, 1, pstream__, y11); + local_scalar_t__ tg4; + tg4 = DUMMY_VAR__; + + current_statement__ = 56; + tg4 = reduce_sum(y1, 1, pstream__, y12); + local_scalar_t__ tg5; + tg5 = DUMMY_VAR__; + + current_statement__ = 57; + tg5 = reduce_sum(y1, 1, pstream__, y1); + local_scalar_t__ tg6; + tg6 = DUMMY_VAR__; + + current_statement__ = 58; + tg6 = reduce_sum(y1, 1, pstream__, y2); + local_scalar_t__ tg7; + tg7 = DUMMY_VAR__; + + current_statement__ = 59; + tg7 = reduce_sum(y1, 1, pstream__, y3); + local_scalar_t__ tg8; + tg8 = DUMMY_VAR__; + + current_statement__ = 60; + tg8 = reduce_sum(y1, 1, pstream__, y4); + local_scalar_t__ tg9; + tg9 = DUMMY_VAR__; + + current_statement__ = 61; + tg9 = reduce_sum(y1, 1, pstream__, y5); + local_scalar_t__ tg10; + tg10 = DUMMY_VAR__; + + current_statement__ = 62; + tg10 = reduce_sum(y1, 1, pstream__, y6); + local_scalar_t__ tg11; + tg11 = DUMMY_VAR__; + + current_statement__ = 63; + tg11 = reduce_sum(y1, 1, pstream__, y7); + local_scalar_t__ tg12; + tg12 = DUMMY_VAR__; + + current_statement__ = 64; + tg12 = reduce_sum(y1, 1, pstream__, y8); + local_scalar_t__ ts; + ts = DUMMY_VAR__; + + current_statement__ = 65; + ts = reduce_sum(y1d, 1, pstream__, y13d, y9, y10, y11, + y12, y14d, y1, y2, y3, y4, y15d, y5, y6, y7, y8, y16d, y17); + local_scalar_t__ tt; + tt = DUMMY_VAR__; + + current_statement__ = 66; + tt = r(pstream__); + } + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + 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; + 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__ = "reduce_sum_m3_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + std::vector y1; + y1 = std::vector(N, std::numeric_limits::quiet_NaN()); + + current_statement__ = 1; + y1 = in__.template read>(N); + std::vector> y2; + y2 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y2, std::numeric_limits::quiet_NaN()); + + current_statement__ = 2; + y2 = in__.template read>>( + N, N); + std::vector> y3; + y3 = std::vector>(N, Eigen::Matrix(N)); + stan::math::fill(y3, std::numeric_limits::quiet_NaN()); + + current_statement__ = 3; + y3 = in__.template read>>( + N, N); + std::vector> y4; + y4 = std::vector>(N, Eigen::Matrix(N, N)); + stan::math::fill(y4, std::numeric_limits::quiet_NaN()); + + current_statement__ = 4; + y4 = in__.template read>>( + N, N, N); + std::vector> y5; + y5 = std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN())); + + + current_statement__ = 5; + y5 = in__.template read>>(N, + N); + std::vector>> y6; + y6 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y6, std::numeric_limits::quiet_NaN()); + + current_statement__ = 6; + y6 = in__.template read>>>( + N, N, N); + std::vector>> y7; + y7 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N))); + stan::math::fill(y7, std::numeric_limits::quiet_NaN()); + + current_statement__ = 7; + y7 = in__.template read>>>( + N, N, N); + std::vector>> y8; + y8 = std::vector>>(N, std::vector>(N, Eigen::Matrix(N, N))); + stan::math::fill(y8, std::numeric_limits::quiet_NaN()); + + current_statement__ = 8; + y8 = in__.template read>>>( + N, N, N, N); + double y9; + y9 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 9; + y9 = in__.template read(); + Eigen::Matrix y10; + y10 = Eigen::Matrix(N); + stan::math::fill(y10, std::numeric_limits::quiet_NaN()); + + current_statement__ = 10; + y10 = in__.template read>(N); + Eigen::Matrix y11; + y11 = Eigen::Matrix(N); + stan::math::fill(y11, std::numeric_limits::quiet_NaN()); + + current_statement__ = 11; + y11 = in__.template read>(N); + Eigen::Matrix y12; + y12 = Eigen::Matrix(N, N); + stan::math::fill(y12, std::numeric_limits::quiet_NaN()); + + current_statement__ = 12; + y12 = in__.template read>(N, N); + std::vector>> y17; + y17 = std::vector>>(N, std::vector>(N, std::vector(N, std::numeric_limits::quiet_NaN()))); + + + current_statement__ = 13; + y17 = in__.template read>>>( + N, N, N); + out__.write(y1); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(y2[(sym2__ - 1)][(sym1__ - 1)]); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + out__.write(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__) { + out__.write( + 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__) { + out__.write(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__) { + out__.write(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__) { + out__.write(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__) { + out__.write( + rvalue(y8, "y8", + index_uni(sym4__), index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__))); + } + } + } + } + out__.write(y9); + out__.write(y10); + out__.write(y11); + out__.write(y12); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + for (int sym3__ = 1; sym3__ <= N; ++sym3__) { + out__.write(y17[(sym3__ - 1)][(sym2__ - 1)][(sym1__ - 1)]); + } + } + } + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + double t1; + t1 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 14; + t1 = reduce_sum(y1, 1, pstream__); + double t1a; + t1a = std::numeric_limits::quiet_NaN(); + + current_statement__ = 15; + t1a = (reduce_sum(y1, 1, pstream__) + + reduce_sum(y1, 1, pstream__)); + double t2; + t2 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 16; + t2 = reduce_sum(y2, 1, pstream__); + double t3; + t3 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 17; + t3 = reduce_sum(y3, 1, pstream__); + double t4; + t4 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 18; + t4 = reduce_sum(y4, 1, pstream__); + double t5; + t5 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 19; + t5 = reduce_sum(y5, 1, pstream__); + double t6; + t6 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 20; + t6 = reduce_sum(y6, 1, pstream__); + double t7; + t7 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 21; + t7 = reduce_sum(y7, 1, pstream__); + double t8; + t8 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 22; + t8 = reduce_sum(y8, 1, pstream__); + double t9; + t9 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 23; + t9 = reduce_sum(y14d, 1, pstream__); + double t10; + t10 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 24; + t10 = reduce_sum(y15d, 1, pstream__); + double t11; + t11 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 25; + t11 = reduce_sum(y16d, 1, pstream__); + double t12; + t12 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 26; + t12 = reduce_sum(y17, 1, pstream__); + double tg1; + tg1 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 27; + tg1 = reduce_sum(y1, 1, pstream__, y9); + double tg2; + tg2 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 28; + tg2 = reduce_sum(y1, 1, pstream__, y10); + double tg3; + tg3 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 29; + tg3 = reduce_sum(y1, 1, pstream__, y11); + double tg4; + tg4 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 30; + tg4 = reduce_sum(y1, 1, pstream__, y12); + double tg5; + tg5 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 31; + tg5 = reduce_sum(y1, 1, pstream__, y1); + double tg6; + tg6 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 32; + tg6 = reduce_sum(y1, 1, pstream__, y2); + double tg7; + tg7 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 33; + tg7 = reduce_sum(y1, 1, pstream__, y3); + double tg8; + tg8 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 34; + tg8 = reduce_sum(y1, 1, pstream__, y4); + double tg9; + tg9 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 35; + tg9 = reduce_sum(y1, 1, pstream__, y5); + double tg10; + tg10 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 36; + tg10 = reduce_sum(y1, 1, pstream__, y6); + double tg11; + tg11 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 37; + tg11 = reduce_sum(y1, 1, pstream__, y7); + double tg12; + tg12 = std::numeric_limits::quiet_NaN(); + + current_statement__ = 38; + tg12 = reduce_sum(y1, 1, pstream__, y8); + double tgs; + tgs = std::numeric_limits::quiet_NaN(); + + current_statement__ = 39; + tgs = reduce_sum(y1d, 1, pstream__, y13d, y9d, y10d, + y11d, y12d, y14d, y1d, y2d, y3d, y4d, y15d, y5d, y6d, y7d, y8d, + y16d, y17); + 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__]); + } + } // 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 y1; + y1 = std::vector(N, DUMMY_VAR__); + + 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__); + + 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__)); + } + } + out__.write(y2); + 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__) { + assign(y3, in__.read(), + "assigning variable y3", index_uni(sym2__), index_uni(sym1__)); + } + } + out__.write(y3); + 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__) { + assign(y4, in__.read(), + "assigning variable y4", index_uni(sym3__), index_uni(sym2__), + index_uni(sym1__)); + } + } + } + out__.write(y4); + 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__) { + y5[(sym2__ - 1)][(sym1__ - 1)] = in__.read(); + } + } + out__.write(y5); + 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__) { + 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__) { + 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__) { + assign(y8, in__.read(), + "assigning variable y8", index_uni(sym4__), + index_uni(sym3__), + index_uni(sym2__), + index_uni(sym1__)); + } + } + } + } + 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__) { + 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__) { + 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__) { + 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__) { + 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__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"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"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{ + static_cast(N) + }, + std::vector{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), + 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), static_cast(N)}, + std::vector{}, std::vector{static_cast(N)}, + std::vector{static_cast(N)}, + std::vector{static_cast(N), static_cast(N)}, + std::vector{static_cast(N), static_cast(N), + static_cast(N)}, std::vector{ + }, std::vector{}, std::vector{}, std::vector{ + }, std::vector{}, std::vector{}, std::vector{ + }, std::vector{}, std::vector{}, std::vector{ + }, std::vector{}, std::vector{}, std::vector{ + }, std::vector{}, std::vector{}, std::vector{ + }, std::vector{}, std::vector{}, std::vector{ + }, std::vector{}, std::vector{}, std::vector{ + }, std::vector{}, std::vector{}, std::vector{ + }, std::vector{}}; + + } // 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__) { + { + param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "y2" + '.' + 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() + "y3" + '.' + 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__)); + } + } + } + } + } + } + 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() + "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__) { + { + 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__) { + { + 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__)); + } + } + } + } + } + } + } + } + param_names__.emplace_back(std::string() + "y9"); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y10" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y11" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "y12" + '.' + 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() + "y17" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + param_names__.emplace_back(std::string() + "t1"); + param_names__.emplace_back(std::string() + "t1a"); + param_names__.emplace_back(std::string() + "t2"); + param_names__.emplace_back(std::string() + "t3"); + param_names__.emplace_back(std::string() + "t4"); + param_names__.emplace_back(std::string() + "t5"); + param_names__.emplace_back(std::string() + "t6"); + param_names__.emplace_back(std::string() + "t7"); + param_names__.emplace_back(std::string() + "t8"); + param_names__.emplace_back(std::string() + "t9"); + param_names__.emplace_back(std::string() + "t10"); + param_names__.emplace_back(std::string() + "t11"); + param_names__.emplace_back(std::string() + "t12"); + param_names__.emplace_back(std::string() + "tg1"); + param_names__.emplace_back(std::string() + "tg2"); + param_names__.emplace_back(std::string() + "tg3"); + param_names__.emplace_back(std::string() + "tg4"); + param_names__.emplace_back(std::string() + "tg5"); + param_names__.emplace_back(std::string() + "tg6"); + param_names__.emplace_back(std::string() + "tg7"); + param_names__.emplace_back(std::string() + "tg8"); + param_names__.emplace_back(std::string() + "tg9"); + param_names__.emplace_back(std::string() + "tg10"); + param_names__.emplace_back(std::string() + "tg11"); + param_names__.emplace_back(std::string() + "tg12"); + param_names__.emplace_back(std::string() + "tgs"); + } + + } // constrained_param_names() + + inline void unconstrained_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__) { + { + param_names__.emplace_back(std::string() + "y1" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "y2" + '.' + 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() + "y3" + '.' + 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__)); + } + } + } + } + } + } + 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() + "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__) { + { + 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__) { + { + 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__)); + } + } + } + } + } + } + } + } + param_names__.emplace_back(std::string() + "y9"); + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y10" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + param_names__.emplace_back(std::string() + "y11" + '.' + std::to_string(sym1__)); + } + } + for (int sym1__ = 1; sym1__ <= N; ++sym1__) { + { + for (int sym2__ = 1; sym2__ <= N; ++sym2__) { + { + param_names__.emplace_back(std::string() + "y12" + '.' + 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() + "y17" + '.' + std::to_string(sym3__) + '.' + std::to_string(sym2__) + '.' + std::to_string(sym1__)); + } + } + } + } + } + } + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + param_names__.emplace_back(std::string() + "t1"); + param_names__.emplace_back(std::string() + "t1a"); + param_names__.emplace_back(std::string() + "t2"); + param_names__.emplace_back(std::string() + "t3"); + param_names__.emplace_back(std::string() + "t4"); + param_names__.emplace_back(std::string() + "t5"); + param_names__.emplace_back(std::string() + "t6"); + param_names__.emplace_back(std::string() + "t7"); + param_names__.emplace_back(std::string() + "t8"); + param_names__.emplace_back(std::string() + "t9"); + param_names__.emplace_back(std::string() + "t10"); + param_names__.emplace_back(std::string() + "t11"); + param_names__.emplace_back(std::string() + "t12"); + param_names__.emplace_back(std::string() + "tg1"); + param_names__.emplace_back(std::string() + "tg2"); + param_names__.emplace_back(std::string() + "tg3"); + param_names__.emplace_back(std::string() + "tg4"); + param_names__.emplace_back(std::string() + "tg5"); + param_names__.emplace_back(std::string() + "tg6"); + param_names__.emplace_back(std::string() + "tg7"); + param_names__.emplace_back(std::string() + "tg8"); + param_names__.emplace_back(std::string() + "tg9"); + param_names__.emplace_back(std::string() + "tg10"); + param_names__.emplace_back(std::string() + "tg11"); + param_names__.emplace_back(std::string() + "tg12"); + param_names__.emplace_back(std::string() + "tgs"); + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"y6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y9\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"y10\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y11\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y12\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y17\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"parameters\"},{\"name\":\"t1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t1a\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t3\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t4\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t5\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t6\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t7\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t8\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t9\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t10\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t11\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t12\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg3\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg4\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg5\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg6\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg7\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg8\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg9\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg10\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg11\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg12\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tgs\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"y1\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}},\"block\":\"parameters\"},{\"name\":\"y2\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y3\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y4\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}},\"block\":\"parameters\"},{\"name\":\"y5\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}},\"block\":\"parameters\"},{\"name\":\"y6\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y7\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y8\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "}}},\"block\":\"parameters\"},{\"name\":\"y9\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"y10\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y11\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y12\",\"type\":{\"name\":\"matrix\",\"rows\":" + std::to_string(N) + ",\"cols\":" + std::to_string(N) + "},\"block\":\"parameters\"},{\"name\":\"y17\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"array\",\"length\":" + std::to_string(N) + ",\"element_type\":{\"name\":\"real\"}}}},\"block\":\"parameters\"},{\"name\":\"t1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t1a\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t3\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t4\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t5\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t6\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t7\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t8\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t9\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t10\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t11\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"t12\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg1\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg2\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg3\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg4\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg5\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg6\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg7\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg8\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg9\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg10\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg11\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tg12\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"tgs\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + 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 + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + 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.size()); + std::vector params_i; + 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 { + constexpr std::array names__{"y1", "y2", "y3", "y4", + "y5", "y6", "y7", "y8", "y9", "y10", "y11", "y12", "y17"}; + const std::array constrain_param_sizes__{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 auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} +using stan_model = reduce_sum_m3_model_namespace::reduce_sum_m3_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return reduce_sum_m3_model_namespace::profiles__; +} + +#endif + + + diff --git a/test/integration/good/code-gen/reduce_sum/dune b/test/integration/good/code-gen/reduce_sum/dune new file mode 100644 index 0000000000..da77853ac5 --- /dev/null +++ b/test/integration/good/code-gen/reduce_sum/dune @@ -0,0 +1,10 @@ +(rule + (targets cpp.output) + (deps (package stanc) (:stanfiles (glob_files *.stan))) + (action + (with-stdout-to %{targets} + (run %{bin:run_bin_on_args} "%{bin:stanc} --print-cpp" %{stanfiles})))) + +(alias + (name runtest) + (action (diff cpp.expected cpp.output))) \ No newline at end of file diff --git a/test/integration/good/code-gen/reduce_sum_m1.stan b/test/integration/good/code-gen/reduce_sum/reduce_sum_m1.stan similarity index 100% rename from test/integration/good/code-gen/reduce_sum_m1.stan rename to test/integration/good/code-gen/reduce_sum/reduce_sum_m1.stan diff --git a/test/integration/good/code-gen/reduce_sum_m2.stan b/test/integration/good/code-gen/reduce_sum/reduce_sum_m2.stan similarity index 100% rename from test/integration/good/code-gen/reduce_sum_m2.stan rename to test/integration/good/code-gen/reduce_sum/reduce_sum_m2.stan diff --git a/test/integration/good/code-gen/reduce_sum_m3.stan b/test/integration/good/code-gen/reduce_sum/reduce_sum_m3.stan similarity index 100% rename from test/integration/good/code-gen/reduce_sum_m3.stan rename to test/integration/good/code-gen/reduce_sum/reduce_sum_m3.stan diff --git a/test/integration/good/code-gen/standalone_functions/cpp.expected b/test/integration/good/code-gen/standalone_functions/cpp.expected index fe96908d74..6c460ba006 100644 --- a/test/integration/good/code-gen/standalone_functions/cpp.expected +++ b/test/integration/good/code-gen/standalone_functions/cpp.expected @@ -41,6 +41,124 @@ static constexpr std::array locations_array__ = " (in 'basic.stan', line 40, column 2 to column 31)", " (in 'basic.stan', line 39, column 32 to line 41, column 2)"}; +template +stan::promote_args_t +my_log1p_exp(const T0__& x, std::ostream* pstream__) ; + +struct my_log1p_exp_functor__ { +template +stan::promote_args_t +operator()(const T0__& x, std::ostream* pstream__) const +{ +return my_log1p_exp(x, pstream__); +} +}; + +template +stan::promote_args_t +array_fun(const std::vector& a, std::ostream* pstream__) ; + +struct array_fun_functor__ { +template +stan::promote_args_t +operator()(const std::vector& a, std::ostream* pstream__) const +{ +return array_fun(a, pstream__); +} +}; + +double +int_array_fun(const std::vector& a, std::ostream* pstream__) ; + +struct int_array_fun_functor__ { +double +operator()(const std::vector& a, std::ostream* pstream__) const +{ +return int_array_fun(a, pstream__); +} +}; + +template +Eigen::Matrix>, -1, 1> +my_vector_mul_by_5(const T0__& x, std::ostream* pstream__) ; + +struct my_vector_mul_by_5_functor__ { +template +Eigen::Matrix>, -1, 1> +operator()(const T0__& x, std::ostream* pstream__) const +{ +return my_vector_mul_by_5(x, pstream__); +} +}; + +int +int_only_multiplication(const int& a, const int& b, std::ostream* pstream__) ; + +struct int_only_multiplication_functor__ { +int +operator()(const int& a, const int& b, std::ostream* pstream__) const +{ +return int_only_multiplication(a, b, pstream__); +} +}; + +template +stan::promote_args_t +test_lgamma(const T0__& x, std::ostream* pstream__) ; + +struct test_lgamma_functor__ { +template +stan::promote_args_t +operator()(const T0__& x, std::ostream* pstream__) const +{ +return test_lgamma(x, pstream__); +} +}; + +template +void +test_lp(const T0__& a, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) ; + +struct test_lp_functor__ { +template +void +operator()(const T0__& a, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) const +{ +return test_lp(a, lp__, lp_accum__, pstream__); +} +}; + +template +stan::promote_args_t +test_rng(const T0__& a, RNG& base_rng__, std::ostream* pstream__) ; + +struct test_rng_functor__ { +template +stan::promote_args_t +operator()(const T0__& a, RNG& base_rng__, std::ostream* pstream__) const +{ +return test_rng(a, base_rng__, pstream__); +} +}; + +template +stan::promote_args_t +test_lpdf(const T0__& a, const T1__& b, std::ostream* pstream__) ; + +struct test_lpdf_functor__ { +template +stan::promote_args_t +operator()(const T0__& a, const T1__& b, std::ostream* pstream__) const +{ +return test_lpdf(a, b, pstream__); +} +}; template stan::promote_args_t @@ -59,16 +177,6 @@ my_log1p_exp(const T0__& x, std::ostream* pstream__) { } } - -struct my_log1p_exp_functor__ { -template -stan::promote_args_t -operator()(const T0__& x, std::ostream* pstream__) const -{ -return my_log1p_exp(x, pstream__); -} -}; - template stan::promote_args_t array_fun(const std::vector& a, std::ostream* pstream__) { @@ -86,16 +194,6 @@ array_fun(const std::vector& a, std::ostream* pstream__) { } } - -struct array_fun_functor__ { -template -stan::promote_args_t -operator()(const std::vector& a, std::ostream* pstream__) const -{ -return array_fun(a, pstream__); -} -}; - double int_array_fun(const std::vector& a, std::ostream* pstream__) { using local_scalar_t__ = double; @@ -112,15 +210,6 @@ int_array_fun(const std::vector& a, std::ostream* pstream__) { } } - -struct int_array_fun_functor__ { -double -operator()(const std::vector& a, std::ostream* pstream__) const -{ -return int_array_fun(a, pstream__); -} -}; - template Eigen::Matrix>, -1, 1> my_vector_mul_by_5(const T0__& x_arg__, std::ostream* pstream__) { @@ -147,16 +236,6 @@ my_vector_mul_by_5(const T0__& x_arg__, std::ostream* pstream__) { } } - -struct my_vector_mul_by_5_functor__ { -template -Eigen::Matrix>, -1, 1> -operator()(const T0__& x, std::ostream* pstream__) const -{ -return my_vector_mul_by_5(x, pstream__); -} -}; - int int_only_multiplication(const int& a, const int& b, std::ostream* pstream__) { using local_scalar_t__ = double; @@ -173,15 +252,6 @@ int_only_multiplication(const int& a, const int& b, std::ostream* pstream__) { } } - -struct int_only_multiplication_functor__ { -int -operator()(const int& a, const int& b, std::ostream* pstream__) const -{ -return int_only_multiplication(a, b, pstream__); -} -}; - template stan::promote_args_t test_lgamma(const T0__& x, std::ostream* pstream__) { @@ -199,16 +269,6 @@ test_lgamma(const T0__& x, std::ostream* pstream__) { } } - -struct test_lgamma_functor__ { -template -stan::promote_args_t -operator()(const T0__& x, std::ostream* pstream__) const -{ -return test_lgamma(x, pstream__); -} -}; - template void @@ -226,18 +286,6 @@ test_lp(const T0__& a, T_lp__& lp__, T_lp_accum__& lp_accum__, } } - -struct test_lp_functor__ { -template -void -operator()(const T0__& a, T_lp__& lp__, T_lp_accum__& lp_accum__, - std::ostream* pstream__) const -{ -return test_lp(a, lp__, lp_accum__, pstream__); -} -}; - template stan::promote_args_t test_rng(const T0__& a, RNG& base_rng__, std::ostream* pstream__) { @@ -255,16 +303,6 @@ test_rng(const T0__& a, RNG& base_rng__, std::ostream* pstream__) { } } - -struct test_rng_functor__ { -template -stan::promote_args_t -operator()(const T0__& a, RNG& base_rng__, std::ostream* pstream__) const -{ -return test_rng(a, base_rng__, pstream__); -} -}; - template stan::promote_args_t @@ -282,17 +320,6 @@ test_lpdf(const T0__& a, const T1__& b, std::ostream* pstream__) { } -struct test_lpdf_functor__ { -template -stan::promote_args_t -operator()(const T0__& a, const T1__& b, std::ostream* pstream__) const -{ -return test_lpdf(a, b, pstream__); -} -}; - - } // [[stan::function]] @@ -399,6 +426,48 @@ static constexpr std::array locations_array__ = " (in 'integrate.stan', line 21, column 4 to column 142)", " (in 'integrate.stan', line 14, column 23 to line 22, column 3)"}; +template +Eigen::Matrix>, -1, 1> +integrand(const T0__& x, std::ostream* pstream__) ; + +struct integrand_functor__ { +template +Eigen::Matrix>, -1, 1> +operator()(const T0__& x, std::ostream* pstream__) const +{ +return integrand(x, pstream__); +} +}; + +template +std::vector> +integrand_ode(const T0__& r, const std::vector& f, + const std::vector& theta, const std::vector& x_r, + const std::vector& x_i, std::ostream* pstream__) ; + +struct integrand_ode_functor__ { +template +std::vector> +operator()(const T0__& r, const std::vector& f, + const std::vector& theta, const std::vector& x_r, + const std::vector& x_i, std::ostream* pstream__) const +{ +return integrand_ode(r, f, theta, x_r, x_i, pstream__); +} +}; + +double +ode_integrate(std::ostream* pstream__) ; + +struct ode_integrate_functor__ { +double +operator()(std::ostream* pstream__) const +{ +return ode_integrate(pstream__); +} +}; template Eigen::Matrix>, -1, 1> @@ -418,16 +487,6 @@ integrand(const T0__& x_arg__, std::ostream* pstream__) { } } - -struct integrand_functor__ { -template -Eigen::Matrix>, -1, 1> -operator()(const T0__& x, std::ostream* pstream__) const -{ -return integrand(x, pstream__); -} -}; - template std::vector> @@ -459,19 +518,6 @@ integrand_ode(const T0__& r, const std::vector& f, } } - -struct integrand_ode_functor__ { -template -std::vector> -operator()(const T0__& r, const std::vector& f, - const std::vector& theta, const std::vector& x_r, - const std::vector& x_i, std::ostream* pstream__) const -{ -return integrand_ode(r, f, theta, x_r, x_i, pstream__); -} -}; - double ode_integrate(std::ostream* pstream__) { using local_scalar_t__ = double; @@ -497,15 +543,6 @@ ode_integrate(std::ostream* pstream__) { } -struct ode_integrate_functor__ { -double -operator()(std::ostream* pstream__) const -{ -return ode_integrate(pstream__); -} -}; - - } // [[stan::function]] diff --git a/test/integration/good/code-gen/transformed_mir.expected b/test/integration/good/code-gen/transformed_mir.expected index 6440b8f9b5..515638ee47 100644 --- a/test/integration/good/code-gen/transformed_mir.expected +++ b/test/integration/good/code-gen/transformed_mir.expected @@ -1,8 +1,8 @@ $ ../../../../../install/default/bin/stanc --debug-transformed-mir mother.stan ((functions_block - (((fdrt (UInt)) (fdname foo) (fdsuffix FnPlain) + (((fdrt (UInt)) (fdname foo) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable n UInt))) (fdbody ()) (fdloc )) - ((fdrt (UInt)) (fdname foo) (fdsuffix FnPlain) + ((fdrt (UInt)) (fdname foo) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable n UInt))) (fdbody (((pattern @@ -49,13 +49,13 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UReal))) (fdname sho) (fdsuffix FnPlain) + ((fdrt ((UArray UReal))) (fdname sho) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable t UReal) (AutoDiffable y (UArray UReal)) (AutoDiffable theta (UArray UReal)) (DataOnly x (UArray UReal)) (DataOnly x_int (UArray UInt)))) (fdbody ()) (fdloc )) - ((fdrt ((UArray UReal))) (fdname sho) (fdsuffix FnPlain) + ((fdrt ((UArray UReal))) (fdname sho) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable t UReal) (AutoDiffable y (UArray UReal)) (AutoDiffable theta (UArray UReal)) (DataOnly x (UArray UReal)) @@ -152,7 +152,8 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_bar0) (fdsuffix FnPlain) (fdargs ()) + ((fdrt (UReal)) (fdname foo_bar0) (fdsuffix FnPlain) (fdcaptures ()) + (fdargs ()) (fdbody (((pattern (Block @@ -163,7 +164,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_bar1) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname foo_bar1) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x UReal))) (fdbody (((pattern @@ -175,7 +176,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_bar2) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname foo_bar2) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x UReal) (AutoDiffable y UReal))) (fdbody (((pattern @@ -187,7 +188,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_lpmf) (fdsuffix (FnLpdf ())) + ((fdrt (UReal)) (fdname foo_lpmf) (fdsuffix (FnLpdf ())) (fdcaptures ()) (fdargs ((AutoDiffable y UInt) (AutoDiffable lambda UReal))) (fdbody (((pattern @@ -199,7 +200,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_lcdf) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname foo_lcdf) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable y UInt) (AutoDiffable lambda UReal))) (fdbody (((pattern @@ -211,7 +212,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_lccdf) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname foo_lccdf) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable y UInt) (AutoDiffable lambda UReal))) (fdbody (((pattern @@ -223,7 +224,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_rng) (fdsuffix FnRng) + ((fdrt (UReal)) (fdname foo_rng) (fdsuffix FnRng) (fdcaptures ()) (fdargs ((AutoDiffable mu UReal) (AutoDiffable sigma UReal))) (fdbody (((pattern @@ -242,7 +243,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ()) (fdname unit_normal_lp) (fdsuffix FnTarget) + ((fdrt ()) (fdname unit_normal_lp) (fdsuffix FnTarget) (fdcaptures ()) (fdargs ((AutoDiffable u UReal))) (fdbody (((pattern @@ -278,7 +279,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UInt)) (fdname foo_1) (fdsuffix FnPlain) + ((fdrt (UInt)) (fdname foo_1) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a UInt))) (fdbody (((pattern @@ -1136,7 +1137,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UInt)) (fdname foo_2) (fdsuffix FnPlain) + ((fdrt (UInt)) (fdname foo_2) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a UInt))) (fdbody (((pattern @@ -1207,7 +1208,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UReal))) (fdname foo_3) (fdsuffix FnPlain) + ((fdrt ((UArray UReal))) (fdname foo_3) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable t UReal) (AutoDiffable n UInt))) (fdbody (((pattern @@ -1227,7 +1228,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_lp) (fdsuffix FnTarget) + ((fdrt (UReal)) (fdname foo_lp) (fdsuffix FnTarget) (fdcaptures ()) (fdargs ((AutoDiffable x UReal))) (fdbody (((pattern @@ -1246,7 +1247,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ()) (fdname foo_4) (fdsuffix FnPlain) + ((fdrt ()) (fdname foo_4) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x UReal))) (fdbody (((pattern @@ -1260,7 +1261,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname relative_diff) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname relative_diff) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x UReal) (AutoDiffable y UReal) (AutoDiffable max_ UReal) (AutoDiffable min_ UReal))) @@ -1425,7 +1426,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname foo_5) (fdsuffix FnPlain) + ((fdrt (UVector)) (fdname foo_5) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable shared_params UVector) (AutoDiffable job_params UVector) (DataOnly data_r (UArray UReal)) (DataOnly data_i (UArray UInt)))) @@ -1453,7 +1454,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname foo_five_args) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname foo_five_args) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x1 UReal) (AutoDiffable x2 UReal) (AutoDiffable x3 UReal) (AutoDiffable x4 UReal) (AutoDiffable x5 UReal))) @@ -1468,6 +1469,7 @@ (meta )))) (fdloc )) ((fdrt (UReal)) (fdname foo_five_args_lp) (fdsuffix FnTarget) + (fdcaptures ()) (fdargs ((AutoDiffable x1 UReal) (AutoDiffable x2 UReal) (AutoDiffable x3 UReal) (AutoDiffable x4 UReal) (AutoDiffable x5 UReal) @@ -1483,6 +1485,7 @@ (meta )))) (fdloc )) ((fdrt (UMatrix)) (fdname covsqrt2corsqrt) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable mat UMatrix) (AutoDiffable invert UInt))) (fdbody (((pattern @@ -1581,7 +1584,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ()) (fdname f0) (fdsuffix FnPlain) + ((fdrt ()) (fdname f0) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1601,7 +1604,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UInt)) (fdname f1) (fdsuffix FnPlain) + ((fdrt (UInt)) (fdname f1) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1621,7 +1624,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UInt))) (fdname f2) (fdsuffix FnPlain) + ((fdrt ((UArray UInt))) (fdname f2) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1643,6 +1646,7 @@ (meta )))) (fdloc )) ((fdrt ((UArray (UArray UInt)))) (fdname f3) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1664,7 +1668,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname f4) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname f4) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1684,7 +1688,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UReal))) (fdname f5) (fdsuffix FnPlain) + ((fdrt ((UArray UReal))) (fdname f5) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1707,6 +1711,7 @@ (meta )))) (fdloc )) ((fdrt ((UArray (UArray UReal)))) (fdname f6) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1728,7 +1733,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname f7) (fdsuffix FnPlain) + ((fdrt (UVector)) (fdname f7) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1748,7 +1753,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UVector))) (fdname f8) (fdsuffix FnPlain) + ((fdrt ((UArray UVector))) (fdname f8) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1771,6 +1776,7 @@ (meta )))) (fdloc )) ((fdrt ((UArray (UArray UVector)))) (fdname f9) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1792,7 +1798,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UMatrix)) (fdname f10) (fdsuffix FnPlain) + ((fdrt (UMatrix)) (fdname f10) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1812,7 +1818,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ((UArray UMatrix))) (fdname f11) (fdsuffix FnPlain) + ((fdrt ((UArray UMatrix))) (fdname f11) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1835,6 +1841,7 @@ (meta )))) (fdloc )) ((fdrt ((UArray (UArray UMatrix)))) (fdname f12) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable a1 UInt) (AutoDiffable a2 (UArray UInt)) (AutoDiffable a3 (UArray (UArray UInt))) (AutoDiffable a4 UReal) @@ -1856,7 +1863,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt ()) (fdname foo_6) (fdsuffix FnPlain) (fdargs ()) + ((fdrt ()) (fdname foo_6) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ()) (fdbody (((pattern (Block @@ -1917,7 +1924,8 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UMatrix)) (fdname matfoo) (fdsuffix FnPlain) (fdargs ()) + ((fdrt (UMatrix)) (fdname matfoo) (fdsuffix FnPlain) (fdcaptures ()) + (fdargs ()) (fdbody (((pattern (Block @@ -2031,7 +2039,8 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname vecfoo) (fdsuffix FnPlain) (fdargs ()) + ((fdrt (UVector)) (fdname vecfoo) (fdsuffix FnPlain) (fdcaptures ()) + (fdargs ()) (fdbody (((pattern (Block @@ -2077,7 +2086,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname vecmufoo) (fdsuffix FnPlain) + ((fdrt (UVector)) (fdname vecmufoo) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable mu UReal))) (fdbody (((pattern @@ -2109,7 +2118,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname vecmubar) (fdsuffix FnPlain) + ((fdrt (UVector)) (fdname vecmubar) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable mu UReal))) (fdbody (((pattern @@ -2202,6 +2211,7 @@ (meta )))) (fdloc )) ((fdrt (UVector)) (fdname algebra_system) (fdsuffix FnPlain) + (fdcaptures ()) (fdargs ((AutoDiffable x UVector) (AutoDiffable y UVector) (AutoDiffable dat (UArray UReal)) (AutoDiffable dat_int (UArray UInt)))) @@ -2288,7 +2298,7 @@ (meta ))))) (meta )))) (fdloc )) - ((fdrt (UVector)) (fdname binomialf) (fdsuffix FnPlain) + ((fdrt (UVector)) (fdname binomialf) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable phi UVector) (AutoDiffable theta UVector) (DataOnly x_r (UArray UReal)) (DataOnly x_i (UArray UInt)))) @@ -12506,7 +12516,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -12528,7 +12538,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -12556,7 +12566,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -12584,7 +12594,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -12606,7 +12616,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -12634,7 +12644,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -12656,7 +12666,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -13977,7 +13987,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (DataOnly (UArray UReal)) (DataOnly (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var tmp)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -16182,7 +16192,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -16204,7 +16214,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -16232,7 +16242,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x)) (meta ((type_ UVector) (loc ) (adlevel DataOnly)))) @@ -16260,7 +16270,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -16282,7 +16292,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -16310,7 +16320,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) @@ -16332,7 +16342,7 @@ (UFun ((AutoDiffable UVector) (AutoDiffable UVector) (AutoDiffable (UArray UReal)) (AutoDiffable (UArray UInt))) - (ReturnType UVector) FnPlain AoS)) + (ReturnType UVector) (FnPlain false) AoS)) (loc ) (adlevel AutoDiffable)))) ((pattern (Var x_p)) (meta ((type_ UVector) (loc ) (adlevel AutoDiffable)))) diff --git a/test/integration/good/compiler-optimizations/cpp.expected b/test/integration/good/compiler-optimizations/cpp.expected index a46c80023f..349b960243 100644 --- a/test/integration/good/compiler-optimizations/cpp.expected +++ b/test/integration/good/compiler-optimizations/cpp.expected @@ -55,6 +55,24 @@ static constexpr std::array locations_array__ = " (in 'ad-level-failing.stan', line 24, column 4 to column 16)", " (in 'ad-level-failing.stan', line 15, column 31 to line 25, column 3)"}; +template +std::vector> +simple_SIR(const T0__& t, const std::vector& y, + const std::vector& theta, const std::vector& x_r, + const std::vector& x_i, std::ostream* pstream__) ; + +struct simple_SIR_functor__ { +template +std::vector> +operator()(const T0__& t, const std::vector& y, + const std::vector& theta, const std::vector& x_r, + const std::vector& x_i, std::ostream* pstream__) const +{ +return simple_SIR(t, y, theta, x_r, x_i, pstream__); +} +}; template std::vector& y, } } - -struct simple_SIR_functor__ { -template -std::vector> -operator()(const T0__& t, const std::vector& y, - const std::vector& theta, const std::vector& x_r, - const std::vector& x_i, std::ostream* pstream__) const -{ -return simple_SIR(t, y, theta, x_r, x_i, pstream__); -} -}; - class ad_level_failing_model final : public model_base_crtp { private: @@ -152,6 +157,8 @@ class ad_level_failing_model final : public model_base_crtp locations_array__ = " (in 'copy_fail.stan', line 28, column 4 to line 44, column 5)", " (in 'copy_fail.stan', line 45, column 4 to column 15)"}; +int +first_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct first_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return first_capture(y_i, pstream__); +} +}; + +int +last_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct last_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return last_capture(y_i, pstream__); +} +}; + +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p, + const T3__& phi, std::ostream* pstream__) ; + +struct prob_uncaptured_functor__ { +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +operator()(const int& nind, const int& n_occasions, const T2__& p, + const T3__& phi, std::ostream* pstream__) const +{ +return prob_uncaptured(nind, n_occasions, p, phi, pstream__); +} +}; int first_capture(const std::vector& y_i, std::ostream* pstream__) { @@ -941,15 +986,6 @@ first_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct first_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return first_capture(y_i, pstream__); -} -}; - int last_capture(const std::vector& y_i, std::ostream* pstream__) { using local_scalar_t__ = double; @@ -993,15 +1029,6 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct last_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return last_capture(y_i, pstream__); -} -}; - template Eigen::Matrix, stan::value_type_t>, -1, -1> @@ -1123,18 +1150,6 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, } } - -struct prob_uncaptured_functor__ { -template -Eigen::Matrix, -stan::value_type_t>, -1, -1> -operator()(const int& nind, const int& n_occasions, const T2__& p, - const T3__& phi, std::ostream* pstream__) const -{ -return prob_uncaptured(nind, n_occasions, p, phi, pstream__); -} -}; - class copy_fail_model final : public model_base_crtp { private: @@ -1193,6 +1208,8 @@ class copy_fail_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -3071,6 +3088,8 @@ class dce_fail_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -4235,6 +4254,8 @@ class expr_prop_experiment_model final : public model_base_crtp unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -5442,6 +5467,8 @@ class expr_prop_fail2_model final : public model_base_crtp locations_array__ = " (in 'expr-prop-fail5.stan', line 28, column 4 to line 46, column 5)", " (in 'expr-prop-fail5.stan', line 47, column 4 to column 15)"}; +int +first_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct first_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return first_capture(y_i, pstream__); +} +}; + +int +last_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct last_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return last_capture(y_i, pstream__); +} +}; + +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p, + const T3__& phi, std::ostream* pstream__) ; + +struct prob_uncaptured_functor__ { +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +operator()(const int& nind, const int& n_occasions, const T2__& p, + const T3__& phi, std::ostream* pstream__) const +{ +return prob_uncaptured(nind, n_occasions, p, phi, pstream__); +} +}; int first_capture(const std::vector& y_i, std::ostream* pstream__) { @@ -8017,15 +8086,6 @@ first_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct first_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return first_capture(y_i, pstream__); -} -}; - int last_capture(const std::vector& y_i, std::ostream* pstream__) { using local_scalar_t__ = double; @@ -8069,15 +8129,6 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct last_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return last_capture(y_i, pstream__); -} -}; - template Eigen::Matrix, stan::value_type_t>, -1, -1> @@ -8207,18 +8258,6 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, } } - -struct prob_uncaptured_functor__ { -template -Eigen::Matrix, -stan::value_type_t>, -1, -1> -operator()(const int& nind, const int& n_occasions, const T2__& p, - const T3__& phi, std::ostream* pstream__) const -{ -return prob_uncaptured(nind, n_occasions, p, phi, pstream__); -} -}; - class expr_prop_fail5_model final : public model_base_crtp { private: @@ -8268,6 +8307,8 @@ class expr_prop_fail5_model final : public model_base_crtp locations_array__ = " (in 'expr-prop-fail6.stan', line 86, column 4 to line 142, column 5)", " (in 'expr-prop-fail6.stan', line 81, column 42 to line 143, column 3)"}; +int +first_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct first_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return first_capture(y_i, pstream__); +} +}; + +int +last_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct last_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return last_capture(y_i, pstream__); +} +}; + +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +prob_uncaptured(const T0__& p, const T1__& phi, std::ostream* pstream__) ; + +struct prob_uncaptured_functor__ { +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +operator()(const T0__& p, const T1__& phi, std::ostream* pstream__) const +{ +return prob_uncaptured(p, phi, pstream__); +} +}; + +template +void +js_super_lp(const std::vector>& y, + const std::vector& first, const std::vector& last, + const T3__& p, const T4__& phi, const T5__& psi, const T6__& nu, + const T7__& chi, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) ; + +struct js_super_lp_functor__ { +template +void +operator()(const std::vector>& y, + const std::vector& first, const std::vector& last, + const T3__& p, const T4__& phi, const T5__& psi, const T6__& nu, + const T7__& chi, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) const +{ +return js_super_lp(y, first, last, p, phi, psi, nu, chi, lp__, + lp_accum__, pstream__); +} +}; int first_capture(const std::vector& y_i, std::ostream* pstream__) { @@ -10147,15 +10248,6 @@ first_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct first_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return first_capture(y_i, pstream__); -} -}; - int last_capture(const std::vector& y_i, std::ostream* pstream__) { using local_scalar_t__ = double; @@ -10199,15 +10291,6 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct last_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return last_capture(y_i, pstream__); -} -}; - template Eigen::Matrix, stan::value_type_t>, -1, -1> @@ -10330,17 +10413,6 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, } } - -struct prob_uncaptured_functor__ { -template -Eigen::Matrix, -stan::value_type_t>, -1, -1> -operator()(const T0__& p, const T1__& phi, std::ostream* pstream__) const -{ -return prob_uncaptured(p, phi, pstream__); -} -}; - template void @@ -10788,22 +10860,6 @@ js_super_lp(const std::vector>& y, } } - -struct js_super_lp_functor__ { -template -void -operator()(const std::vector>& y, - const std::vector& first, const std::vector& last, - const T3__& p, const T4__& phi, const T5__& psi, const T6__& nu, - const T7__& chi, T_lp__& lp__, T_lp_accum__& lp_accum__, - std::ostream* pstream__) const -{ -return js_super_lp(y, first, last, p, phi, psi, nu, chi, lp__, - lp_accum__, pstream__); -} -}; - class expr_prop_fail6_model final : public model_base_crtp { private: @@ -10853,6 +10909,8 @@ class expr_prop_fail6_model final : public model_base_crtp locations_array__ = " (in 'fails-test.stan', line 28, column 4 to line 44, column 5)", " (in 'fails-test.stan', line 45, column 4 to column 15)"}; +int +first_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct first_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return first_capture(y_i, pstream__); +} +}; + +int +last_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct last_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return last_capture(y_i, pstream__); +} +}; + +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p, + const T3__& phi, std::ostream* pstream__) ; + +struct prob_uncaptured_functor__ { +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +operator()(const int& nind, const int& n_occasions, const T2__& p, + const T3__& phi, std::ostream* pstream__) const +{ +return prob_uncaptured(nind, n_occasions, p, phi, pstream__); +} +}; int first_capture(const std::vector& y_i, std::ostream* pstream__) { @@ -15321,15 +15421,6 @@ first_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct first_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return first_capture(y_i, pstream__); -} -}; - int last_capture(const std::vector& y_i, std::ostream* pstream__) { using local_scalar_t__ = double; @@ -15373,15 +15464,6 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct last_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return last_capture(y_i, pstream__); -} -}; - template Eigen::Matrix, stan::value_type_t>, -1, -1> @@ -15503,18 +15585,6 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, } } - -struct prob_uncaptured_functor__ { -template -Eigen::Matrix, -stan::value_type_t>, -1, -1> -operator()(const int& nind, const int& n_occasions, const T2__& p, - const T3__& phi, std::ostream* pstream__) const -{ -return prob_uncaptured(nind, n_occasions, p, phi, pstream__); -} -}; - class fails_test_model final : public model_base_crtp { private: @@ -15573,6 +15643,8 @@ class fails_test_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -17476,6 +17548,79 @@ static constexpr std::array locations_array__ = " (in 'inlining-fail2.stan', line 152, column 4 to line 155, column 5)", " (in 'inlining-fail2.stan', line 156, column 4 to column 26)"}; +int +first_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct first_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return first_capture(y_i, pstream__); +} +}; + +int +last_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct last_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return last_capture(y_i, pstream__); +} +}; + +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +prob_uncaptured(const T0__& p, const T1__& phi, std::ostream* pstream__) ; + +struct prob_uncaptured_functor__ { +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +operator()(const T0__& p, const T1__& phi, std::ostream* pstream__) const +{ +return prob_uncaptured(p, phi, pstream__); +} +}; + +template +void +jolly_seber_lp(const std::vector>& y, + const std::vector& first, const std::vector& last, + const T3__& p, const T4__& phi, const T5__& gamma, + const T6__& chi, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) ; + +struct jolly_seber_lp_functor__ { +template +void +operator()(const std::vector>& y, + const std::vector& first, const std::vector& last, + const T3__& p, const T4__& phi, const T5__& gamma, + const T6__& chi, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) const +{ +return jolly_seber_lp(y, first, last, p, phi, gamma, chi, lp__, + lp_accum__, pstream__); +} +}; + +template +Eigen::Matrix>, -1, 1> +seq_cprob(const T0__& gamma, std::ostream* pstream__) ; + +struct seq_cprob_functor__ { +template +Eigen::Matrix>, -1, 1> +operator()(const T0__& gamma, std::ostream* pstream__) const +{ +return seq_cprob(gamma, pstream__); +} +}; int first_capture(const std::vector& y_i, std::ostream* pstream__) { @@ -17514,15 +17659,6 @@ first_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct first_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return first_capture(y_i, pstream__); -} -}; - int last_capture(const std::vector& y_i, std::ostream* pstream__) { using local_scalar_t__ = double; @@ -17566,15 +17702,6 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct last_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return last_capture(y_i, pstream__); -} -}; - template Eigen::Matrix, stan::value_type_t>, -1, -1> @@ -17692,22 +17819,11 @@ prob_uncaptured(const T0__& p_arg__, const T1__& phi_arg__, current_statement__ = 137; return chi; } - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } - -} - -struct prob_uncaptured_functor__ { -template -Eigen::Matrix, -stan::value_type_t>, -1, -1> -operator()(const T0__& p, const T1__& phi, std::ostream* pstream__) const -{ -return prob_uncaptured(p, phi, pstream__); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } -}; - template void @@ -18149,22 +18265,6 @@ jolly_seber_lp(const std::vector>& y, } } - -struct jolly_seber_lp_functor__ { -template -void -operator()(const std::vector>& y, - const std::vector& first, const std::vector& last, - const T3__& p, const T4__& phi, const T5__& gamma, - const T6__& chi, T_lp__& lp__, T_lp_accum__& lp_accum__, - std::ostream* pstream__) const -{ -return jolly_seber_lp(y, first, last, p, phi, gamma, chi, lp__, - lp_accum__, pstream__); -} -}; - template Eigen::Matrix>, -1, 1> seq_cprob(const T0__& gamma_arg__, std::ostream* pstream__) { @@ -18221,16 +18321,6 @@ seq_cprob(const T0__& gamma_arg__, std::ostream* pstream__) { } } - -struct seq_cprob_functor__ { -template -Eigen::Matrix>, -1, 1> -operator()(const T0__& gamma, std::ostream* pstream__) const -{ -return seq_cprob(gamma, pstream__); -} -}; - class inlining_fail2_model final : public model_base_crtp { private: @@ -18281,6 +18371,8 @@ class inlining_fail2_model final : public model_base_crtp unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -20725,6 +20817,8 @@ class lcm_experiment_model final : public model_base_crtp unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -21075,6 +21169,8 @@ class lcm_experiment2_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -21833,6 +21931,44 @@ static constexpr std::array locations_array__ = " (in 'lcm-fails2.stan', line 28, column 4 to line 44, column 5)", " (in 'lcm-fails2.stan', line 45, column 4 to column 15)"}; +int +first_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct first_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return first_capture(y_i, pstream__); +} +}; + +int +last_capture(const std::vector& y_i, std::ostream* pstream__) ; + +struct last_capture_functor__ { +int +operator()(const std::vector& y_i, std::ostream* pstream__) const +{ +return last_capture(y_i, pstream__); +} +}; + +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p, + const T3__& phi, std::ostream* pstream__) ; + +struct prob_uncaptured_functor__ { +template +Eigen::Matrix, +stan::value_type_t>, -1, -1> +operator()(const int& nind, const int& n_occasions, const T2__& p, + const T3__& phi, std::ostream* pstream__) const +{ +return prob_uncaptured(nind, n_occasions, p, phi, pstream__); +} +}; int first_capture(const std::vector& y_i, std::ostream* pstream__) { @@ -21871,15 +22007,6 @@ first_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct first_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return first_capture(y_i, pstream__); -} -}; - int last_capture(const std::vector& y_i, std::ostream* pstream__) { using local_scalar_t__ = double; @@ -21923,15 +22050,6 @@ last_capture(const std::vector& y_i, std::ostream* pstream__) { } } - -struct last_capture_functor__ { -int -operator()(const std::vector& y_i, std::ostream* pstream__) const -{ -return last_capture(y_i, pstream__); -} -}; - template Eigen::Matrix, stan::value_type_t>, -1, -1> @@ -22053,18 +22171,6 @@ prob_uncaptured(const int& nind, const int& n_occasions, const T2__& p_arg__, } } - -struct prob_uncaptured_functor__ { -template -Eigen::Matrix, -stan::value_type_t>, -1, -1> -operator()(const int& nind, const int& n_occasions, const T2__& p, - const T3__& phi, std::ostream* pstream__) const -{ -return prob_uncaptured(nind, n_occasions, p, phi, pstream__); -} -}; - class lcm_fails2_model final : public model_base_crtp { private: @@ -22114,6 +22220,8 @@ class lcm_fails2_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -23705,6 +23813,46 @@ static constexpr std::array locations_array__ = " (in 'lupdf-inlining.stan', line 6, column 8 to column 35)", " (in 'lupdf-inlining.stan', line 9, column 8 to column 32)"}; +template +stan::promote_args_t +foo_lpdf(const T0__& x, const T1__& mu, std::ostream* pstream__) ; + +struct foo_lpdf_functor__ { +template +stan::promote_args_t +operator()(const T0__& x, const T1__& mu, std::ostream* pstream__) const +{ +return foo_lpdf(x, mu, pstream__); +} +}; + +template +stan::promote_args_t +bar_lpmf(const int& n, const T1__& mu, std::ostream* pstream__) ; + +struct bar_lpmf_functor__ { +template +stan::promote_args_t +operator()(const int& n, const T1__& mu, std::ostream* pstream__) const +{ +return bar_lpmf(n, mu, pstream__); +} +}; + +template +stan::promote_args_t +baz_lpdf(const T0__& x, std::ostream* pstream__) ; + +struct baz_lpdf_functor__ { +template +stan::promote_args_t +operator()(const T0__& x, std::ostream* pstream__) const +{ +return baz_lpdf(x, pstream__); +} +}; template stan::promote_args_t -stan::promote_args_t -operator()(const T0__& x, const T1__& mu, std::ostream* pstream__) const -{ -return foo_lpdf(x, mu, pstream__); -} -}; - template stan::promote_args_t bar_lpmf(const int& n, const T1__& mu, std::ostream* pstream__) { @@ -23754,16 +23891,6 @@ bar_lpmf(const int& n, const T1__& mu, std::ostream* pstream__) { } } - -struct bar_lpmf_functor__ { -template -stan::promote_args_t -operator()(const int& n, const T1__& mu, std::ostream* pstream__) const -{ -return bar_lpmf(n, mu, pstream__); -} -}; - template stan::promote_args_t baz_lpdf(const T0__& x, std::ostream* pstream__) { @@ -23782,16 +23909,6 @@ baz_lpdf(const T0__& x, std::ostream* pstream__) { } } - -struct baz_lpdf_functor__ { -template -stan::promote_args_t -operator()(const T0__& x, std::ostream* pstream__) const -{ -return baz_lpdf(x, pstream__); -} -}; - class lupdf_inlining_model final : public model_base_crtp { private: @@ -23812,6 +23929,8 @@ class lupdf_inlining_model final : public model_base_crtp unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -24318,6 +24437,8 @@ class off_dce_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -25224,6 +25345,8 @@ class off_small_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -26078,6 +26201,46 @@ static constexpr std::array locations_array__ = " (in 'optimizations.stan', line 11, column 8 to column 21)", " (in 'optimizations.stan', line 16, column 8 to column 18)"}; +template +void +nrfun_lp(const T0__& x, const int& y, T_lp__& lp__, T_lp_accum__& lp_accum__, + std::ostream* pstream__) ; + +struct nrfun_lp_functor__ { +template +void +operator()(const T0__& x, const int& y, T_lp__& lp__, + T_lp_accum__& lp_accum__, std::ostream* pstream__) const +{ +return nrfun_lp(x, y, lp__, lp_accum__, pstream__); +} +}; + +int +rfun(const int& y, std::ostream* pstream__) ; + +struct rfun_functor__ { +int +operator()(const int& y, std::ostream* pstream__) const +{ +return rfun(y, pstream__); +} +}; + +template +int +rfun_lp(T_lp__& lp__, T_lp_accum__& lp_accum__, std::ostream* pstream__) ; + +struct rfun_lp_functor__ { +template +int +operator()(T_lp__& lp__, T_lp_accum__& lp_accum__, std::ostream* pstream__) const +{ +return rfun_lp(lp__, lp_accum__, pstream__); +} +}; template @@ -26104,18 +26267,6 @@ nrfun_lp(const T0__& x, const int& y, T_lp__& lp__, T_lp_accum__& lp_accum__, } } - -struct nrfun_lp_functor__ { -template -void -operator()(const T0__& x, const int& y, T_lp__& lp__, - T_lp_accum__& lp_accum__, std::ostream* pstream__) const -{ -return nrfun_lp(x, y, lp__, lp_accum__, pstream__); -} -}; - int rfun(const int& y, std::ostream* pstream__) { using local_scalar_t__ = double; @@ -26142,15 +26293,6 @@ rfun(const int& y, std::ostream* pstream__) { } } - -struct rfun_functor__ { -int -operator()(const int& y, std::ostream* pstream__) const -{ -return rfun(y, pstream__); -} -}; - template int rfun_lp(T_lp__& lp__, T_lp_accum__& lp_accum__, std::ostream* pstream__) { @@ -26170,16 +26312,6 @@ rfun_lp(T_lp__& lp__, T_lp_accum__& lp_accum__, std::ostream* pstream__) { } } - -struct rfun_lp_functor__ { -template -int -operator()(T_lp__& lp__, T_lp_accum__& lp_accum__, std::ostream* pstream__) const -{ -return rfun_lp(lp__, lp_accum__, pstream__); -} -}; - class optimizations_model final : public model_base_crtp { private: @@ -26200,6 +26332,8 @@ class optimizations_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -27266,6 +27400,8 @@ class partial_eval_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); @@ -28005,6 +28141,8 @@ class stalled1_failure_model final : public model_base_crtp { unsigned int random_seed__ = 0, std::ostream* pstream__ = nullptr) : model_base_crtp(0) { int current_statement__ = 0; + static constexpr bool propto__ = true; + (void) propto__; using local_scalar_t__ = double ; boost::ecuyer1988 base_rng__ = stan::services::util::create_rng(random_seed__, 0); diff --git a/test/unit/Optimize.ml b/test/unit/Optimize.ml index e4b27a36fd..61c800a14c 100644 --- a/test/unit/Optimize.ml +++ b/test/unit/Optimize.ml @@ -246,7 +246,7 @@ let%expect_test "list collapsing" = [%expect {| ((functions_block - (((fdrt ()) (fdname f) (fdsuffix FnPlain) + (((fdrt ()) (fdname f) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable x UInt) (AutoDiffable y UMatrix))) (fdbody (((pattern @@ -263,7 +263,7 @@ let%expect_test "list collapsing" = (meta ))))) (meta )))) (fdloc )) - ((fdrt (UReal)) (fdname g) (fdsuffix FnPlain) + ((fdrt (UReal)) (fdname g) (fdsuffix FnPlain) (fdcaptures ()) (fdargs ((AutoDiffable z UInt))) (fdbody (((pattern diff --git a/test/unit/Stan_math_code_gen_tests.ml b/test/unit/Stan_math_code_gen_tests.ml index eba9bad218..31cc3a0922 100644 --- a/test/unit/Stan_math_code_gen_tests.ml +++ b/test/unit/Stan_math_code_gen_tests.ml @@ -4,15 +4,20 @@ open Core_kernel open Fmt open Stan_math_code_gen +let pp_fun_def ppf b = + pp_forward_decl String.Set.empty ppf b ; + cut ppf () ; + match get_impl b with Some b -> pp_function_body ppf b | None -> () + let%expect_test "udf" = let with_no_loc stmt = Stmt.Fixed.{pattern= stmt; meta= Locations.no_span_num} in let w e = Expr.{Fixed.pattern= e; meta= Typed.Meta.empty} in - let pp_fun_def_w_rs a b = pp_fun_def a b String.Set.empty String.Set.empty in { fdrt= None ; fdname= "sars" ; fdsuffix= FnPlain + ; fdcaptures= None ; fdargs= [(DataOnly, "x", UMatrix); (AutoDiffable, "y", URowVector)] ; fdbody= Stmt.Fixed.Pattern.Return @@ -24,48 +29,51 @@ let%expect_test "udf" = |> with_no_loc |> List.return |> Stmt.Fixed.Pattern.Block |> with_no_loc |> Some ; fdloc= Location_span.empty } - |> strf "@[%a" pp_fun_def_w_rs - |> print_endline ; + |> strf "@[%a" pp_fun_def |> print_endline ; [%expect {| - template - void - sars(const T0__& x_arg__, const T1__& y_arg__, std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - stan::value_type_t>; - int current_statement__ = 0; - const auto& x = to_ref(x_arg__); - const auto& y = to_ref(y_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - return add(x, 1); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } +template +void +sars(const T0__& x, const T1__& y, std::ostream* pstream__) ; + +struct sars_functor__ { +template +void +operator()(const T0__& x, const T1__& y, std::ostream* pstream__) const +{ +return sars(x, y, pstream__); +} +}; - } +template +void +sars(const T0__& x_arg__, const T1__& y_arg__, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t>; + int current_statement__ = 0; + const auto& x = to_ref(x_arg__); + const auto& y = to_ref(y_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + return add(x, 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } - struct sars_functor__ { - template - void - operator()(const T0__& x, const T1__& y, std::ostream* pstream__) const - { - return sars(x, y, pstream__); - } - }; |}] +} |}] let%expect_test "udf-expressions" = let with_no_loc stmt = Stmt.Fixed.{pattern= stmt; meta= Locations.no_span_num} in let w e = Expr.{Fixed.pattern= e; meta= Typed.Meta.empty} in - let pp_fun_def_w_rs a b = pp_fun_def a b String.Set.empty String.Set.empty in { fdrt= Some UMatrix ; fdname= "sars" ; fdsuffix= FnPlain + ; fdcaptures= None ; fdargs= [ (DataOnly, "x", UMatrix) ; (AutoDiffable, "y", URowVector) @@ -81,46 +89,101 @@ let%expect_test "udf-expressions" = |> with_no_loc |> List.return |> Stmt.Fixed.Pattern.Block |> with_no_loc |> Some ; fdloc= Location_span.empty } - |> strf "@[%a" pp_fun_def_w_rs - |> print_endline ; + |> strf "@[%a" pp_fun_def |> print_endline ; [%expect {| - template - Eigen::Matrix, stan::value_type_t, - stan::value_type_t, - T3__>, -1, -1> - sars(const T0__& x_arg__, const T1__& y_arg__, const T2__& z_arg__, - const std::vector>& w, - std::ostream* pstream__) { - using local_scalar_t__ = stan::promote_args_t, - stan::value_type_t, - stan::value_type_t, - T3__>; - int current_statement__ = 0; - const auto& x = to_ref(x_arg__); - const auto& y = to_ref(y_arg__); - const auto& z = to_ref(z_arg__); - static constexpr bool propto__ = true; - (void) propto__; - local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); - (void) DUMMY_VAR__; // suppress unused var warning - try { - return add(x, 1); - } catch (const std::exception& e) { - stan::lang::rethrow_located(e, locations_array__[current_statement__]); - } +template +Eigen::Matrix, stan::value_type_t, +stan::value_type_t, +T3__>, -1, -1> +sars(const T0__& x, const T1__& y, const T2__& z, + const std::vector>& w, + std::ostream* pstream__) ; + +struct sars_functor__ { +template +Eigen::Matrix, stan::value_type_t, +stan::value_type_t, +T3__>, -1, -1> +operator()(const T0__& x, const T1__& y, const T2__& z, + const std::vector>& w, + std::ostream* pstream__) const +{ +return sars(x, y, z, w, pstream__); +} +}; - } +template +Eigen::Matrix, stan::value_type_t, +stan::value_type_t, +T3__>, -1, -1> +sars(const T0__& x_arg__, const T1__& y_arg__, const T2__& z_arg__, + const std::vector>& w, + std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t, + stan::value_type_t, + T3__>; + int current_statement__ = 0; + const auto& x = to_ref(x_arg__); + const auto& y = to_ref(y_arg__); + const auto& z = to_ref(z_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + return add(x, 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + +} |}] + +let%expect_test "closure" = + let with_no_loc stmt = + Stmt.Fixed.{pattern= stmt; meta= Locations.no_span_num} + in + let w e = Expr.{Fixed.pattern= e; meta= Typed.Meta.empty} in + { fdrt= None + ; fdname= "sars" + ; fdsuffix= FnPlain + ; fdcaptures= + Some + [(Ref, DataOnly, "x", UMatrix); (Copy, AutoDiffable, "y", URowVector)] + ; fdargs= [] + ; fdbody= + Stmt.Fixed.Pattern.Return + (Some + ( w + @@ FunApp + ( StanLib ("add", FnPlain, Common.Helpers.AoS) + , [w @@ Var "x"; w @@ Lit (Int, "1")] ) )) + |> with_no_loc |> List.return |> Stmt.Fixed.Pattern.Block |> with_no_loc + |> Some + ; fdloc= Location_span.empty } + |> strf "@[%a" pp_fun_def |> print_endline ; + [%expect + {| +template +void +sars_impl__(const T0__& x, const T1__& y, std::ostream* pstream__) ; +template +void +sars_impl__(const T0__& x_arg__, const T1__& y_arg__, std::ostream* pstream__) { + using local_scalar_t__ = stan::promote_args_t, + stan::value_type_t>; + int current_statement__ = 0; + const auto& x = to_ref(x_arg__); + const auto& y = to_ref(y_arg__); + static constexpr bool propto__ = true; + (void) propto__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + return add(x, 1); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } - struct sars_functor__ { - template - Eigen::Matrix, stan::value_type_t, - stan::value_type_t, - T3__>, -1, -1> - operator()(const T0__& x, const T1__& y, const T2__& z, - const std::vector>& w, - std::ostream* pstream__) const - { - return sars(x, y, z, w, pstream__); - } - }; |}] +} |}]